Flash 找不到声音的类型错误
我是ActionScript的新手。我想动态添加声音到我的flv。我有这个密码。我很肯定它是有效的,因为我在教科书里找到了它Flash 找不到声音的类型错误,flash,actionscript-3,flash-cs3,Flash,Actionscript 3,Flash Cs3,我是ActionScript的新手。我想动态添加声音到我的flv。我有这个密码。我很肯定它是有效的,因为我在教科书里找到了它 package{ import flash.display.Sprite; import flash.media.Sound; import flash.net.URLRequest; public class soundLoader extends Sprite{ private var sound:Sound; public function
package{
import flash.display.Sprite;
import flash.media.Sound;
import flash.net.URLRequest;
public class soundLoader extends Sprite{
private var sound:Sound;
public function soundLoader(){
sound = new Sound(new URLRequest("sound.mp3"));
addChild(sound);
}
}
}
当我尝试运行代码时,我收到了这些错误消息
1046:找不到类型或类型不是编译时常量:Sound
1180:调用可能未定义的方法声音
我哪里做错了?请,请帮帮我。此代码有一些地方出错。 首先,按照惯例,AS3中的类名以大写字母开头,因此您应该重命名类SoundLoader而不是SoundLoader。 其次,AS3中的声音对象不是显示对象,因此无法将其添加到精灵的显示列表中。因此,对addChild sound的调用是错误的,并将导致编译错误 然而,这并不能解决你的问题。您是使用Flash还是Flex编写此代码?这是我的Flash文件:
我是用Flash CS4写的,所以我不知道你是否可以用CS3打开它。希望有帮助,因为我不知道你为什么会犯这样的错误。试着在swf设置中检查你的类路径和类似的东西。这很奇怪-如果你注释掉所有使用声音的行(包括导入),会发生什么情况-基本上,你能导入其他类,如Sprite等吗?你好,多明尼克,谢谢你指出我的错误。我使用的是AdobeFlashCS3。所以我猜是闪光。很抱歉,我仍然很困惑Flash和Flex。我使用Flash CS4编译了您的代码,它可以正常工作。尝试导入flash.media。*但我不确定这会有什么不同。。。我没有CS3,所以只能在CS4I中测试。我尝试导入flash.media.*,但它仍然给我相同的错误:谢谢,但还是不行。我已经在“首选项”下的ActionScript 3.0设置中检查了类路径。它有“$AppConfig/ActionScript 3.0/Classes”。我需要为此添加其他类路径吗?在CS4中,它是“$AppConfig/ActionScript 3.0/libs”,可能是相同的。您应该尝试使用您创建的SoundLoader类制作一个非常小的Flash文件,就像我在发送给您的.rar中所做的那样,只是为了测试您是否遇到相同的错误。也许是命名冲突。您是否创建了一个名为Sound.as的类?如果你有,那可能就是问题所在。如果不是的话,我不知道问题是什么。事实上,这是一个非常小的项目,就像你说的。我只有var s:SoundLoader=新的SoundLoader;在我的Flash文档和SoundLoader.as中的SoundLoader类中。也许CS3不喜欢声音对象类。无论如何,谢谢你的帮助。