im flash和actionscript。ActionScript ProgressBar ProgressBarMode.EVENT
有問題的頁面可以看到here。
我的AS代碼:
import fl.video.*;
import fl.controls.ProgressBar;
import fl.controls.ProgressBarMode;
import flash.events.ProgressEvent;
import fl.events.ComponentEvent;
// FLVplayback control
splashVid.visible = false;
progressBar.mode = ProgressBarMode.EVENT;
progressBar.indeterminate = false;
progressBar.source = splashVid;
progressBar.addEventListener(Event.COMPLETE, doSwitch);
progressBar.addEventListener(ProgressEvent.PROGRESS, progressHandler);
function progressHandler(event:ProgressEvent):void
{
iLabel.text = Math.round(event.bytesLoaded).toString();
}
function doSwitch(e:Event):void
{
iLabel.text = "loaded";
}
的問題是,雖然progressHandler回調正常工作(使用ProgressEvent.PROGRESS)。 doSwitch回調從不觸發(Event.COMPLETE)。
您能否在我的方法中解釋錯誤?
目標:我正在嘗試加載固定大小的mp4,然後使用COMPLETE事件來呈現影片剪輯的控件。
謝謝。
編輯:測試完成後事件現在會觸發,但在整個剪輯播放後觸發。一旦視頻文件被加載但沒有播放,我將如何去發射event.complete?謝謝。
編輯:我可以在progressHandler中執行bytesloaded和totalbytes之間的比較...但問題是進度動畫永遠不會完全完成,我想在切換顯示設置之前顯示完整的進度條。
編輯:進度條完成加載動畫,如果我不隱藏它,一旦完整的文件已被加載,以照顧我的問題。
但是,我仍然打開關於是否有更好的方式來做這個使用某種完整的事件,一旦源mp4文件完全下載後觸發的技巧。謝謝。
VideoEvent.READY通知元數據如持續時間,並在加載請求時觸發,而不是在整個剪輯準備好/已下載時觸發。 – iTEgg