我正在使用
有没有监听器可以检测
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()
,以便在mp1
无缝播放完毕后立即播放mp2
。mp2 = new MediaPlayer();
mp2.setDataSource(nextItem.getUri());
mp2.setOnCompletionListener(this);
mp2.prepare();
mp1.setNextMediaPlayer(mp2);
mp2
可能已经在播放之前被准备好了,因为使用了 **mp2.prepare();**
。所以我想要的时机 onPreparedListener
不会被调用。
有没有其他方法将 mp2
设置为 mp1.setNextMediaPlayer
的参数呢?