簡體   English   中英

在Flash中預加載多個視頻?在Flex?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM