Jak dostat text z TextTrackCueList rubrika: Programování: JavaScript

4 stirl021
položil/-a 20.11.2017
 
upravil/-a 20.11.2017

Mám video a k němu soubor s titulky .vtt:

<video controls id="audiofile" width="500" height="100">
  <source src="audio-file-with-one-sentence.wav" type="audio/wav">
  <track kind="captions" src="transcript.vtt" label="English" srclang="en">
</video>

Vytáhnu si data z tracku:

function getTrack() {
  var audio = document.getElementById('audiofile');
  return audio.textTracks[0];
}

A chci si je poskládat do věty:

function joinWordsToSentence() {
  var track = getTrack();
  var sentence = [];
 
  console.log(track.cues); 
//...
 
}

console.log(track.cues) mi vrací:

TextTrackCueList {length: 0}
      0: VTTCue {vertical: "", snapToLines: true, line: "auto", position: "auto", size: 100,}
      1: VTTCue {vertical: "", snapToLines: true, line: "auto", position: "auto", size: 100,}
      2: VTTCue {vertical: "", snapToLines: true, line: "auto", position: "auto", size: 100,}
      3: VTTCue {vertical: "", snapToLines: true, line: "auto", position: "auto", size: 100,}
      4: VTTCue {vertical: "", snapToLines: true, line: "auto", position: "auto", size: 100,}
       length:5

Jak tím objektem projdu a vytahám text?
https://github.com/stirl021/audiohighlight

odkaz Vyřešeno
4 stirl021
odpověděl/-a 24.11.2017

Trivialita spočívala v timingu. Soubor s titulky v tagu se načítal později/déle než skript. Stačilo počkat na načtení titulků
var captions = document.getElementById('en-sub'); captions.addEventListener('load', funkcenazpracovánítitulků, false).

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.