Android MediaPlayer需要很长时间来准备和缓冲

我在从2.2-4.1.2测试的所有Android版本中都遇到了这种情况。

这些流的比特率适合移动和3G连接。同一流只需不到一秒钟的时间即可开始在等效的iOS应用中进行缓冲。

有没有一种方法可以指定应该缓冲的时间?我知道Tune

In广播应用程序提供此功能(https://play.google.com/store/apps/details?id=tunein.player)。

谢谢。

编辑:我再次测试,发现它仅在运行Gingerbread及更高版本(> =

2.3)的设备上发生。我知道Android将基础框架从OpenCore更改为StageFright。那么,如何优化媒体框架?旧的HTC

Wildfire可以准备,播放和播放音乐,似乎比全新的HTC One X和Nexus 7快10倍,这似乎是错误的。

回答:

我已经为这个问题苦苦挣扎了几个月。终于我找到了解决方案。

真正的问题在于MediaPlayer类的实现。特别是MediaPlayer缓冲数据的方式。这就是为什么解决方案是创建自己的缓冲,将其保存到临时文件并将其提供给MediaPlayer的原因。

本教程和源代码确切说明了方法。http://androidstreamingtut.blogspot.nl/2012/08/custom-

progressive-audio-streaming-

with.html

通过修改此代码,可以轻松创建更好的流播放器。

Google Developers确实搞砸了。

编辑:这个答案是相当古老的。如今,我建议不要使用MediaPlayerExoPlayer而是改用。它是可扩展的,稳定的,并且可以播放许多不同类型的媒体。您可以在这里找到它:https

//github.com/google/ExoPlayer/

以上是 Android MediaPlayer需要很长时间来准备和缓冲 的全部内容, 来源链接: utcz.com/qa/430035.html

回到顶部