Videojs动态轨道(字幕)添加

Videojs dynamic track (subtitles) addition

可以在播放器初始化时添加字幕,如

<video id="my-video" class="video-js" controls preload="auto" data-setup="{}">
<source src="'.$video.'" type="video/mp4" />
<track kind="captions" src="sub.vtt"  label="user defined" />;

</video>

但我想动态添加 vtt 文件而不刷新页面或其他任何东西。我该怎么做。

问候。

var video=videojs('my-video');
            video.addRemoteTextTrack({
                kind: 'captions', 
                label:'user defined',
                src: 'uploads/srt/'fileName' }, false);

会完成工作。

文本轨道从未动态更新,经过长时间的搜索,我找到了解决问题的方法。当我更改视频源时,我会替换文本轨道并将其设置为 mode="showing":

let player = videojs('first-player');
player.addRemoteTextTrack({
            kind: 'captions',
            src: 'my-track-path.vtt',
            mode: 'showing'
}, false);