Chromecast发送方和接收方通信



根据Google自定义接收方文档,如果我们的应用程序执行身份验证,我们可以在发送方应用程序中加载json格式的customData。在我的例子中,我做了类似于下面的事情,

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方法,并使用window.message.onMessage=function(event)。数据将包含消息。有人能解释一下这两种方法的区别吗?我做错了什么?

请注意,我的接收器代码没有包装在窗口中。onload函数,我需要吗?

谢谢你的帮助!

你可能想要挂钩到mediaManager.onLoad(事件)回调(看看如何正确地做到这一点;你需要确保在你的实现中调用了原始的onLoad)。那么,如果我没记错的话,event.data应该是cast.receiver.mediaManager.LoadRequestData的类型。如果是这样,event.data.media.customData应该具有您在mediaInfo中指定的自定义数据。如果你在mRemoteMediaPlayer.load()命令中使用customData(而不是mediaInfo),那么它应该可以在相同的回调中访问,但通过event.data.customData

请根据接收器API引用验证此参数,以确保它们是正确的。

相关内容

  • 没有找到相关文章

最新更新