Mediaelment.js: как изменить исходные файлы субтитров (трек -элемент) на лету?

StackOverflow https://stackoverflow.com/questions/6830662

Вопрос

Как изменить исходные файлы субтитров на лету (первоначально определяемый в 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 не установлен ни на один, а затем на язык.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top