【问题标题】:Android MediaPlayer buffering behavior (VBR files)Android MediaPlayer 缓冲行为(VBR 文件)
【发布时间】:2014-01-26 04:12:51
【问题描述】:

原来 Android 媒体播放器 (stagefright) 对可变比特率文件有一些奇怪的缓冲算法。它似乎试图缓冲多兆字节(5MB 总 MP3 文件中的 2-3 MB),直到它开始播放。更糟糕的是,它可能会在缓冲足够大的量(例如 2MB)后开始播放,然后再次停止播放,等到缓冲另一个 MB 后再继续播放。

根据我的经验,这仅发生在 VBR MP3 文件上,并且仅在怯场时发生。那么,有没有办法解决这个问题?

【问题讨论】:

    标签: android android-mediaplayer buffering


    【解决方案1】:

    我发现了一个“hack”来解决它:

    在从 HTTP 服务器提供 MP3 文件时,我正在从该文件中删除“Xing”标头。这样,stagefright 在缓冲了大约 0.5MB 后就已经开始渲染,到目前为止还没有出现卡顿的情况。

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

    【讨论】:

      猜你喜欢
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多