我正在使用v3 CAF SDK和自定义UI来实现新的Chromecast接收器。
我遇到一种平滑的流式清单,我们在内部将其称为“重新启动”清单。这只是一个开放式的实时清单,实时窗口从程序开始一直到当前时间为止。
我认为出现此问题的原因是,LiveSeekableRange
在回放开始之前在此事件中登录时首先看起来不错。
this.playerManager.setMessageInterceptor(
cast.framework.messages.MessageType.MEDIA_STATUS, (mediaStatusData) => {
if (mediaStatusData) {
console.log('here', mediaStatusData)
}
return mediaStatusData
})
然后我可以看到实时可搜索范围对象看起来像
{
end: 12995.260999917984,
isLiveDone: undefined,
isMovingWindow: true,
start: 1.2799777179840088,
}
但是,在playerState
从BUFFERING
变为PLAYING
之后,对象发生了变化,因此end
几乎与currentTime
相匹配,这意味着没有擦洗。
{
start: 2.8389999866485596,
end: 2.8389999866485596,
isMovingWindow: true,
isLiveDone: undefined,
}
有什么想法可以解决此问题,以便可以对Live manifest进行清理吗?在另一个播放器中,我们使用了名为getDVRWindowSize
的函数来确定可以擦洗的位置。