如何检测MediaPlayer对象是否开始播放?

时间:2013-07-23 05:31:05

标签: android media android-mediaplayer

我正在使用setNextMediaPlayer()方法制作无间隙播放音乐播放器。

setNextMediaPlayer()是启用无间隙播放的好方法,但是我有一个问题是将下一首歌曲的信息刷新为布局。当我使用setNextMediaPlayer()方法时,我不需要使用start()方法来开始播放,因此当播放完全开始时无法捕捉到。 或者,我将信息刷新方法放在onCompletion中,但它有一个限制。

public void onCompletion(MediaPlayer mp) {
    Log.d(TAG, "onCompletion():");
    displayInfoSingle(nextItem);//refresh albumart and song info.
}

是否有任何侦听器可以检测MediaPlayer对象何时开始播放?

在Tarun Varshney的回答>>>

之后添加

我正在使用setNextMediaPlayer(),如下所示,无缝地在mp2旁边播放mp1

mp2 = new MediaPlayer();
mp2.setDataSource(nextItem.getUri());
mp2.setOnCompletionListener(this);
mp2.prepare();
mp1.setNextMediaPlayer(mp2);
由于mp2

**mp2.prepare();**在播放之前可能已经准备就绪,所以onPreparedListener将无法在我想要的正确时间调用。 有没有其他方法可以将mp2设置为setNextMediaPlayer mp1的参数?

1 个答案:

答案 0 :(得分:3)

public void setOnPreparedListener (MediaPlayer.OnPreparedListener listener)

这可能适合你。