2012-04-19 7 views
1

次に再生:MediaPlayerのは、バックグラウンドでオーディオを再生し、私は、バックグラウンドでオーディオを再生するために、コードの下に使用するもの

String[] Path = new String[] {path1, path2, ...}; 
mMediaPlayer.setDataSource(Path[i]); 
mMediaPlayer.prepare(); 
mMediaPlayer.start(); 
mMediaPlayer.seekTo(0); 

を私はバックグラウンドで最初の1つのパス[0]を再生しながら。 パス[0]の再生が終了した後、次の1つのパス[1]を自動再生したいのですが、それをどう到着させるのですか?

答えて

21

あなたは、あなたのMediaPlayerでonPreparedListenerを使用する場合、あなたはprepareAsyncコマンドを使用して().startを無視するも、CAL、このよう

mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {   
    public void onCompletion(MediaPlayer mp) {   
     Log.i("Completion Listener","Song Complete"); 
     mp.stop(); 
     mp.reset(); 
     mp.setDataSource([nextElement]); 
     mp.prepare(); 
     mp.start(); 
    } 
}); 

をonCompletionListenerオーバーライドする必要があります。

+0

「状態128で呼び出されたattachNewPlayer」エラーが示されました。 – brian

+0

申し訳ありませんが、私の答えを編集..今すぐ確認してください。 –

+0

別のエラー "java.lang.IllegalStateException"と "android.media.MediaPlayer.setDataSource(ネイティブメソッド)"です。 – brian

関連する問題