我有一个接收器直接在videoElement上设置src(即我没有从发送方chrome.cast.Session.loadMedia()
方法设置它。)
videoElement已传递给chromecast媒体管理器:
mediaManager = new cast.receiver.MediaManager(videoElement);
当我连接发件人(或发件人已经连接)时,我希望获得媒体状态更新。目前我正在使用Chrome API发送。
不幸的是,当视频加载并开始在接收器上播放时,它会记录消息:
[cast.receiver.MediaManager] Not sending status as there is no on going LOAD request.
如何在不启动加载事件的情况下从发件人进入媒体会话?
值得一提的是session.media[]
似乎总是空的,如果我设置的话:
session.addMediaListener(sessionMediaListener);
永远不会调用sessionMediaListener()
答案 0 :(得分:1)
今天无法从接收方发起媒体会话。 LOAD命令触发会话创建,因此您需要在发送接收器后立即要求发送方发送LOAD命令。
请注意,您可以覆盖LOAD命令的行为以执行您想要的任何操作(例如自己设置src元素...),但会话创建是MediaManager类的内部。
根据第二个/第三个发件人的状态更新,只要他们加入应用程序会话(无需重新启动/重新加载),他们就会收到媒体状态更新。
我会对您从发送方(如果有)触发LOAD的问题感兴趣。
答案 1 :(得分:0)
您实际上绕过了MediaManager的所有内部工作; MediaManager几乎不了解您正在播放的媒体,因此它无法为您提供所需的信息。