Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的声音在Flash中不起作用?_Flash_Actionscript_Audio_Actionscript 2 - Fatal编程技术网

为什么我的声音在Flash中不起作用?

为什么我的声音在Flash中不起作用?,flash,actionscript,audio,actionscript-2,Flash,Actionscript,Audio,Actionscript 2,这是我的代码,它在电影的第一帧 nature = new Sound(this); nature.attachSound("sound_naturally"); nature.setVolume(50); nature.start(0,0); nature.onSoundComplete = function(){ nature.start(0,0); } trace(nature); 跟踪在运行时输出“[object]” 我将声音导出到带有链接标识符“sound_naturally”

这是我的代码,它在电影的第一帧

nature = new Sound(this);
nature.attachSound("sound_naturally");
nature.setVolume(50);
nature.start(0,0);
nature.onSoundComplete = function(){
    nature.start(0,0);
}
trace(nature);
跟踪在运行时输出“[object]”

我将声音导出到带有链接标识符“sound_naturally”的ActionScript,而不是导出到第一帧。我不明白为什么它不起作用。我确实喜欢3个小时前完全一样的东西,它工作得很好,但我丢失了文件,所以我不得不重做,现在它根本不工作


将Flash 10与ActionScript 2.0一起使用时,start()中的第二个参数告诉它播放声音的次数,并且在那里有一个0

只要试试nature.start()

两个
start(0,0)
start()
都是有效的。您的代码不是这里的问题

所发生的情况是,在导出SWF时,声音文件不会被附加,因为它仅位于库中,没有在任何地方使用。很明显,这就是为什么flash有“第一帧导出”功能,但这使得预加载变得很棘手,对吗?因此,另一个选择是:

  • 将声音放在时间轴的未使用帧上(即:SWF的最后一帧)。这将迫使flash在发布SWF时包含声音
  • 预装你的主要电影,并确保你调用脚本,你上面只有当一切都完全加载
这是一个解决方案,但理想情况下,我建议使用
loadSound()
方法从外部加载声音


祝你好运

这就是我离开它的方式,因为我试图找出是什么原因导致它无法播放。仅使用
start()
或甚至使用
start(0,99)
都不起任何作用。我不确定这一点,但请尝试删除
中“自然声音”