2015-07-13 55 views
0

在Flash動作腳本3.0中使用「視頻」創建視頻播放器。並使用網絡流播放視頻。示例代碼是:如何加載Flash視頻的字幕文本?

connection = new NetConnection(); 
connection.connect(null); 

關於連接成功流和視頻crested和播放。

stream = new NetStream(connection); 
video = new Video(); 
video.width = stage.stageWidth; 
video.height = stage.stageHeight; 
video.attachNetStream(stream); 

stream.play(videoURL); 

視頻播放正確。我想爲視頻顯示副標題。我有.srt formeted文件的視頻,AS3任何解決方案加載閃存視頻的SRT。

+0

編寫您自己的解析器。 – BotMaster

+1

你看過記事本里面的SRT嗎?它只是帶有時間碼和相關文本的文本文件。對於基於AS3的SRT文件解析器,您可以** [Google搜索](https://www.google.co.uk/?gws_rd=cr&ei=nqYkUqj1Osi20QXAhoHoDQ#q=as3+srt+parser)**,或者自己動手通過跟蹤視頻時間碼並使用enterFrame來檢查video_timecode == expected_SRT_Text_time(如SRT文件中的時間編碼)並顯示此類文本。 –

回答

1

編寫.srt解析器並不困難。使用AS3提供的CuePoint API在您的運行時向您的Video實例添加提示點。然後聽取onCuePoint事件並在文本字段中顯示相關文本。

var nc:NetConnection = new NetConnection(); 
nc.connect(null); 

var ns:NetStream = new NetStream(nc); 
var client = {}; 
client.onCuePoint = function(info:Object):void 
{ 
    var key:String; 
    for (key in info) 
    { 
     trace(key + ": " + info[key]); 
    } 
}; 
ns.client = client; 

var vid:Video = new Video(); 
vid.attachNetStream(ns); 
addChild(vid); 
ns.play("video.flv"); 

而不是跟蹤輸出,您可以在屏幕上的文本字段中顯示文本。