在开始时控制 Chromecast 缓冲

Posted

技术标签:

【中文标题】在开始时控制 Chromecast 缓冲【英文标题】:Control Chromecast buffering at start 【发布时间】:2017-07-26 00:53:47 【问题描述】:

有没有办法控制 CC 设备在开始播放之前缓冲的数量?

我的发件人应用程序发送实时音频flac,CC 在开始播放前等待+10 秒。我已经建立了一个客户接收器并尝试更改 autoPauseDuration 和 autoResumeDuration 但这似乎并不重要。我假设它仅在发生下溢事件时使用,而不是在启动时使用。

我意识到强制以低缓冲级别开始可能会导致下溢,但这是一个“风险”,比总是在播放开始前等待这么长时间要好得多。如果发生这种情况,autoPause/Resume 滞后将允许进行更大的重新缓冲。

【问题讨论】:

【参考方案1】:

如果您使用的是媒体播放器库,请查看 player.getBufferDuration。文档包含有关如何自定义播放器行为的更多详细信息:https://developers.google.com/cast/docs/player#frequently-asked-questions

【讨论】:

谢谢 - 我看到了,但这只是给我一个关于缓冲量的信息,它不会让我强迫玩家玩。在我看来,MPL 仍然可以决定何时比赛。还有这个函数playWhenHaveEnoughData,但是我怎么知道/设置“足够”是什么意思? 您可以尝试覆盖 MPL 函数,看看是否可以更改默认播放器行为。【参考方案2】:

最后,将音频发送到默认接收器的方式出现了问题。我正在流式传输 flac,因为它是一种可流式格式,所以我没有包含任何标题(您可能可以从流中的任何位置开始,这只是找到同步的问题)。但是 CC 中的 flac 解码器不喜欢这样,并且开始说 10+ 秒。一旦我添加了一个 STREAMINFO 标头,问题就消失了

【讨论】:

以上是关于在开始时控制 Chromecast 缓冲的主要内容,如果未能解决你的问题,请参考以下文章

在 Chromecast 上将缓冲区长度设置为 HLS 流

尝试连接时 Chromecast 给出错误代码 7

“队列段(1796152)作为段持续时间将超出缓冲区限制”是啥意思?

Chromecast 视频播放会在一段时间后永远挂起

通过通过外部应用程序的意图找到的第一个 chromecast 开始 google 播放音乐

从终端启动 VLC 并从一开始将默认渲染器设置为 ChromeCast(无 GUI)