如何直接从 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;

                    })
            });