我似乎找不到Chromecast接收器事件,该事件表明接收器应用上的视频播放已完成。
我的目标是在投放视频结束后关闭投放会话。
我知道,在接收方应用程序中,我可以在接收方播放器上侦听结束事件,然后通过自定义名称空间将消息发送给发送方,但这是一种解决方法,我宁愿避免这样做。
从文档中我感觉这应该可行:
this.remotePlayerController.addEventListener(
window.cast.framework.RemotePlayerEventType.MEDIA_INFO_CHANGED,
() => {
const session = this.getSession();
if (session) {
const mediaStatus = session.getMediaSession() || {};
switch (mediaStatus.idleReason) {
case window.chrome.cast.media.IdleReason.FINISHED:
// Code to close session here
}
}
}
);
但是它没有,因为某种原因mediaStatus.idleReason不评估,但是它确实存在是因为当控制台仅记录mediaStatus时,我可以看到它具有idleReason并将其设置为“ FINISHED”? 并且mediaStatus对象中没有明显的方法可以返回其idleReason属性...