Flash Actionscript 3-从另一个函数内部调用onLoadProgress函数

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

我有一个AS3功能,加载音频文件,然后播放。我有第一个音频文件的预加载程序工作-现在我需要在第二个音频文件开始之前运行预加载功能

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开始播放之前重新加载。知道我做错了什么吗?我用有效代码和无效代码更新了我的问题