MediaElement.js: Comment modifier les fichiers source de sous-titres (élément de piste) à la volée?

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

Question

Comment modifier les fichiers source de sous-titres à la volée (définie à l'origine dans le code HTML via élément) lors de la modification d'une source vidéo (via la méthode setSrc ())?

En d'autres termes, lors de la lecture d'une vidéo que j'utilise la méthode setSrc () pour changer la source vidéo et je redéfinir également les fichiers de sous-titres (SRT) liés.

Était-ce utile?

La solution

Une astuce j'ai conçu était de mettre une pièce d'identité sur la piste de sous-titres

<track id="subtitles" kind="subtitles" src="subtitles.srt" srclang="en" />

Alors à l'intérieur de tout événement dont vous avez besoin, vous pouvez utiliser:

$('#subtitles').attr('src', 'different_subtitles.srt');
player.findTracks();
player.loadTrack(0);
player.setSrc('different_video.mp4');

Il peut y avoir une façon plus élégante d'aller à ce sujet et MediaElementJS vraiment devrait fournir une API pour cela. Mais en attendant cette astuce devrait vous passer.

Autres conseils

Cela ne fonctionne pas tout à fait pour chaque événement (comme « terminé »). Bien que ce code ne charge de manière fiable et changer la source TRACK, si vous avez une langue déjà l'affichage, il ne sera pas afficher la nouvelle « source » TRACK avec une nouvelle vidéo à moins que le CC est réglé sur Aucun et une langue.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top