在 Chromecast Receiver 中获取发件人语言

Get sender language in Chromecast Receiver

我试图在第一个连接中(在加载任何流之前)从 Chromecast 接收方获取发送方应用程序语言以显示欢迎消息。

我的发件人代码中有这个来设置选项:

cast.framework.CastContext.getInstance().setOptions({
    receiverApplicationId: castReceiverId,
    autoJoinPolicy: chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,
    language: languageService.getCurrentLanguage().iso6393,
    resumeSavedSession: true,
});

有没有办法在接收器代码中恢复这些参数?

我还没有找到恢复初始化选项的方法,但我已经设置了一个自定义命名空间,以便在设置连接后通过它从发送者到接收者传递消息。

发件人:

const customNameSpace = 'urn:x-cast:google.cast.custom';
const msg = {lang: senderApplicationLanguage};
context.getCurrentSession().sendMessage(customNameSpace, msg, onSuccess, onError);

然后在receiver中等待

const customNameSpace = 'urn:x-cast:google.cast.custom';
this.context.addCustomMessageListener(customNameSpace, (event) => {
    const lang = event.data.lang;
});

希望这对某人有所帮助!