【发布时间】:2019-08-03 07:41:35
【问题描述】:
我正在使用实现广告插播的 CAF 接收器。在接收方广告正确播放。
根据文档https://developers.google.com/cast/docs/caf_receiver/ad_breaks “在播放中断时,CAF 接收器 SDK 将带有 breakStatus 的 MediaStatus 广播给所有连接的发送者。发送者可以使用此信息更新 UI 并禁止任何搜索操作。”
在广告中断播放之前,在发送方 (chrome) 上,breakStatus 未定义。当休息开始播放时,会填充 breakStatus。然后在休息完成后,breakStatus 不会回到未定义状态。要查看这些结果,我一直在手动运行:window.cast.framework.CastContext.getInstance().getCurrentSession().getMediaSession()。
我的计划是使用 breakStatus 的存在来指示正在播放广告插播时间。我无法找到有关此中断状态广播的更多信息。我觉得应该有一些事件监听器,但我找不到它https://developers.google.com/cast/docs/reference/chrome/cast.framework#.RemotePlayerEventType。
是否有其他解决方案来确定当前是否正在播放广告插播时间?
【问题讨论】:
-
我认为这是
BreakStatus Class的预期行为。currentBreakTime和currentBreakClipTime参数值应该是当前中断开始后经过的时间和当前中断剪辑开始后的时间。这意味着在广告插播播放之前该值是未定义的。休息状态,如果接收器正在播放休息。仅当接收方正在播放休息时才会定义此字段。 -
@jess 我相信在中断完成后 MediaSession 没有用未定义的值替换现有的 breakStatus 对象可能存在问题。现在解决了,他们使用的是空对象而不是 undefined。
-
这很酷。很高兴他们解决了这个问题。
标签: google-cast