0

当我按下按钮时,我试图让时间线上的声音停止并播放。该时间线上还有一个动画应该停止并播放。我无法获得我用来工作的代码。我收到错误

Del1,层“动作”,第 1 帧,第 16 行 1061:调用可能未定义的方法通过静态类型 flash.media:SoundChannel 的引用播放。

Del1,图层“动作”,第 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");
}
4

1 回答 1

1

您的第一个错误:您不能play()调用SoundChannel

虽然你总是可以stop()你的myChannel对象,但你不能简单地玩它。有关您尝试构建的功能的信息,请参阅本教程中标题为暂停声音的部分。本质上,当您暂停歌曲时,您需要记住歌曲中的位置,然后myChannel = mySound.play(thatLocation);在您想恢复时调用。

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

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

var mySound:Sound = new Sound();
mySound.load(new URLRequest("fireworks.wav"));
mySound.play();

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

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

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

于 2013-10-05T15:20:52.130 回答