我尝试使用以下正常工作的代码将元数据从发送方发送到接收方。
const mediaInfo = new chrome.cast.media.MediaInfo(url, type);
/* --------------------------------------------- */
mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();
mediaInfo.metadata.metadataType = chrome.cast.media.MetadataType.GENERIC;
mediaInfo.metadata.title = title;
/* --------------------------------------------- */
const request = new chrome.cast.media.LoadRequest(mediaInfo);
但是现在我正在尝试在接收器本身内部进行api调用,并尝试直接从接收器本身直接加载元数据。
有没有办法做到这一点?如果是这样,该怎么做?我经历了很多页面的chromecast接收器设置,找不到解决方法。
非常感谢您的帮助。谢谢。
您需要setMessageInterceptor
在加载时使用并调用api,并在metaData上设置数据并添加到loadRequestData
最后返回 loadRequestData
const context = cast.framework.CastReceiverContext.getInstance();
const MediaMetadata = new cast.framework.messages.MediaMetadata()
const playerManager = context.getPlayerManager();
/* --------------------------------------------- */
playerManager.setMessageInterceptor(
cast.framework.messages.MessageType.LOAD, loadRequestData => {
return fetch('thirdpartyapi')
.then(response => response.json())
.then(data => {
MediaMetadata.title = 'your.Title'
MediaMetadata.subtitle = 'your.Subtitle'
/* --------------------------------------------- */
loadRequestData.media.metadata = MediaMetadata
/* --------------------------------------------- */
return loadRequestData;
})
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句