我正在使用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
的参数?
答案 0 :(得分:3)
public void setOnPreparedListener (MediaPlayer.OnPreparedListener listener)
这可能适合你。