从VTT章节获取提示跟踪Video.js

时间:2016-12-08 09:08:21

标签: javascript video.js webvtt cue

我想从我的Video.js对象中加载的章节文件中获取提示。我已经找到了如何获取曲目,但我需要id才能访问它。

player.textTracks().getTrackById(<trackID>);

我找到了在Video.js 5.14.0库中定义id的位置:

// video.js/dist/video.js (line 19195)
var trackProps = {
  id: options.id || 'vjs_track_' + Guid.newGUID(),
  kind: options.kind || '',
  label: options.label || '',
  language: options.language || ''
};

您似乎可以通过将对象传递给函数来定义自己的id

// video.js/dist/video.js (line 19178)
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

我加载章节曲目如下:

<track kind="chapters" src="chapters.vtt" srclang="en" default>

我已经读过您可以动态添加曲目文件,但您必须重新加载Video.js对象。

1 个答案:

答案 0 :(得分:1)

您可以获取所有曲目,然后获得chapters类型的曲目:

player.on('loadedmetadata', function () {
    var tracks = player.textTracks(),
            chapterTrack;

    for (var i=0; tracks.length > i; i++) {
        if ('chapters' === tracks[i].kind) {
            chapterTrack = tracks[i];
        }
    }

    console.log(chapterTrack.cues);
});

https://github.com/videojs/video.js/blob/master/docs/guides/text-tracks.md#working-with-text-tracks