启动和停止声音AS3

时间:2013-10-05 11:03:37

标签: actionscript-3 flash-cs6

当我按下按钮时,我正试图在时间轴上发出停止和播放的声音。并且在该时间轴上还有​​一个应该停止播放的动画。我无法获得即时使用的代码。我收到错误

Del1,Layer'action',第1帧,第16行1061:通过静态类型flash.media:SoundChannel的引用调用可能未定义的方法。

Del1,Layer'action',第1帧,第10行1120:访问未定义的属性烟花。

我是新手,我不知道如何修复错误并让按钮工作。

这是整个代码

import flash.events.MouseEvent;
import flash.media.Sound;
import flash.media.SoundChannel;


PlayButton.addEventListener(MouseEvent.CLICK, playbutton);
NextButton.addEventListener(MouseEvent.CLICK, nextbutton);
StopButton.addEventListener(MouseEvent.CLICK, stopbutton);

var mySound:Sound = new fireworks.wav(); 
var myChannel:SoundChannel = new SoundChannel();
myChannel = mySound.play();

function playbutton(event:MouseEvent):void
{
myChannel.play();
play(); 
}

function stopbutton(event:MouseEvent):void
{
stop();
myChannel.stop();
}

function nextbutton(event:MouseEvent):void
{
gotoAndPlay(1, "Del2");
}

1 个答案:

答案 0 :(得分:1)

您的第一个错误:您无法在play()

上致电SoundChannel

虽然您始终可以stop() myChannelmyChannel = mySound.play(thatLocation);对象,但您不能简单地播放它。有关您尝试构建的功能的信息,请参阅this tutorial中标题为暂停声音的部分。基本上,当您暂停歌曲时,您需要记住歌曲中的位置,然后在您想要恢复时拨打var mySound:Sound = new Sound(); mySound.load(new URLRequest("fireworks.wav")); mySound.play();

您的第二个错误:添加歌曲文件的语法需要稍微更改

如果歌曲文件位于Flash之外的某个位置,就像在文件夹中一样 -

var mySound:Sound = new CustomSongNameHere();
mySound.play();

如果歌曲文件已加载到您的Flash库中 -

Linkage

但是对于这种情况,您需要才能在Flash库中找到该歌曲,右键单击它,选择Export for ActionScript,选中Class并更改{{1 }}字段到CustomSongNameHere或您在代码中使用的任何内容。