Хорошо. Надеюсь, это поможет кому-то другому. Это немного сбивает с толку, но похоже, что происходит.
После того, как I addRemoteTextTrack()
, player.textTracks().length
становится 2.
- Один из них -
kind=metadata
- Другой -
kind=subtitles
(тот, который я явно добавил)
Я слушал kind=metadata
cuechange
, предполагая, что удаленно добавленный трек был единственным в списке треков, и он срабатывает в нужное время на видео, даже без я загружаю удаленную текстовую дорожку. Я думаю, это означает, что в загружаемом потоке есть какая-то дорожка metadata
для встроенных ключевых точек.
Когда я добавляю удаленную дорожку, попытка прослушивания дорожки kind=subtitle
не кажется чтобы запустить событие cuechange
, но я думаю, что это из-за видео js приоритета трека . Ни на одном из треков не было mode=showing
, поэтому события cuechange
запускались только для одного с приоритетом (первый элемент в массиве списка треков ... metadata
один).
Решение состоит в том, чтобы просто добавить mode=showing
к треку, который я явно добавляю для придания ему приоритета:
player.addRemoteTextTrack({
src: 'http://[somepath/to/vtt]',
mode: 'showing'
})
Теперь это позволяет мне прослушивать элемент списка треков, где kind=subtitle
, и получать фактический текст