2012-06-12 4 views
0

서비스 내에서 MediaPlayer가있는 sdcard의 기본 다운로드 폴더에 로컬 .mp3 스토어를 재생하는 가장 좋은 방법은 무엇입니까?MediaPlayer 서비스, Android에서 로컬 mp3 재생

파일은 지금 재생되지만 .pause() 함수를 호출하면 아무 일도 일어나지 않습니다.

public class PlayService extends Service{ 

@Override 
public int onStartCommand(Intent intent, int flags, int startId){ 

    int key = intent.getIntExtra("key", 0); 
    MediaPlayer mMediaPlayer = new MediaPlayer(); 

    FileInputStream fileStream = null; 
    try { 
     fileStream = new FileInputStream("/sdcard/Download/Bob_Marley-Jammin.mp3"); 
    } catch (FileNotFoundException e1) { 
     e1.printStackTrace(); 
    } 

    try { 
     mMediaPlayer.setDataSource(fileStream.getFD()); 
    } catch (IllegalArgumentException e) { 
     e.printStackTrace(); 
    } catch (IllegalStateException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    try { 
     mMediaPlayer.prepare(); 
    } catch (IllegalStateException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    switch (key) { 
    case 0: //Play 
     if (mMediaPlayer.isPlaying()){ 
      break; 
     } 
     else 
      mMediaPlayer.start(); 
     break; 
    case 1: //Pause 
     if(mMediaPlayer.isPlaying()) 
      mMediaPlayer.pause(); 
     break; 
    case 2: //Stop 
     if(mMediaPlayer.isPlaying()){ 
      mMediaPlayer.pause(); 
      mMediaPlayer.seekTo(0); 
     } 
     break; 
    default: 
     break; 

답변

1
FileInputStream fileStream = new FileInputStream("/sdcard/Download/Bob_Marley-Jammin.mp3"); 
mMediaPlayer.setDataSource(fileStream.getFD()); 
+0

예 지옥 오. 당신은 최선을 –

+0

당신의 대답에 맞게 편집했습니다. –