Domanda

Come cambiare i file di origine di sottotitoli al volo (originariamente definito in HTML tramite elemento) quando si cambia una sorgente video (tramite il setSrc () metodo)?

In altre parole, quando si gioca un video che uso setSrc () per sorgente video cambiamento e vorrei anche ridefinire i file di sottotitoli (SRT) collegato.

È stato utile?

Soluzione

Un trucco che ho ideato è stato quello di impostare un ID sulla traccia dei sottotitoli

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

Poi all'interno di qualsiasi evento è necessario si può usare:

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

Non ci può essere un modo più elegante per andare su questo e MediaElementJS davvero dovrebbe fornire un'API per questo. Ma nel frattempo questo trucco dovrebbe farti da parte.

Altri suggerimenti

Questa non abbastanza lavoro per ogni evento (come 'finito'). Anche se questo codice non affidabile caricare e cambiare la sorgente TRACK, se si dispone di una lingua già la visualizzazione, non viene visualizzata la traccia appena 'origine' con un nuovo video a meno che il CC sia impostato su Nessuno e quindi una lingua.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top