0

Chromecast 开发人员文档说 WebVTT 和 TTML 都是支持的媒体类型: https ://developers.google.com/cast/supported_media_types


在视频元素的“轨道”标签中使用 WebVTT 文件时,我看到了字幕:

<video id="vid" src="http://myurl">
    <track kind="captions" src="http://10.16.236.23/test.vtt" srclang="en" label="English" default>
</video>

但是当我尝试使用有效的 TTML 文件执行相同操作时,我看不到字幕:

<video id="vid" src="http://myurl">
    <track kind="captions" src="test.ttml" srclang="en" label="English" default>
</video>


当我在调试器控制台中检查视频元素时,对于 WebVTT 示例,我可以看到

document.getElementById('vid').textTracks[0].cues.length;

16

但对于 TTML:

document.getElementById('vid').textTracks[0].cues.length;

0


我在正确的轨道上还是以不同的方式支持 TTML?Chromecast 可能不支持我的 TTML 语法?

4

2 回答 2

1

与 webVTT 不同,TTML 不受本机支持。如果您需要在您的应用程序中支持它,您可以简单地编写一个 Javascript 解析器来解析文件并使用 addTextTrack() 等方法在 javascript 中将提示添加到您的视频元素中。

于 2013-10-24T18:14:39.733 回答
1

根据Cast Player API,Chromecast 现在支持 WebVTT、TTML1 和 CEA-608(第 21 行字幕)字幕格式。只需将CaptionsType字幕格式的枚举传入播放器的enableCaptions()方法即可。

于 2016-01-26T20:15:31.093 回答