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确实搞砸了。
- 编辑:这个答案是相当古老的。如今,我建议不要使用
MediaPlayer
,ExoPlayer
而是改用。它是可扩展的,稳定的,并且可以播放许多不同类型的媒体。您可以在这里找到它:https - //github.com/google/ExoPlayer/
以上是 Android MediaPlayer需要很长时间来准备和缓冲 的全部内容, 来源链接: utcz.com/qa/430035.html