我正在编写一个教程,在actionscript中创建一个mp3播放器。当我删除前4行代码时,.swf仍能正常工作!我认为您需要为稍后创建的每个对象声明要导入的类。
import flash.events.MouseEvent;
import flash.media.Sound;
import flash.net.URLRequest;
import flash.media.SoundChannel;
//Objects and Variables
var myMusic:Sound= new Sound();
var soundFile:URLRequest = new URLRequest ("bobDylan.mp3");
var channel:SoundChannel = new SoundChannel();
//Listeners
btnPlay.addEventListener(MouseEvent.CLICK, playMusic);
btnStop.addEventListener(MouseEvent.CLICK, stopMusic);
function stopMusic(evt:MouseEvent):void{
channel.stop();
}
function playMusic(evt:MouseEvent):void
{
myMusic.load(soundFile);
channel = myMusic.play();
}
答案 0 :(得分:1)
看起来您正在使用Flash IDE。如果是这种情况,那么你可以期待它比你期望(或者想要的)更宽容。 Flash可能正在为您导入类(检查您的发布设置并确保它们处于严格模式以强制解决此问题)。如果是,则创建的对象仍然是您期望的对象,但不信任它,修复代码。
我每次导入的三件事是类,函数(例如setTimeout)和命名空间(在Flex中使用了很多mx_internal)。