【发布时间】:2014-05-31 22:12:53
【问题描述】:
在 Chromecast 上玩了很多次以找到一个很好的隐藏式字幕解决方案(在我的项目中,我们已经使用 TTML 和分段 WEBVtt - 两者都不能“按原样”工作)我非常惊讶地发现我最后的亮点想法,不支持手动将“new VTTCue()”添加到 textTrack-element。
我在这里阅读了很多问题的答案,其中的答案类似于“自己动手”,例如Does Chromecast support TTML?。
您可以简单地编写一个 Javascript 解析器来解析 [ttml] 文件并将提示添加到您的视频中 javascript中的元素使用addTextTrack()等方法
嗯,它确实说这里支持 TTML https://github.com/googlecast/CastClosedCaptioning-chrome 但没关系。
因此未能通过谷歌搜索答案(VTTCue 的替代代码)我求助于专业人士 - 我如何添加不支持 VTTCue 的提示?
我真正认为(希望)的方法会起作用:
loadTTML().done(function(ttml){
var cueData = extractCueDataFromTTML(ttml);
var vid = document.querySelector('video');
vid.addTextTrack("subtitles", "sample");
var track = vid.textTracks[0];
cueData.forEach(function(cue){
track.addCue(new VTTCue(cue.start, cue.end, cue.text))
});
})
注意: 这是为了避免将 TTML 写入 WEBVtt 转换器或分段 WEBVtt 组合器
【问题讨论】:
标签: chromecast closed-captions ttml webvtt