[英]Pre-Load Multiple Videos in Flash? In Flex?
我正在做一個我們連續播放多個視頻的項目,如果我們通過提供流網址以正常方式加載它們,那么每次我們開始下一個視頻時都會出現加載延遲。
我查看了Adobe的Flash和Flex文檔,但我找不到預加載視頻的方法。 在這個應用程序中嵌入它們是行不通的。 理想情況下,我們會預先加載它們,同時顯示進度條或其他短視頻,並且只在加載了所有視頻時啟動視頻播放。
我不習慣向其他人詢問編程問題,我是RTFM,但我發現Adobe文檔缺乏,而且谷歌搜索flash / flex問題很難。 有很多東西需要篩選,我找不到相關的技術/解決方案。
對於Flex / Flash,我對其中任何一個或兩者的解決方案感興趣。 也許它是一樣的,因為它是動作腳本?
您可以嘗試查看bulk-loader
項目,看看它是否對此有用。
首頁的摘錄:
“BulkLoader是一個用Actionscript 3(AS3)編寫的最小庫,旨在使加載和管理復雜的加載需求變得更加容易和快速.BulkLoader采用更加動態,更少架構的方式[原文如此]。很少有進口和大量使用AS3的動態功能,BulkLoader具有單線感,不會妨礙你。“
這應該非常簡單。 對於直接閃光,請使用fl.video。 VideoPlayer或fl.video。 FLVPlayback 。 創建多個播放器,每個視頻一個,使用您的源視頻的網址調用每個播放器上的load()。 然后偵聽VideoProgressEvent.PROGRESS事件以找出視頻加載的時間。 最后,您可以將視頻連續附加到可視組件,並調用play()來播放它們。
示例代碼(未測試):
var video1:VideoPlayer = new VideoPlayer();
video1.load("http://example.com/video1.flv");
video.addEventListener(VideoProgressEvent.PROGRESS,
function(e:VideoProgressEvent):void
{
if (e.bytesLoaded == e.bytesTotal)
{
trace("video1 loaded.");
parent.addChild(video1);
video1.play();
}
}
var video2:VideoPlayer = new VideoPlayer();
video2.load("http://example.com/video1.flv");
video.addEventListener(VideoProgressEvent.PROGRESS,
function(e:VideoProgressEvent):void
{
if (e.bytesLoaded == e.bytesTotal)
{
trace("video2 loaded.");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.