在开始时控制 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 缓冲的主要内容,如果未能解决你的问题,请参考以下文章
“队列段(1796152)作为段持续时间将超出缓冲区限制”是啥意思?