如何直接从 chromecast 接收器加载元数据?
How to load metadata directly from chromecast receiver?
我尝试使用以下工作正常的代码将元数据从发送方发送到接收方。
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 并在元数据上设置数据并添加到 loadRequestData
最后return 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;
})
});
我尝试使用以下工作正常的代码将元数据从发送方发送到接收方。
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 并在元数据上设置数据并添加到 loadRequestData
最后return 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;
})
});