0

サービス内からMediaPlayerを使用してSDカードのデフォルトのダウンロードフォルダーにあるローカルの.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;
4

1 に答える 1

1
FileInputStream fileStream = new FileInputStream("/sdcard/Download/Bob_Marley-Jammin.mp3");
mMediaPlayer.setDataSource(fileStream.getFD());
于 2012-06-12T03:30:14.160 に答える