MediaElment.js: Wie ändere ich die Quelldateien von Untertiteln (Trackelement) im laufenden Fliegen?
-
27-10-2019 - |
Frage
So ändern Sie die Quelldateien von Untertiteln im laufenden Flugu003Ctrack> Element) beim Ändern einer Videoquelle (über die Methode setSrc ())?
Mit anderen Worten, wenn ich ein Video abgespielt habe, verwende ich die SetsRC () -Methode, um die Videoquelle zu ändern, und ich würde auch die verknüpften Untertiteldateien (SRT) neu definieren.
Lösung
Ein Trick, den ich entwickelte, bestand darin, eine ID auf dem Untertitelspur festzulegen
<track id="subtitles" kind="subtitles" src="subtitles.srt" srclang="en" />
Dann können Sie in jedem Ereignis, den Sie benötigen, verwenden können:
$('#subtitles').attr('src', 'different_subtitles.srt');
player.findTracks();
player.loadTrack(0);
player.setSrc('different_video.mp4');
Es kann eine elegantere Möglichkeit geben, dies zu tun, und Medienelemente sollten dafür wirklich eine API bereitstellen. Aber in der Zwischenzeit sollte dieser Trick Sie vorbeikommen.
Andere Tipps
Dies funktioniert nicht ganz für jedes Ereignis (wie "Ende"). Während dieser Code die Spurquelle zuverlässig lädt und ändert, wird bei einer bereits angezeigten Sprache den neu "Sourced" -Frack mit einem neuen Video nicht angezeigt, es sei denn, der CC ist auf keine und dann auf eine Sprache festgelegt.