[Android MediaPlayer #1] 기본 사용법

Posted by [하늘이]
2010. 11. 24. 14:54 IT/Android[안드로이드]
반응형

 MediaPlayer Class 기본 사용
exception은 함수별로 다양하게 발생될수 있으니 api 가이드를 참조하기 바람.
여러개의 Exception 을 지금은 그냥 간단히 하나의 exception으로 처리하고 넘어간다.

 Import 해야되는 class
android.media.MediaPlayer;

@기본 Play and Stop
// 객체생성
mMediaplayer = new MediaPlayer();

// reset data.
mMediaplayer.reset();

// Set Data that will be played. 
try {
    mMediaplayer.setDataSource("/sdcard/music/test.mp3");
} catch (Exception e) {
   e.printStackTrace();

setDataSource 메서드는 uri, file path, filediscriptor등 여러가지 타입을 input으로 가진다.

IllegalStateException if it is called in an invalid state
IOException
IllegalArgumentException

 

// prepare
  try {
   mMediaplayer.prepare();
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

// Start the playing.
  mMediaplayer.start();

 

//Pause
    mMediaplayer.pause();

//Resume
   mMediaplayer.start();

//Stop
  mMediaplayer.stop();
pause를 먼저 해주고 stop을 해주어도 된다.

//Clean MediaPlayer
   mMediaplayer.release();
   mMediaplayer = null;


여려가지 길게 적었는데 onCreate 에 play하고, onDistory에 Stop하는 코드는 아래와 같다.

public void onCreate(Bundle savedInstanceState) {
..........
   mMediaplayer = new MediaPlayer();

   mMediaplayer.reset();
   try {
      mMediaplayer.setDataSource(TeatAudioFath);
      mMediaplayer.prepare();
   } catch (Exception e) {
      e.printStackTrace();
      mMediaplayer.release();
      return;
   }
   mMediaplayer.start();

protected void onDestroy() {
.......

   mMediaplayer.stop();
   mMediaplayer.release();
   mMediaplayer = null;
}


그냥 play만 하는 것으로는 많을 것을 할수 없습니다.
play중에 진행 시간을 가져오는 방법 및 에러 발생시 확인하는 방법....play 완료된 것을 확인하는 방법들을
정리해보겠습니다.

반응형