4

以下のコードを使用して、バックグラウンドでオーディオを再生します。

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

最初のPath[0]をバックグラウンドで再生している間。パス[0]の再生が終了した後、次のパス[1]を自動再生させたいのですが、どうやって到着するのですか?

4

2 に答える 2

25

このようにonCompletionListenerをオーバーライドする必要があります。

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();
    }
});

MediaPlayerでonPreparedListenerを使用する場合は、prepareAsyncコマンドも使用し、.start()を無視します。

于 2012-04-19T07:56:47.047 に答える
3

OnCompletionListenerをMediaPlayerに設定する必要があります。リスナーで、ソースをpath2に設定し、準備して再生します。 http://developer.android.com/reference/android/media/MediaPlayer.OnCompletionListener.html

于 2012-04-19T07:58:26.453 に答える