Events ActionScript ProgressBar ProgressBarMode.EVENT

Events ActionScript ProgressBar ProgressBarMode.EVENT,events,actionscript,progress-bar,Events,Actionscript,Progress Bar,我是flash和actionscript的新手 可以看到正在讨论的页面 我的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;

我是flash和actionscript的新手

可以看到正在讨论的页面

我的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,然后使用完整事件渲染电影剪辑的控件

多谢各位

编辑:完整事件在测试后立即触发,但在播放整个剪辑后触发。视频文件加载但未播放后,如何启动event.complete?多谢各位

编辑:我可以在progressHandler中比较bytesloaded和totalbytes。。。但问题是进度动画永远不会完全完成,我想在切换显示设置之前显示一个完整的进度条

编辑:加载完整文件后,如果我不隐藏动画,则progressbar将完成加载动画,以便解决我的问题


然而:我仍然愿意接受一些提示,关于是否有更好的方法来完成这项工作,使用一些完整的事件,一旦源mp4文件被完全下载,就会触发。谢谢。

假设您使用的是FLVPlayer

不确定您的命名约定,但如果我正确阅读了代码,splashVid是FLVplayer的实例名称。
因此,您需要做的是倾听玩家的声音,而不是进度条。
按照


如果这不正确,您需要删除所有编辑,并发布1个问题和有关应用程序的更多细节。

假设您使用的是FLVPlayer

不确定您的命名约定,但如果我正确阅读了代码,splashVid是FLVplayer的实例名称。
因此,您需要做的是倾听玩家的声音,而不是进度条。
按照


如果这不正确,您需要删除所有编辑,并发布1个问题和有关应用程序的更多详细信息。

VideoEvent.READY通知元数据,如加载请求时的持续时间和火焰,而不是整个剪辑准备好/已下载时。VideoEvent.READY通知元数据,如加载请求时的持续时间和火焰加载,而不是在整个剪辑准备就绪/已下载时加载。
splashVid.addEventListener(VideoEvent.READY, doSwitch);