喂!
我想要创建一个应用程序,它支持TTML类型的封闭标题。
我的ism/清单文件包含基于TTML的封闭标题,我想问如何使用它?
我找到了这个网站,https://developers.google.com/cast/docs/player,他们在这里描述了以下内容:
分段TTML & WebVTT
将分段的TTML用于平滑流,使用WebVTT - Web视频文本轨道进行HLS。
使:
protocol_.enableStream(streamIndex,真);player_.enableCaptions(真);
但我找不到一个例子来解释我的问题。在接收端创建我的主机之后,我必须启用这个功能吗?这有什么样的应用程序吗?
更新#1
这是我的密码:
window.onload = function() {
var mediaElement = document.getElementById('video'); //video is a html video tag
var mediamanager = new cast.receiver.MediaManager(mediaElement);
var url = "http://playready.directtaps.net/smoothstreaming/SSWSS720H264/SuperSpeedway_720.ism/Manifest"; //Just a sample URL
var host = new cast.player.api.Host({ 'mediaElement': mediaElement, 'url': url });
window.player = new cast.player.api.Player(host);
protocol = cast.player.api.CreateSmoothStreamingProtocol(host);
var initStart = 0;
window.player.load(protocol, initStart);
mediamanager.loadedmetadata = function(loadinfo) {
//onMetadataLoaded fired, set the caption
}
}它不起作用。所以我决定去找溪流:
var streamCount = protocol.getStreamCount();streamCount包含0。清单包含封闭的标题,我应该使用其他的东西,而不是getStreamCount()吗?
非常感谢!
发布于 2014-03-06 17:52:05
正确的方法是侦听元数据事件。一旦该事件被触发,您就可以获得流计数,但在触发该事件之前不要这样做。然后,您可以为您想要的索引启用流(对于您想要的语言,以防有多个),然后启用标题。如果要更改语言,首先需要禁用标题,然后选择不同的流索引,然后再次启用。
发布于 2014-03-06 12:17:41
还没有样品。
是的-你应该启用后,创建主机,并开始播放。
https://stackoverflow.com/questions/22221346
复制相似问题