是否可以在編譯時嵌入swf中的數據(使用[Embed]
元標籤)播放視頻?將二進制視頻數據嵌入到swf文件中
由Flash CS3等提供的「導入Video->嵌入」功能是不能接受的,因爲它有許多嚴重的限制(包括聲音的同步問題,幀的最大數量,以及其他警告)
I」 m感興趣的是能夠將swf中的flv視頻數據(以及其他資源)捆綁在一起,這些數據將由AIR應用程序播放。
我不認爲這是可以做到的。任何人不同意?
是否可以在編譯時嵌入swf中的數據(使用[Embed]
元標籤)播放視頻?將二進制視頻數據嵌入到swf文件中
由Flash CS3等提供的「導入Video->嵌入」功能是不能接受的,因爲它有許多嚴重的限制(包括聲音的同步問題,幀的最大數量,以及其他警告)
I」 m感興趣的是能夠將swf中的flv視頻數據(以及其他資源)捆綁在一起,這些數據將由AIR應用程序播放。
我不認爲這是可以做到的。任何人不同意?
只要你的視頻是FLV,那麼答案是肯定的 - 你可以使用NetStream.appendBytes()
發揮嵌入式ByteArray
:
public class Main extends MovieClip
{
[Embed(source="sample.flv", mimeType="application/octet-stream")]
private var SampleVideo:Class;
public function Main():void
{
var video:Video = new Video(320, 240);
addChild(video);
var netConnection:NetConnection = new NetConnection();
netConnection.connect(null);
var netStream:NetStream = new NetStream(netConnection);
netStream.client = {};
video.attachNetStream(netStream);
var byteArray:ByteArray = new SampleVideo();
netStream.play(null);
netStream.appendBytes(byteArray);
}
}
您可以使用Flash IDE將flv導入swf文件 - 我之前完成了此操作。您可以將它放到MovieClip的時間軸上,就像聲音一樣,然後將該movieclip放到舞臺上播放。在Flash CS3中,執行文件>導入>導入視頻並選擇flv。選擇視頻,然後在嚮導的下一站選擇「嵌入.....」,這是一個鏈接到Adobe Developer center article on embedding flvs into swfs。
我自己並沒有這樣做,但我看不出有什麼理由可以從加載的swf的庫中訪問flv。
僅供參考:看起來這是一個延遲的錯誤。它看起來不像Adobe當前允許使用嵌入元標記進行嵌入。這裏是關於該問題的forum post以及指向bug tracker的鏈接。
它可以嵌入視頻與Flash IDE中的SWF文件,但它不是一個非常好的選擇:
「播放僅限於簡單的播放和停止命令,以及視頻 幀率必須匹配的主機 電影, 將需要創作的 最低公分數下載 速度的重要考慮因素。「
「嵌入式 視頻最大的限制是具有最大 16000幀和音頻同步的不能 維持超過兩分鐘左右的電影。」
這些報價來自this article。這有點舊,但據我所知,關於嵌入視頻的說法仍然存在。
這是一個很好的觀點。我知道Flash CS3的「導入視頻 - >嵌入」功能,但由於這些原因,這不是一個可接受的解決方案。 我正在尋找_另一種方式來嵌入視頻。我想象的是像實例化一個`[Embed]`類的類並傳遞給視頻播放器。 – aaaidan 2008-10-15 03:21:42
哦,是的,顯然你可以使用Embed
元標記嵌入二進制數據在瑞士法郎。
[Embed(
source="local_data_file.flv",
mimeType="application/octet-stream") ]
private static var __FlvClass123:Class;
protected static var flvData:ByteArray = new __FlvClass123();
是否可以播放從ByteArray的嵌入式視頻與否不是我不能回答這個階段拉上......
不幸的是這種方法有很多,我不能忍受警告的。最大的問題是聲音同步問題,但也有framecount限制和其他misc限制。 我已更新問題。謝謝回答! – aaaidan 2008-10-15 03:23:29
感謝詹姆斯的這些鏈接,特別是kirupa.com的主題。讓我感覺不那麼瘋狂。 – aaaidan 2009-03-20 22:47:29