2011-07-26 3 views
2

ビデオソースを(setSrc()メソッド経由で)変更するときに、元々は字幕のソースファイルを変更するにはどうすればいいですか?(元は<トラック>要素を介してHTMLで定義されています)MediaElment.js:その場で字幕(トラック要素)のソースファイルを変更するにはどうすればよいですか?

つまり、ビデオを再生するときに、ビデオソースを変更するsetSrc()メソッドを使用し、リンクされているサブタイトルファイル(SRT)も再定義します。

+0

あなたはこれを行う方法を見つけましたか? – Steve

答えて

3

私が考案したトリックは、あなたが使用できる必要があるものは何でもイベントの内側に続いて字幕トラックに

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

をIDを設定することでした:

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

に、よりエレガントな方法があるかもしれませんこれについては、MediaElementJSは実際にこのためのAPIを提供する必要があります。しかし、その間にこのトリックはあなたを得るでしょう。

1

これは、すべてのイベント(「終了」など)ではうまく機能しません。このコードは確実に&のTRACKソースを読み込みますが、既に言語が表示されている場合は、CCがNoneに設定され、言語が設定されていない限り、新たにソースされたTRACKを新しいビデオで表示しません。

+0

CraigBで述べたように、トラックをnoneに設定してから、再度言語をロードする必要があります。 player.setTrack( 'none')を追加する。 player.setTrack( 'en'); findTracks()のloadTrack(0)がうまく動作した後。 –

関連する問題