我正在尝试构建诸如视频库之类的东西,您可以通过单击其缩略图来选择要显示的视频。现在,我处于为所选视频加载适当的字幕的阶段。多亏了谷歌,我知道videojs有一个可以帮助我的方法addTextTrack(),但不幸的是,没有一个好的示例或文档。毕竟,我试图通过阅读video.dev.js代码来找到其参数和行为。但是据我了解,此方法只有三个参数(种类,标签,语言),而我不了解的是:如何设置src来加载字幕文件。我认为这是一个错误,并且无法正常运行,如果您同意我的看法,我想报告该错误。

以下代码将cc图标添加到播放器,但未显示字幕(当我不告诉他要加载的网址时,如何显示)

var myPlayer = videojs('video-id');
myPlayer.addTextTrack('captions', 'En', 'English');


我检查了videojs 5.0.0 addTextTrack方法,没有任何重大更改。

最佳答案

在大约一个月没有回答我的问题之后,我仍然不知道为什么addTextTrack()无法正常工作。但是感谢上帝,我找到了实现目标的方法:

动态更改所有文本轨道

var oldTracks = player.remoteTextTracks();
var i = oldTracks.length;
while (i--) {
  player.removeRemoteTextTrack(oldTracks[i]);
}
myNewTracks.forEach(function(track) {
  player.addRemoteTextTrack(track);
});

10-06 01:00