Exoplayer在完整缓冲区上缓冲

时间:2016-04-11 12:33:33

标签: android exoplayer

我正在开发一个使用ExoPlayer播放mp4视频的应用程序。 我已经成功设置并播放了一些视频,但有一些我不太了解的内容。 当视频完全缓冲并且我向前搜索时,玩家进入状态BUFFERING并花费一些(非常短的)时间来恢复播放。什么是完整缓冲区的时间?我知道exoplayer不会缓冲前面的帧,但为什么它在前进时也会重新缓冲? 我已将这种延迟追踪到" doSomeWork()" TrackRenderers上的方法,但我仍然不知道如何修复'它。 我目前正在使用ExoPlayer演示的代码和视频的ExtractorRendererBuilder。

其他人遇到过那种情况?

谢谢。

1 个答案:

答案 0 :(得分:1)

“缓冲”主要有两个原因。

  1. 如果播放器可以查找内存中的帧,则它将进行线性搜索以找到关键帧并跳转到该帧。线性搜索需要一些时间,具体取决于内存中的帧数
  2. 如果帧不在内存中,则exoplayer必须将帧从网络/磁盘下载到内存中。这显然需要更长的时间。