我想在视频上动态加载字幕。
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/