2012-06-12 55 views
0

在服务器内使用MediaPlayer在SD卡上的默认下载文件夹中播放本地.mp3存储的最佳方式是什么?在MediaPlayer服务中播放本地mp3,Android

该文件现在播放,但是当我尝试调用.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

我编辑它以适合你的答案。 –

相关问题