Mediaelment.js: как изменить исходные файлы субтитров (трек -элемент) на лету?
-
27-10-2019 - |
Вопрос
Как изменить исходные файлы субтитров на лету (первоначально определяемый в HTML черезu003Ctrack> Элемент) При изменении источника видео (через метод setSrc ())?
Другими словами, при воспроизведении видео я использую метод setSrc () для изменения источника видео, а также переопределяю связанные файлы подзаголовок (SRT).
Решение
Улов, который я разработал, состояла в том, чтобы установить идентификатор на треке подзаголовок
<track id="subtitles" kind="subtitles" src="subtitles.srt" srclang="en" />
Тогда внутри любого события, которое вам нужно, вы можете использовать:
$('#subtitles').attr('src', 'different_subtitles.srt');
player.findTracks();
player.loadTrack(0);
player.setSrc('different_video.mp4');
Может быть более элегантный способ сделать это, и MediaElementJs действительно должен предоставить API для этого. Но тем временем этот трюк должен вас пройти.
Другие советы
Это не совсем работает для каждого события (например, «закончилось»). В то время как этот код надежно загружает и изменяет источник трека, если у вас уже есть язык, он не будет отображать недавно «источник» трек с новым видео, если CC не установлен ни на один, а затем на язык.