Hy!ChromeCast TTML帶平滑流式處理和PlayReady的隱藏式字幕
我想創建一個支持TTML類型隱藏式字幕的應用程序。
我的主機/清單文件包含基於TTML的隱藏式字幕,我想問如何使用它?
我發現這個網站, https://developers.google.com/cast/docs/player 他們描述如下:
分段TTML & WebVTT插入
使用分段的TTML的平滑流和WebVTT插入 - 爲HLS網絡視頻文本軌道。
要啓用:
protocol_.enableStream(streamIndex,TRUE); player_.enableCaptions(true);
但我找不到我的問題的例子。在接收端創建我的主機後,我必須啓用它嗎? 有沒有任何示例應用程序?
更新#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()?
非常感謝!
謝謝您的回覆! 我更新了我的代碼並實現了onMetadataLoaded事件,但此事件未被觸發。你怎麼看,可能是什麼問題? 謝謝! –
我可能會誤解,但不是事件「loadedmetadata」的正確名稱? –
哦,你是對的,它被加載元數據,我糾正了代碼,但事件仍然沒有被解僱,我仍然沒有得到它。 :( –