Я пытаюсь получить мульти-аудио HLS-поток, работающий над приложением-приемником Google Cast v3.Основной список воспроизведения потока относится к нескольким воспроизведению видео с разным разрешением и двумя альтернативными звуковыми дорожками:
#EXTM3U
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",LANGUAGE="de",NAME="TV Ton",DEFAULT=YES, AUTOSELECT=YES,URI="index_1_a.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",LANGUAGE="de",NAME="Audiodeskription",DEFAULT=NO, AUTOSELECT=NO,URI="index_2_a.m3u8"
#EXT-X-STREAM-INF:AUDIO="aac",BANDWIDTH=383000,RESOLUTION=320x176,CODECS="avc1.4d001f, mp4a.40.2",CLOSED-CAPTIONS=NONE
index_0_av.m3u8
...more renditions
#EXT-X-STREAM-INF:AUDIO="aac",BANDWIDTH=3697000,RESOLUTION=1280x720,CODECS="avc1.4d001f, mp4a.40.2",CLOSED-CAPTIONS=NONE
index_6_av.m3u8
Видео отлично воспроизводится как в приложении отправителя, так и в приложении получателя. Я могу видеть обе звуковые дорожки в отправителе.приложения, но при передаче в приемник отсутствуют элементы управления для изменения звуковых дорожек.
При доступе к методу getTracks () AudioTracksManager при перехвате сообщения LOAD, например, так ...
playerManager.setMessageInterceptor(
cast.framework.messages.MessageType.LOAD, loadRequestData => {
loadRequestData.media.hlsSegmentFormat = cast.framework.messages.HlsSegmentFormat.TS
const audioTracksManager = playerManager.getAudioTracksManager();
console.log(audioTracksManager.getTracks())
console.log('Load request: ', loadRequestData);
return loadRequestData;
});
Я получаю сообщение об ошибке:
Uncaught Error: информация о треках недоступна.
Может быть, не связана, но очень странно: я могу console.log поддержать медиа-запрос запросаи увидеть его следы prop (массив с ожидаемыми 1 видео и 2 звуковыми дорожками), однако, если я пытаюсь получить доступ к свойству track в перехватчике сообщений LOAD, я получаю undefined.
В настоящее время я не могу заглянуть вКод отправителя iOS пока отсутствует, поэтому я попытался устранить источники ошибок на стороне получателя.Дело в том, что
Я всегда предполагал, что при загрузке списков воспроизведения HLS приемник самостоятельно определяет альтернативные звуковые дорожки.Верно ли это предположение или AudioTracksManager может обращаться только к трекам, которые ранее были определены в приложении-отправителе?
Я не смог найти четкое утверждение об этом в справочнике Google Cast ...