
mediaplayer.setLooPing(true);
但它在重复时间之间产生了差距.试过这个,
mediaplayer.setonCompletionListener(new MediaPlayer.OnCompletionListener() { @OverrIDe public voID onCompletion(MediaPlayer mp) { mediaplayer.start(); }}); 它也给出了一个差距.我试过不同的音频格式.但这两种方式都不适合我.在androID中还有其他方法吗?
解决方法 当播放结束时,播放器引擎将检查所有曲目是否完成,一旦完成,它将检查循环标志.基于循环标志,寻求0秒.作为搜索的一部分,播放器引擎将从特定位置读取数据并开始播放.延迟可能是由于搜索实现以及存储介质(如SD卡)引入的延迟,除了重新初始化所有轨道并重新启动它们之外.因此,当玩家恢复到起始位置时,存在明确的延迟.
底层循环实现可以在这个函数AwesomePlayer :: onStreamDone中找到,如下所示:http://androidxref.com/4.2.2_r1/xref/frameworks/av/media/libstagefright/AwesomePlayer.cpp#834
编辑1:
要实现真正的无间隙播放,您还可以考虑setNextMediaPlayer()功能.
以上是内存溢出为你收集整理的使用Android MediaPlayer进行无缝播放全部内容,希望文章能够帮你解决使用Android MediaPlayer进行无缝播放所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)