我正在尝试构建一些类似于视频库的内容,您可以通过单击其缩略图选择要显示的视频。现在我正处于为所选视频加载适当字幕的阶段。感谢谷歌我明白videojs有一个方法来帮助我调用addTextTrack(),但遗憾的是没有一个好的样本或文档。毕竟我试图通过阅读video.dev.js代码找到它的参数和行为。但据我所知这个方法只有三个参数(种类,标签,语言),我不明白的是:如何设置src来加载字幕文件。我认为它是一个错误而且它没有正常工作,如果你同意我,我想报告它。
以下代码将cc图标添加到播放器,但它没有显示副标题(当我没有告诉他加载的URL时如何显示)
var myPlayer = videojs('video-id');
myPlayer.addTextTrack('captions', 'En', 'English');
我检查了videojs 5.0.0 addTextTrack方法,但没有任何重大变化。
答案 0 :(得分:2)
大约一个月没有回答我的问题,我不知道为什么addTextTrack()无法正常工作。但是感谢上帝,我找到了实现目标的方法:
动态更改所有文字曲目
var oldTracks = player.remoteTextTracks();
var i = oldTracks.length;
while (i--) {
player.removeRemoteTextTrack(oldTracks[i]);
}
myNewTracks.forEach(function(track) {
player.addRemoteTextTrack(track);
});
答案 1 :(得分:0)
文本轨道从未动态更新,经过长时间的搜索,我找到了解决问题的方法。当我更改视频源时,我会替换文本轨道并将其设置为 mode="showing":
let player = videojs('first-player');
player.addRemoteTextTrack({
kind: 'captions',
src: 'my-track-path.vtt',
mode: 'showing'
}, false);