Chromecast 未通过 CastMessageBus 接收消息

Chromecast not receiving messages over CastMessageBus

我正在尝试初始化我的投射消息总线 接收器应用程序。我正在使用 CastReferencePlayer Sample 我可以在启动时初始化频道,并且 收到一条信息。

但是媒体播放后,我无法接收 使用相同的 send 方法通过频道发送的任何其他消息 发送方。我的发件人是 iOS Device

哪里是初始化消息总线的最佳位置以确保通道 是否可以在应用程序的整个生命周期内接收消息?

我正在启动频道 在 sampleplayer.CastPlayer.prototype.start = function()。但我不确定这是否是启动消息总线的正确位置,因为我只在启动时收到一次消息(即在媒体开始播放之前)。

sampleplayer.CastPlayer.prototype.start = function() {
      var messageBus = this.receiverManager_.getCastMessageBus(
          "urn:x-cast:com.myTestChannel.app",
          cast.receiver.CastMessageBus.MessageType.JSON);
    
      messageBus.onMessage = function(event) {
            var message = event.data;
            if (message.testID) {
              console.log("Message received");
            } else if (message.someKey) {
              console.log("pause message received");
            }
          };
          this.receiverManager_.start();
        };

我试图将频道创建代码放在 player.js 中的 window.onload 函数中,但这与以前的反应相同(即仅初始消息)。

有谁知道我应该把代码放在哪里来初始化频道? 任何帮助,将不胜感激。

编辑:我做了更多调查,发现只有我的 iOS 发件人不会向收件人发送多条消息.我已经尝试了 android 和 chrome 并且多条消息都有效。 有没有人知道从 iOS 发件人发送消息的问题。

我的代码问题出在我的发件人中。

由于我对施法通道的引用被销毁,sendTextMessage 方法在第一个实例之后没有触发。