Chromecast - Chrome发件人 - 如何连接到现有的媒体会话?

时间:2014-03-06 11:30:08

标签: google-cast chromecast

我有一个接收器直接在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()

2 个答案:

答案 0 :(得分:1)

今天无法从接收方发起媒体会话。 LOAD命令触发会话创建,因此您需要在发送接收器后立即要求发送方发送LOAD命令。

请注意,您可以覆盖LOAD命令的行为以执行您想要的任何操作(例如自己设置src元素...),但会话创建是MediaManager类的内部。

根据第二个/第三个发件人的状态更新,只要他们加入应用程序会话(无需重新启动/重新加载),他们就会收到媒体状态更新。

我会对您从发送方(如果有)触发LOAD的问题感兴趣。

答案 1 :(得分:0)

您实际上绕过了MediaManager的所有内部工作; MediaManager几乎不了解您正在播放的媒体,因此它无法为您提供所需的信息。