我正在使用VideoJS,CDN托管版本工作正常,但我希望离线使用VideoJS并修改CSS,所以我自己主持。
我在videojs.js上收到一个未定义的错误:
this.player.textTrackDisplay.addComponent(this);
我知道我的captions.vtt文件是正确的,因为它与demo html文件一起使用。我的标记:
<div id="mainVideoList">
<video id="mainVideoOne" class="video-js vjs-default-skin" width="956" height="538" autoplay preload="auto" loop data-setup="{}">
<source type="video/mp4" src="assets/Penguins.mp4">
<track kind="subtitles" src="src/videojs/captions.vtt" default>
</video>
</div>
视频播放正常,但错误被抛出,并且没有显示字幕。
感谢。
编辑:如果我将标题设置为默认值,并且控件不可见,则仅抛出错误。
答案 0 :(得分:0)
不幸的是,您正在寻找的章节功能尚未在videojs版本4.x中运行 - 这是一个已知问题:
https://github.com/videojs/video.js/issues/676
然而,较旧的3.x版本确实有效。我已经成功地使用v3.2来提供带有章节的视频(甚至在IE6中工作) - 但是早期版本的播放器既不可访问也不响应(没有太多额外的努力)。
为了快速处理未被捕获的TypeError(没有足够的时间来更彻底地处理这个问题),我添加了以下创可贴:
if (typeof component === 'undefined') return;
到函数
vjs.Component.prototype.addChild
就在行前:
this.children_.push(component);
(在我正在使用的v4.3的非缩小版本中,这将在1660行左右。)
这显然无法修复破坏的章节功能,但会捕获抛出的错误。
我建议不时查看此链接,因为在过去几个月内似乎(最终)会对此问题进行一些前进:https://github.com/videojs/video.js/issues/676