我正在构建一个非常简单的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();
}
}
}
}
答案 0 :(得分:2)
我需要的是让它开始 尽快播放音乐 页面已加载。任何想法如何 我应该这样做吗?
页面的概念在应用程序中并不能很好地工作,而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事件上执行某些操作。
答案 1 :(得分:0)
好吧,因为你的电影中的代码会在加载后立即开始运行,这将是(在...之前?)页面加载时间,为什么不调用启动音乐的函数而不是监听鼠标事件?
如果您因为某些原因(可疑)在启动音乐之前需要确保页面已加载,那么您需要在主页中使用一些javascript来监听onload事件等。