MediaElment.js: Come modificare i file di origine di sottotitoli (elemento track) al volo?
-
27-10-2019 - |
Domanda
Come cambiare i file di origine di sottotitoli al volo (originariamente definito in HTML tramite
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.
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.