홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송 메인홈 1대1상담
운.영.자.1대1.상담
온라이브음악방송
온라이브스토어(앱다운로드)
아리랑가요(무료음악채널)
뽕짝아가씨(무료음악채널)
okTrot(무료음악채널)
전통가요(무료음악채널)

환상의뽕짝파티 무료음악
명작트로트메들리 무료음악
트로트메들리관광 무료음악
보안∵서버∵쿠키
윈도우∵프레임
이미지∵배경
시간∵달력∵계산
상태바∵타이틀바
음악∵영상
폼∵전송∵테이블
키보드∵마우스
효과∵링크∵메뉴
Script∵php
기타
PHP 강좌
윈도우관련팁
웹관련팁
홈페이지제작팁
기본강좌
레지스트리
윈도우서버
리눅스서버
Android
안드로이드에서 audio player 실행하기
3년 전
package  co.avilos.sampleaudioplayer;

import  android.app.Activity;
import  android.media.MediaPlayer;
import  android.os.Bundle;
import  android.support.v4.app.Fragment;
import  android.view.LayoutInflater;
import  android.view.View;
import  android.view.ViewGroup;
import  android.widget.Button;
import  android.widget.CheckBox;
import  android.widget.EditText;
import  android.widget.Toast;


/**
  *  A  placeholder  fragment  containing  a  simple  view.
  */
public  class  MainActivityFragment  extends  Fragment  {

        private  MediaPlayer  mp;          //  미디어  플레이어  객체
        private  EditText  audioPath;
        private  CheckBox  loopControl;
        private  Button  PlayPause;
        private  Button  Stop;
        private  Button  Load;

        public  MainActivityFragment()  {
        }

        //  Fragment  call1
        @Override
        public  void  onAttach(Activity  activity)  {
                super.onAttach(activity);
        }

        //  Fragment  call2
        @Override
        public  void  onCreate(Bundle  savedInstanceState)  {
                super.onCreate(savedInstanceState);

        }

        //  Fragment  call3
        @Override
        public  View  onCreateView(LayoutInflater  inflater,  ViewGroup  container,
                                                          Bundle  savedInstanceState)  {
                //return  inflater.inflate(R.layout.fragment_main,  container,  false);

                View  view  =  inflater.inflate(R.layout.fragment_main,  container,  false);

                //  오디오  플레이어에  관련된  EditText,  Button로딩
                audioPath  =  (EditText)view.findViewById(R.id.srcEdit);
                loopControl  =  (CheckBox)view.findViewById(R.id.setLoop);
                PlayPause  =  (Button)view.findViewById(R.id.playBtn);
                Stop  =  (Button)view.findViewById(R.id.stopBtn);
                Load  =  (Button)view.findViewById(R.id.loadBtn);

                //  파일  불러오기  버튼에  대한  리스너등록
                Load.setOnClickListener(new  View.OnClickListener()  {
                        //  Load버튼을  클릭시
                        @Override
                        public  void  onClick(View  v)  {
                                //  오디오  파일  불러오기
                                if  (!loadAudio(audioPath.getText().toString()))  {
                                        //  오디오  파일  로딩에  실패시
                                        Toast.makeText(getActivity().getBaseContext(),  "파일  불러오기에  실패했습니다.",  Toast.LENGTH_LONG).show();
                                        return;
                                }

                                //  파일  Path  입력란을  비활성화한다.
                                audioPath.setEnabled(false);

                                //  시작,  정지  버튼  활성화
                                PlayPause.setEnabled(true);
                                Stop.setEnabled(true);

                                //  반복  재생  버튼을  활성화
                                loopControl.setEnabled(true);

                                //  로드버튼을  비활성화
                                Load.setEnabled(false);

                                Toast.makeText(getActivity().getBaseContext(),  "파일  :  "+audioPath.getText().toString()+"로드가  완료되었습니다.",Toast.LENGTH_LONG).show();
                        }
                });


                //  재생  반복  여부  선택  버튼에  대한  리스너  등록
                loopControl.setOnClickListener(new  View.OnClickListener()  {
                        @Override
                        public  void  onClick(View  v)  {
                                if(loopControl.isChecked()){
                                        //  체크박스를  체크하면  반복을  활성화
                                        mp.setLooping(true);
                                        Toast.makeText(getActivity().getBaseContext(),  "반복  활성화됨",  Toast.LENGTH_SHORT).show();
                                }else{
                                        //  반복을  비활성화한다.
                                        mp.setLooping(false);
                                        Toast.makeText(getActivity().getBaseContext(),"반복  해제됨",  Toast.LENGTH_SHORT).show();
                                }
                        }
                });

                //  재생/일시정지  버튼에  대한  리스너  등록
                PlayPause.setOnClickListener(new  View.OnClickListener()  {
                        @Override
                        public  void  onClick(View  v)  {
                                if(PlayPauseAudio()  ==  0){            //  재생시
                                        PlayPause.setText("일시정지");                    //  버튼의  캡션을  일시정지로  변경
                                }else{                                                    //  일시정지
                                        PlayPause.setText("재생");                        //  버튼의  캡션을  재생으로  변경
                                }
                        }
                });

                //  정지버튼에  대한  리스너  등록
                Stop.setOnClickListener(new  View.OnClickListener(){
                        @Override
                        public  void  onClick(View  v)  {
                                mp.stop();            //  정지

                                //  정지가  되면,  Load버튼을  눌러  파일을  prepare  해야  하므로,  설정값들을  초기화  한다.
                                audioPath.setEnabled(true);          //  비활성화  되었던  입력값을  활성화
                                PlayPause.setText("재생");
                                loopControl.setChecked(false);
                                PlayPause.setEnabled(false);
                                Stop.setEnabled(false);
                                loopControl.setEnabled(false);
                                Load.setEnabled(true);
                        }
                });

                return  view;
        }

