我试图循环播放MediaPlayer.seekTo()以无限期地重复一段歌曲。
我目前能够通过使用倒数计时器实现这一次:
Handler mHandler = new Handler();
mHandler.postDelayed(new Runnable) {
public void run() {
mediaPlayer.seekTo(startTime);
}
}, endTime - startTime);
然而,简单地放一个循环会导致应用程序挂起。而不是使用循环,我想我可以通过使用OnCompletionListener再次调用seekTo()来完成这项工作。是否可以在到达我的endTime变量而不是歌曲的实际结尾时运行OnCompletionListener?
感谢。
答案 0 :(得分:0)
我能够让它工作,而不是使用带有postDelayed endTime - startTime的Handler,只需启动第二个线程并让它在run()函数内执行循环。在该循环内部,我检查当前位置是否== endTime,如果是,则调用seekTo(startTime)。