Flash Actionscript 3-从另一个函数内部调用onLoadProgress函数
我有一个AS3功能,加载音频文件,然后播放。我有第一个音频文件的预加载程序工作-现在我需要在第二个音频文件开始之前运行预加载功能Flash Actionscript 3-从另一个函数内部调用onLoadProgress函数,flash,actionscript-3,actionscript,Flash,Actionscript 3,Actionscript,我有一个AS3功能,加载音频文件,然后播放。我有第一个音频文件的预加载程序工作-现在我需要在第二个音频文件开始之前运行预加载功能 myMusic.addEventListener(ProgressEvent.PROGRESS, onLoadProgress2, false,0, true); myMusic.addEventListener(Event.COMPLETE, playMusicNow, false, 0,true); myMusic.load(soundFile, myCo
myMusic.addEventListener(ProgressEvent.PROGRESS, onLoadProgress2, false,0, true);
myMusic.addEventListener(Event.COMPLETE, playMusicNow, false, 0,true);
myMusic.load(soundFile, myContext); //This code works
以下是播放代码:
//这个代码不起作用
function receiveText1(value:String):void {
channel.stop();
channel2.stop();
songPosition = 0;
soundFile2 = new URLRequest(jsVariableValue1);
myMusic2= new Sound(); //Intstantation
myMusic2.load(soundFile2, myContext);
//need to run preloader here
soundFile2exist = null;
}
以下是我的事件侦听器和预加载程序:
myMusic2.addEventListener(ProgressEvent.PROGRESS, onLoadProgress, false,0, true);
myMusic2.addEventListener(Event.COMPLETE, playMusicNow, false, 0,true);
function onLoadProgress(evt:ProgressEvent):void {
progBar.alpha = .70;
prcLoaded.alpha = .70;
var pcent:Number=evt.bytesLoaded/evt.bytesTotal*100;
prcLoaded.text =int(pcent)+"%";
progBar.width = 90 * (evt.bytesLoaded / evt.bytesTotal);
}
我想我可以打电话
onLoadProgress(evt:ProgressEvent);
从函数内部,但我得到一个错误
1084: Syntax error: expecting rightparen before colon.
为什么要手动调用“onLoadProgress”
它应该自动执行(如果您的文件未缓存,并且您正在正确添加侦听器
我在您的问题中看到了您的addEventListener,但您没有显示添加此侦听器的位置/时间。
无论如何,如果要执行onLoadProgress,应执行以下操作:
var bytesLoaded:uint = 50;
var bytesTotal:uint = 100;
var evt:ProgressEvent = new ProgressEvent( ProgressEvent.PROGRESS, false, false, bytesLoaded, bytesTotal);
onLoadProgress(evt);
您必须注意,您需要创建一个“假”进度事件,并分配假bytesLoaded和ByTestTotal值。即使知道onLoadProgress只执行一次。
我相信这不是你想要的
请更好地解释您试图执行的操作。我在函数中添加了事件侦听器,现在一切正常。这是编译错误还是运行时错误?您不能调用声明参数类型的函数。请考虑通过侦听器函数和代码上的另一个位置创建共享函数。是否可行le调用同一个函数?或者我应该将事件侦听器放在ReceiveText1函数中吗?在我看来,将事件侦听器放在函数外部应该侦听myMusic2.load以开始加载。一旦发生这种情况,它应该运行onLoadProgress函数。我缺少什么?@Jacob这是一个编译错误,我将尝试更好地解释一下。我有一个从加载MP3的javascript调用的函数。我需要在单击javascript按钮时运行onLoadProgress事件。我原以为它会使用eventListener自动运行,但它不工作。加载初始MP3时加载器工作,但在加载第二个MP3时不工作(ReceiveText1)。我需要在第二个mp3开始播放之前重新加载。知道我做错了什么吗?我用有效代码和无效代码更新了我的问题