        //  Fragment  call4
        @Override
        public  void  onViewCreated(View  view,  Bundle  savedInstanceState)  {
                super.onViewCreated(view,  savedInstanceState);
        }

        //  Fragment  call5
        @Override
        public  void  onActivityCreated(Bundle  savedInstanceState)  {
                super.onActivityCreated(savedInstanceState);
        }

        //  Fragment  call6
        @Override
        public  void  onStart()  {
                super.onStart();
        }

        //  Fragment  call7
        @Override
        public  void  onResume()  {
                super.onResume();
        }

        //  Fragment  call8
        @Override
        public  void  onPause()  {
                super.onPause();
        }

        //  Fragment  call9
        @Override
        public  void  onStop()  {
                super.onStop();
        }

        //  Fragment  call10
        @Override
        public  void  onDestroyView()  {
                super.onDestroyView();

        }

        //  Fragment  call11
        @Override
        public  void  onDestroy()  {
                super.onDestroy();

                if(mp!=null){
                        mp.release();              //  MediaPlayer  객체를  Release한다.
                        mp  =  null;
                }
        }

        //  Fragment  call12
        @Override
        public  void  onDetach()  {
                super.onDetach();
        }



        //  Play  &  Pause  상태  변경
        private  int  PlayPauseAudio(){
                if(!mp.isPlaying()){                //  재생중이  아니라면
                        mp.start();                          //  파일을  재생한다.
                        Toast.makeText(getActivity().getBaseContext(),  "재생",  Toast.LENGTH_SHORT).show();
                        return  0;
                }else{                                            //  재생중이라면
                        mp.pause();                          //  일시정지
                        Toast.makeText(getActivity().getBaseContext(),"일시정지",  Toast.LENGTH_SHORT).show();
                        return  1;
                }
        }

        //  오디오  파일  로드
        private  boolean  loadAudio(String  path){          //  오디오  파일  로딩
                mp  =  new  MediaPlayer();          //  MediaPlayer  객체  생성
                try{
                        mp.setDataSource(path);
                        mp.prepare();                      //  파일을  준비
                        return  true;
                }catch(Exception  e){                //  오디오  파일  로딩에  실패시
                        Toast.makeText(getActivity().getBaseContext(),  e.getMessage(),  Toast.LENGTH_SHORT).show();
                        return  false;
                }
        }
}
추천추천 : 113 추천 목록
번호 제목
1,320
 윈도우 10 기본 앱 삭제 및 복구
1,319
 meta 태그 http-equiv 설정방법과 차이점
1,318
 구글(Google)검색에서 고급연산자를 이용하여 많은 정보를 얻는 방법
1,317
 프로그램 없이 하드디스크 복사 및 백업하기
1,316
 Windows7 업데이트 기록 삭제방법
1,315
 포토샵 psd 파일 연결 레지스트리(registry) 편집
1,314
 윈도 10 최신 업데이트 후 인터넷 속도의 저하가 발생할 때 조치 사항
1,313
 Autotuning level 해제 (윈도우비스타 이상 윈도우)인터넷 속도 빠르게 하는 방법
1,312
 윈도우에서 특정프로세스를 일괄 종료하는법
1,311
 MediaPlayer 클래스 사용법
 안드로이드에서 audio player 실행하기
1,309
 [Android] MediaPlayer 음악재생기 만들기
1,308
 Eclipse와 Android NDK 연동하기
1,307
 Android Sliding Drawer Functionality 안드로이드 슬라이딩 드로우 예제 sample
1,306
 Android Speech To Text
1,305
 Android WebPageLoader with progress-bar
1,304
 Android Text To Speech(TTS)
1,303
 Android Playing Audio from a web url
1,302
 Button height different from background height in Android image design
1,301
 Android Getting Started with Material Design
1,300
 Using toast inside timertask perfect
1,299
 네트워크 상태 [Android]
1,298
 Webview source [Android]
1,297
 공유 Intent [Android]
1,296
 intent uri 모음 [Android]
목록
추억의가요방(가사포함)
인기절정뽕짝파티
인기트로트모음
지루박디스코메들리
밤무대애창곡
전자올겐경음악
세월따라노래따라
가슴시린트로트
트로트쌍쌍파티
7080추억속으로
종합성인가요방
못잊을옛날노래
카바레 음악
트롯디스코팡팡
관광 메들리
트롯카페
가요감상실
추억의옛노래
스페셜가요광장
BillBoard Free
추천가요모음
경음악.전자올겐
스페셜음악여행
WOLRD POPs
K-POP\BillBoard
POP TOP BEST

최신인기가요특집
추천가요\인기
F뮤직 인기\발라드
F뮤직 애창\트로트
트로트성인가요
인기가요
프리미엄 POP
경음악\기타
프리미엄 최신가요
프리미엄 성인가요
뮤직트로트 부산광역시부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.