我想使用Android MediaPlayer類播放一些聲音。無法讓Android MediaPlayer onCompletion觸發
下面是此代碼在服務運行的代碼
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(context, Uri.parse(soundUrl));
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.setLooping(false);
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.i(LOGTAG, "onComplete hit");
mp.stop();
mp.release();
}
});
mp.prepare();
mp.start();
,但由於某些原因,播放聲音好,但任何事情放到onCompletion似乎不火。然後,我在logcat中收到消息,說明mediaplayer沒有發佈。我對此感到不知所措。
我在galaxy nexus 4.0.4 stock ROM上運行這個測試。
我還注意到聲音最後可能會被截斷。
我猜「視頻」是MediaPlayer的一個實例嗎?並且你的課堂上有一個「實現MediaPlayer.OnCompletionListener」?我也試過這種方法,但它沒有奏效。 – Andrew 2012-04-04 06:06:34
@Andrew它如何被接受的答案,如果它沒有工作?你做到了嗎?如果是,如何? – hendrix 2013-04-04 15:40:06
@smitalm在設置偵聽器之前調用start()。 – ajacian81 2013-10-24 01:50:41