我在舞台上有4个按钮,我需要一个代码,让我可以点击其中一个,“无限”地循环一个特定的声音,当再次点击时,声音停止。声音最初没有播放。此外,当其中一个声音循环播放时,如果我按下另一个按钮,我希望先前的声音停止,然后播放新的声音。
为了帮助更直观地了解这一点,我将解释我的项目。我必须创建一个类似于在线吉他调谐器的“应用程序”。这个功能有点像我想重新创建的那样:
http://www.gieson.com/Library/projects/utilities/tuner/
我甚至不知道从哪里开始编码...非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
实际代码完全取决于你在声音中加载的方式,所以我会为代码编写“骨架”。
var currentSound:Sound = null;
var currentSoundChannel:SoundChannel;
var sound1:Sound = /* Load me */
var sound2:Sound = /* Load me */
button1.addEventListener(MouseEvent.CLICK, playSound1);
function playSound1(event:MouseEvent)
{
playSound(sound1);
}
button2.addEventListener(MouseEvent.CLICK, playSound2);
function playSound2(event:MouseEvent)
{
playSound(sound2);
}
function playSound(sound:Sound):void
{
if (currentSound != null)
{
// Stop the current music
currentSoundChannel.stop();
}
if (currentSound == sound)
{
// Stop playing ANY sound
currentSound = null;
currentSoundChannel = null;
}
else
{
// Play a different sound
currentSound = sound;
currentSoundChannel = sound.play();
}
}