3

HTML5トラック要素をテストすると、キューはnullになります。TextTrackListとtrack要素がロードされているように見えます。また、VTTファイルにローカルでアクセスできないことを認識しており、サーバーでテストしています。誰か助けてもらえますか?前もって感謝します。

これは私のJavascriptです:

        var audioElement = document.querySelector("audio");
        var textTracks = audioElement.textTracks;
        var textTrack = textTracks[0];
        var ques = textTrack.cues;
        var que = ques[0];
        console.log(que);

HTMLは次のとおりです。

        <audio src="Audio Files/Q_firefox.ogg" controls>
        <track src="cues.vtt"></track>
        </audio>
4

1 に答える 1

2

トラックが再生されるとキュー値が変化するため、値が変化するのをリッスンし、テキストが変化するたびに関数を実行する必要があります。質問に基づいて次の例を試してください。

var audioElement = document.querySelector("audio");
var textTrack = audioElement.textTracks[0];

// When cue value changes run your code
textTrack.oncuechange = function(e) {
  var cue = this.activeCues[0];
  if(cue){
    console.log(cue.text);
  }
}
<audio src="http://html5-demos.appspot.com/static/video/track/Google_Developer_Stories.webm" controls>
  <track src="http://html5-demos.appspot.com/static/video/track/video-subtitles-en.vtt" default>
</audio>

また、HTML トラック タグを閉じる必要がないことにも注意してください。

于 2016-11-21T16:07:29.293 に答える