MediaElment.js: ¿Cómo cambiar los archivos de origen de los subtítulos (Elemento de seguimiento) en la mosca?
-
27-10-2019 - |
Pregunta
Cómo cambiar los archivos de origen de los subtítulos en la mosca (originalmente definida en el HTML a través deu003Ctrack> elemento) ¿Al cambiar una fuente de video (a través del método setSrc ())?
En otras palabras, al reproducir un video, uso el método SetSrc () para cambiar la fuente de video y también redefiniría los archivos de subtítulos (SRT) vinculados.
Solución
Un truco que ideé fue establecer una identificación en la pista del subtítulo
<track id="subtitles" kind="subtitles" src="subtitles.srt" srclang="en" />
Luego, dentro del evento que necesite que pueda usar:
$('#subtitles').attr('src', 'different_subtitles.srt');
player.findTracks();
player.loadTrack(0);
player.setSrc('different_video.mp4');
Puede haber una forma más elegante de hacer esto y los mediaselementos realmente deberían proporcionar una API para esto. Pero mientras tanto, este truco debería llevarte.
Otros consejos
Esto no funciona para cada evento (como 'finalizado'). Si bien este código carga y cambia de manera confiable la fuente de la pista, si ya tiene un idioma que ya se muestra, no mostrará la pista recién 'de origen' con un nuevo video a menos que el CC esté configurado en ninguno y luego un idioma.