java - 使用 ExoPlayer 缓冲音频直播

标签 java android buffer live-streaming exoplayer

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

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

是否可以缓冲广播直播,以便在没有互联网连接的情况下继续播放几秒,直到网络连接恢复。 音乐应用程序 Tunein 具有此功能。这对 ExoPlayer 来说可能吗?或者怎么可能?

最佳答案

对于 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正如开发人员所说,计划在年底(或之后不久)修复

关于java - 使用 ExoPlayer 缓冲音频直播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46863381/

相关文章:

java - JPA 查询子句 Where

android - 使用 AS3 在 iPhone 和 android 中设置提醒

C 缓冲区溢出测试 - 64 位上不应该出现段错误?

ios - 如何在iOS中为缓冲区分配内存

java - 当我在 doPost 中更改 servlet 内容时,没有任何反应

java - 如何在两个 fragment 之间放置进度条

java - 与 Java Swing 的 GroupLayout 混合对齐

android - 使用 adb 或 python 或 perl 获取当前 URL

java - Android:如何防止图像在 ImageView 或 ImageButton 中缩放?

c++ - 如何在 C++ 中创建缓冲区以创建新文件