Загрузка видео со вторым аудиопотоком в пользовательский приемник 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

Уведомляет хост о том, что манифест или основной список воспроизведения были загружены и обработаны протоколом. Этот обратный вызов может использоваться, чтобы отключить потоки, включенные по умолчанию протоколом, и вместо этого включить желаемые потоки.

Другие вопросы по тегам