在 chromecast 自定义接收器中使用第二个音频流加载视频

Load video with second audio stream in chromecast custom receiver

我的资产有 2 个音频流:英语和匈牙利语。 有时匈牙利语是第二个音频流,而不是第一个,因此不是默认值。

我想始终以匈牙利语音频开始播放。 我的代码基于 Cast-Player-Sample.

尝试:

this.onMetadataLoadedOrig_(info); (here) 之后我做了:

this.protocol.enableStream(2, true); //enables hungarian
this.protocol.enableStream(1, false);
this.player_.reload();

它不起作用:播放器进入空闲状态并且没有播放任何内容。 顺便说一句,protocol 来自 this.protocol = protocolFunc(host) (here)

我唯一能让它工作的方法是从默认语言开始,只有在播放器处于 PLAYING 状态后才更改它。

如何开始播放非默认音频(第一个)?

我明白了。您必须在 onManifestReady 回调中 enable/disable 协议流。这样你就不需要调用 player.reload().

onManifestReady

Notifies the host that a manifest or a master playlist has been loaded and processed by the protocol. This callback can be used to disable the streams enabled by default by the protocol and enable desired streams instead.