【发布时间】:2017-06-07 10:34:18
【问题描述】:
所以在键盘按下时无法发出声音
我有进口商品:
import flash.net.URLRequest;
import flash.media.Sound;
我有变量
private var soundDownRequest:URLRequest = new URLRequest ("SoundDown.mp3");
private var downSound:Sound = new Sound (soundDownRequest);
和事件监听器
private function keyDownHandler(evt:KeyboardEvent):void
{
if (evt.keyCode == 40)//ascii for down arrow
{
downSound.play();
}
}
声音文件夹和.as在同一个文件夹里,也在fla的库里,但是还是不行。知道为什么吗?
谢谢。
更新:
我让声音正常工作,但没有使用我在上面尝试执行的外部方法。
必须在内部进行。
所以你需要:
import flash.media.SoundChannel;
-那么你需要确保你的声音文件在你的 fla 库中。
一旦它在图书馆里
-右键>属性
-选择动作脚本选项卡
-勾选“导出动作脚本”
-根据声音给类命名
-按确定
添加这个变量(你会有所不同):
private var downSound:TheDownSound = new TheDownSound();
downsound 是变量的选定名称,TheDownSound 是类的名称(之前为声音文件制作的名称)
然后将其添加到您想要播放声音的位置:
var myDownSound:SoundChannel = downSound.play();
如果你不能像我一样让它在外部工作,请这样做。
要获得更好的解释,请观看这些家伙的 youtube 视频: https://www.youtube.com/watch?v=SZpwppe7yGs
【问题讨论】:
-
您应该将更新发布为答案而不是问题,因为它实际上回答了问题。这样你甚至有资格在 StackOverflow 中获得一些不错的分数。 :)
-
啊啊,好建议哈哈。