【问题标题】:Buffer audio livestream with ExoPlayer使用 ExoPlayer 缓冲音频直播
【发布时间】:2018-04-02 11:14:11
【问题描述】:

我在 Android 上使用 ExoPlayer 播放广播音频直播。 使用标准实现,当网络连接丢失时,直播会立即停止播放。

ExoPlayer 状态: 已开始 -> 连接丢失 -> 立即缓冲 -> 2-3 秒后。空闲

是否可以缓冲广播直播,所以如果没有互联网连接,流会继续播放几秒钟,直到网络连接恢复。 音乐应用 Tunein 具有此功能。 ExoPlayer 可以做到这一点还是怎么可能?

【问题讨论】:

    标签: java android buffer live-streaming exoplayer


    【解决方案1】:

    是的,现在可以使用具有此功能的 ExoPlayer 2.7.0。参考本期:Seeking in radio streams

    在这篇文章的最后几个 cmets 中提到了它。希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      对于 2.x ,可以使用 LoadControl 修改缓冲区大小:

          DefaultLoadControl loadControl = new DefaultLoadControl(allocator, 30000,
       45000, 1500, DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS);
      

      Official docs

      更新: 但是 ExoPlayer 有一个问题: Audio stream moved to buffering state immediately on disconnection of internet 正如开发人员所说,计划在年底(或此后不久)修复

      【讨论】:

      • 不幸的是,这不起作用。连接丢失后,播放器状态立即为 BUFFERING 并且在 IDLE 之后
      • 它仍然没有修复......希望他们会尽快修复它。 TuneIn 应用程序具有此功能并且可以正常工作...
      猜你喜欢
      • 2022-09-28
      • 1970-01-01
      • 2011-10-31
      • 1970-01-01
      • 2012-05-17
      • 1970-01-01
      • 2017-12-15
      • 2017-02-18
      • 1970-01-01
      相关资源
      最近更新 更多