Android MediaPlayer缓冲行为(VBR文件)

时间:2014-01-26 04:12:51

标签: android android-mediaplayer buffering

原来Android Media Player(stagefright)对可变比特率文件有一些奇怪的缓冲算法。它似乎尝试缓冲多兆字节(在5MB总MP3文件上2-3 MB),直到它开始播放。更糟糕的是,它可以在缓冲足够大的量(例如2MB)之后开始播放,然后再次停止播放,等待它在恢复之前缓冲另一个MB。

根据我的经验,这只发生在VBR MP3文件上,而且仅限于stagefright。那么,有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

我找到了一个“黑客”来解决它:

从HTTP服务器提供时,我从MP3文件中删除“Xing”标题。这样,stagefright在缓冲大约0.5MB后就已经开始渲染,到目前为止还没有出现过口吃。

注意,删除Xing标题可能会产生混乱时间和搜索行为等副作用。但只要您不使用搜索或显示时间(从MP3流中提取),那么您应该没问题。