0

Google カスタム レシーバーのドキュメントによると、アプリが認証を実行する場合、送信側アプリケーションで customData を json 形式で読み込むことができます。私の場合、次のようなことをしました。

MediaInfo mediaInfo = new MediaInfo.Builder(
           "url")
             .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
             .setCustomData(jsonCustomData) 
             .build();

次に、次のように mediaInfo をロードします。

mRemoteMediaPlayer.load(mApiClient, mediaInfo, true).setResultCallback(....);

私の受信側アプリケーションでは、次のように jsonCustomData を取得しようとしました。

var customData = window.mediaManager.LoadRequestData.customData;

ただし、機能しているようには見えません。一部のサンプル アプリでは、Cast.CastApi.sendMessage メソッドを使用し、event.data にメッセージが含まれる window.message.onMessage=function(event) を使用する人がいることに気付きました。誰かがこれら2つの方法の違いを説明できますか? 私は何を間違っていますか?

レシーバー コードが window.onload 関数でラップされていないことに注意してください。必要ですか?

助けてくれてありがとう!

4

1 に答える 1

2

mediaManager.onLoad(event) コールバックにフックすることもできます (正しく行う方法については、こちらを参照してください。実装で元の onLoad を呼び出すようにする必要があります)。次に、私の記憶が正しければevent.data、タイプはcast.receiver.mediaManager.LoadRequestData. その場合event.data.media.customData、mediaInfo で指定したカスタム データが必要です。mRemoteMediaPlayer.load() コマンドで (mediaInfo の代わりに) customData を使用する場合、同じコールバックでevent.data.customData. これをレシーバー API リファレンスと照らし合わせて検証し、それらが正しいことを確認してください。

于 2015-10-22T20:15:45.823 に答える