Загрузка видео со вторым аудиопотоком в пользовательский приемник Chromecast
В моем активе 2 аудиопотока: английский и венгерский. Иногда венгерский является вторым аудиопотоком, а не первым, поэтому не используется по умолчанию.
Я хочу всегда начинать воспроизведение с венгерского аудио. Я основал свой код из Cast-Player-Sample.
Попытка:
После this.onMetadataLoadedOrig_(info);
( здесь) я сделал:
this.protocol.enableStream(2, true); //enables hungarian
this.protocol.enableStream(1, false);
this.player_.reload();
Это не работает: игрок переходит в состояние ожидания и ничего не воспроизводится. КСТАТИ, protocol
происходит от this.protocol = protocolFunc(host)
( здесь)
Единственный способ заставить его работать, это начать с языка по умолчанию и менять его только после того, как игрок находится в состоянии PLAYING.
Как начать воспроизведение со звуком, отличным от звука по умолчанию (сначала)?
1 ответ
Я понял. Вы должны включить / отключить потоки протокола в обратном вызове onManifestReady. Таким образом, вам не нужно звонить player.reload()
,
onManifestReady
Уведомляет хост о том, что манифест или основной список воспроизведения были загружены и обработаны протоколом. Этот обратный вызов может использоваться, чтобы отключить потоки, включенные по умолчанию протоколом, и вместо этого включить желаемые потоки.