从javascript与VideoJS提示(vtt字幕)交互

时间:2015-03-29 02:45:36

标签: javascript google-chrome video.js

我正在尝试通过vttvideo.js文件中加载的提示进行交互。我可以从浏览器检查控制台轻松地重复,但从来没有从videojs加载成功函数。我怀疑textTrack被解析(我可以访问id,kind,mode属性)但是没有读取(cues为null)。如果有办法强制读取曲目或者我应该收听回调或事件,我在文档或来源中找不到任何地方。

感谢您的帮助!

基本的video.js调用。工作正常,显示字幕和视频:

<video id="video" ..... >
  <source ..... />
  <track kind="captions" src="captions.vtt" srclang="en" default />
</video>

js,尝试访问提示:

<script>
  videojs.options.flash.swf = '/static/js/video-js.swf';
  var player = videojs('video', {}, function(){
      var tracks = player.textTracks();
      var captions; // captions track

      // find all the tracks we care about
      for (var i=0; i<tracks.length; i++) {
        var isCaptions = tracks[i].kind === "captions"
        if (isCaptions) {
          captions = tracks[i];
        }
      }
      console.log(captions, captions.id, captions.kind, captions.mode, captions.cues);
      player.play();
    }
  );
</script>

的console.log:

t.t {d: t.Ea.extend.d, X: Array[0], Ga: Array[0], addEventListener: function, vdata1427596024498: 320…}
"vjs_text_track_316" "captions" "hidden" null

交互式控制台:

> c = player.textTracks()[0].cues[0].text
<- "first caption"

使用Google Chrome版本4.12.5

中最新的grunt构建的主分支(版本41.0.2272.104 (64-bit))进行测试

0 个答案:

没有答案