使用Android MediaPlayer进行无缝播放

使用Android MediaPlayer进行无缝播放,第1张

概述我正在尝试连续播放音频,没有任何差距.我试过了, mediaplayer.setLooping(true); 但它在重复时间之间产生了差距.试过这个, mediaplayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(Med 我正在尝试连续播放音频,没有任何差距.我试过了,

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进行无缝播放所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1122005.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存