angular - 在 Angular2 Typescript 上使用 VTTCue 对象

标签 angular typescript npm

我想在视频上动态加载字幕。

    let subs:TextTrack = video.addTextTrack('subtitles');

    for (let dataSrt of dataSrts) {
        let cue: any = new VTTCue(
            dataSrt['startTime'],
            dataSrt['endTime'],
            dataSrt['text']
        );

        subs.addCue(cue);
    }

    subs.mode = "showing";

这实际上工作得很好,但编译器似乎不知道 VTTCue 对象。

有一个 TextTrackCue 对象,但目前不适用于任何浏览器。

问题是,当我使用 npm start 启动服务器时,错误会阻止启动,但如果我在启动后更改代码,一切都会正常工作。

我尝试添加一个空的 VTTCue 类(cpp 样式),但 typescript 不喜欢它。

提前致谢

最佳答案

要使用没有 Typescript 提示属性存在的对象,您可以将其转换为任何对象,并且由于 VTTCue 应该出现在窗口对象上,因此您可以执行以下操作:

let cue: any = new (<any>window).VTTCue(...);

或者使用 TSX 语法(如 <> 现在为 JSX 保留):

let cue: any = new (window as any).VTTCue(...);

关于angular - 在 Angular2 Typescript 上使用 VTTCue 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43718504/

相关文章:

css - Angular2 - ng2-completer Bootstrap css

angular 5 预期有 0​​ 个参数,但得到 1 个

html - 禁用在textarea中键入

node.js - 类中的静态变量在 app.listen 的回调中未定义

version-control - 一次开发多个 npm 模块的方法(具有交叉依赖)

angular - 在 Docker 上构建 Node/NPM Angular 镜像时出错

node.js - 我可以将 npm 设置为使用 .pac 文件吗?

javascript - 使用 jasmine/karma、spyOn 进行 Angular 组件测试

javascript - 将 @Input() 对象属性分配给组件

typescript - 为什么长度应该是索引器的子类型?