我需要帮助,在我的自定义接收器Chromecast应用程序中,我无法获取该应用程序初始化的媒体元数据。
我加载了这样的媒体,在成功的会话请求后:
var mediaInfo = new chrome.cast.media.MediaInfo('https://wse-wowaza01.playne.tv:443/webdrmorigin/1042a2W.smil/manifest.mpd');
mediaInfo.customData = {
"userId": "mislav",
"sessionId": "39BE906248F9F5C4A93C7",
"merchant": "playnr"
};
mediaInfo.metadata = new chrome.cast.media.MovieMediaMetadata();
mediaInfo.metadata.metadataType = chrome.cast.media.MetadataType.MOVIE;
var img = new chrome.cast.Image('https://ottservice.playnr.tv/OTTranscoderHttps/get?url=http%asd9.168%2f20664_5b8df65c-67ff-4f13-b90d-b28c37f2310c.jpg&w=224&h=126');
mediaInfo.metadata.images = [img];
mediaInfo.contentType = 'video/mp4';
var request = new chrome.cast.media.LoadRequest(mediaInfo);
//this.playerState = this.PLAYER_STATE.LOADING;
this.session.loadMedia(request,
this.onLoadMediaSuccess.bind(this, 'loadMedia'),
this.onLoadMediaFailure.bind(this)
);
我如何在接收器应用程序访问元数据?我试过
cast.receiver.MediaManager.getInstance()
但运气不好。在需要对接收器进行编码以使数据可用之前,是否有任何步骤?
谢谢你的帮助,给我指出了正确的方向。
让它工作,这就是问题所在。我使用第三方DMR javascript插件进行内容保护。它封装了cast_receiver,并且已经实例化了MediaManager &我没注意到。然后我实例化了new mediaManager,但它没有绑定到任何数据。暂停/播放事件都由插件mediamanager实例处理,所以我的实例是无用的。一旦我引用了已经实例化的mediamanager,数据就在那里,他的事件正在工作。与接收器管理器相同,我启动了已经启动的实例和问题....所以结论,我不需要实例化任何,DRM插件照顾一切,只需要覆盖他的事件处理程序
取决于你想在接收器的哪个位置访问该信息。例如,在许多回调中,您有一个类型为cast.receiver.MediaManager的"事件"。事件,例如,您可以通过Event .data从中获得cast.receiver.MediaManager.LoadRequestData对象。然后这个数据对象有你的customData (data.customData)