在ActionScript 3.0中在页面加载时执行脚本

问题描述

| 我正在构建一个非常简单的mp3播放器。我需要的是让它在页面加载后立即开始在加载时播放音乐。有什么想法我应该怎么做? 到目前为止,这是我的代码我有一个名为musicPlay的函数,我希望让该函数页面加载时执行。
package {
    import flash.display.MovieClip;
    import flash.events.MouseEvent;
    import flash.media.sound;
    import flash.net.URLRequest;

    public class mp3Player extends MovieClip {

        public function mp3Player(){

            btnPlay.addEventListener(MouseEvent.CLICK,musicPlay);

            function musicPlay (evt:MouseEvent):void {
                var myMusic:Sound = new Sound();
                var soundFile:URLRequest = new URLRequest(\'background.mp3\');
                myMusic.load(soundFile);
                myMusic.play();
            }

        }
    }
}
    

解决方法

           我需要做的就是开始   尽快播放有载音乐   页面已加载。任何想法如何   我应该这样做吗? 页面的概念在应用程序中并不是很有效,Flex主要用于应用程序。但是,在这种情况下,我怀疑您可以使用Flex的Application标签的applicationComplete方法实现所需的功能。 如果您将通用事件用作musicPlay函数的参数,则它可以响应click事件和applicationComplete事件。
        public function musicPlay (evt:Event):void {
            var myMusic:Sound = new Sound();
            var soundFile:URLRequest = new URLRequest(\'background.mp3\');
            myMusic.load(soundFile);
            myMusic.play();
        }
您提供给我们的语法很奇怪,因为您通常不会在另一个函数中定义一个函数。 (那还会编译吗?) 更新,由于发布者未使用Flex Framework,因此applicationComplete事件将不存在。这样,我可能会考虑将mp3播放器功能放在一个框架上,并在enterFrame事件上做一些事情。     ,        好吧,既然电影中的代码将在加载后立即开始运行,而加载大约在页面加载时间之前(即在此之前),为什么不调用调用音乐的函数而不是监听鼠标事件呢? 如果由于某种原因(令人怀疑)而需要在开始播放音乐之前确保页面已加载,那么您需要在宿主页面中使用一些JavaScript来监听onload事件等。