2017-04-05 5 views
0

受信アプリケーションでキャストメッセージバスを初期化しようとしています。私は CastReferencePlayer Samplehttps://github.com/googlecast/CastReferencePlayer)を使用しています。起動時にチャンネルを初期化できました。 は1つのメッセージを受信しました。ChromecastがCastMessageBus経由でメッセージを受信しない

しかし、メディアが再生された後、私は 送信者に同じ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.jswindow.onload機能でチャンネル作成コードを配置しようとしたが、これは前と同じ反応します。

チャネルを初期化するコードをどこに配置する必要があるのでしょうか? ご協力いただければ幸いです。

EDIT:もう少し調査を行い、受信者に複数のメッセージを送信しないiOSの送信者であることがわかりました。私は両方のアンドロイドとクロムを試して、複数のメッセージが動作します。 iOSの送信者からのメッセージの送信に問題があることは誰でも気付いていますか?

+0

この[SOの投稿](http://stackoverflow.com/questions/39766944/sending-a-json-from-ios-sender-to-receiver-app-with-the-googlecast-sdk-あなたの名前空間用の[GCKCastChannel](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_cast_channel#a536d42cdcastb9d56d9ed10c3f75c493985)インスタンスを作成し、['sendTextMessage']を使う必要があります(https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_cast_channel#a536d42cdfb9d56d9ed10c3f75c493985)。 – abielita

+0

@abielita、リンクありがとう。私はすでに正しい名前空間にキャストチャンネルを作成していました。私は私の問題を解決しました。私の実装では、キャストチャンネルへの参照は初めて使用した後に破棄されていました。 – mhorgan

答えて

0

私のコードの問題は私の送信者にありました。

sendTextMessageメソッドは、キャスト・チャネルへの参照が破棄されているため、最初のインスタンスの後には起動しませんでした。

関連する問題