我在 github 上 搜索了两天这个问题,但找不到真正的答案。我想要在 --- 中检测 pause / resume
的 ExoPlayer > 2.x
。任何人都可以给我一个例子吗?我检查了 onPlayerStateChanged
问题没有解决。
onPlayerStateChanged : STATE_BUFFERING
onPlayerStateChanged : STATE_READY
我刚刚从 onPlayerStateChanged
得到了这个日志—而且这不是一直被调用!
原文由 MrNadimi 发布,翻译遵循 CC BY-SA 4.0 许可协议
编辑 - -
请参考
Player.isPlaying()
将此作为 API 提供的方法。“不必单独检查这些属性,可以调用 Player.isPlaying。”
https://exoplayer.dev/listening-to-player-events.html#playback-state-changes
--- 编辑结束
您需要使用 Player.EventListener 检查
playWhenReady
。 ExoPlayer 的播放状态与 播放器是否暂停无关:播放/暂停 ExoPlayer 提供的播放器
带有媒体文件的 ExoPlayer 的播放状态序列从不停止重新缓冲,在四种状态中的每一种中都有一次,并且不表示播放/暂停:
每次玩家需要缓冲时,它都会:
设置 playWhenReady 不会影响状态。
总而言之,您的媒体实际上在播放时
它在准备就绪时播放。 :)