Chromecast - 通过 CastMessageBus 启动媒体

Chromecast - Launch Media Via the CastMessageBus

我正在开发自定义 Chromecast 接收器应用程序。是否可以通过 Cast Message Bus 启动媒体?我知道这不是最佳做法,并且已经有一种机制可以通过 GCKMediaControlChannel

启动媒体

我使用 https://github.com/googlecast/CastReferencePlayer 作为起点。

我正在通过我的发件人发送短信(包含媒体信息 JSON):

[_castServiceChannel sendTextMessage:mediaInfoJSON];

接收器正在接收 JSON,然后我尝试像这样启动媒体播放器:

sampleplayer.CastPlayer.prototype.loadVideo_(message);

但我没有正确初始化媒体播放器。有人有什么想法吗?

我遇到的问题是无法启动视频,因为:

  1. loadVideo_() 是错误的方法,我应该使用 load()
  2. 播放器在收到演员信息时从未正确初始化。

我的解决方案是将 cast message bus 消息与播放器分开。所以在我的 player.html 中,我初始化了 cast message bus。当我 receive JSON 我想播放的媒体时,我从 player.html 初始化 player.js 像这样:

//receive message to play -> pass media through
var player = document.getElementById('player');
new sampleplayer.CastPlayer(player).start();

然后在

sampleplayer.CastPlayer.prototype.start = function() {
  this.load(JSON.parse(message));
};

唯一的问题是 Media Manager 从未在 Cast Receiver app 中正确初始化。所以这意味着我无法正确捕获 RCU 事件。知道为什么会发生这种情况吗?