VideoJS标题导致未定义的错误

VideoJS caption causing undefined error

本文关键字:错误 未定义 标题 VideoJS      更新时间:2023-09-26

我正在使用VideoJS, CDN托管版本工作得很好,但我希望离线使用VideoJS并修改CSS,所以我自己托管。

我在videojs.js上得到一个未定义的错误:

this.player.textTrackDisplay.addComponent(this);

我知道我的标题。VTT文件是正确的,因为它与演示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>

视频播放正常,但是抛出错误并且没有显示字幕。

谢谢。

编辑:只有当我将标题设置为默认,并且控件不可见时,才会抛出错误。

不幸的是,你正在寻找的章节功能不(尚未)在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