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

Aer*_*rok 6 media android android-mediaplayer

我正在研究setNextMediaPlayer()制作无间隙播放音乐播放器的方法.

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

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

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

在Tar​​un Varshney的回答后添加>>>

我用setNextMediaPlayer()下面打mp2旁边mp1的无缝连接.

mp2 = new MediaPlayer();
mp2.setDataSource(nextItem.getUri());
mp2.setOnCompletionListener(this);
mp2.prepare();
mp1.setNextMediaPlayer(mp2);
Run Code Online (Sandbox Code Playgroud)

mp2已经可以了,因为播放之前准备**mp2.prepare();**所以onPreparedListener也不会在适当的时间我想被调用.是否有任何其他的方法来设置mp2为一个参数setNextMediaPlayermp1

Tar*_*ney 4

public void setOnPreparedListener (MediaPlayer.OnPreparedListener listener)
Run Code Online (Sandbox Code Playgroud)

这可能对你有用。