0

我已经添加了一个带有自动播放功能的停止按钮,但我需要这样做,所以当您在停止按钮后再次单击该按钮时,音乐就会开始播放。

源代码:

var music:Sound = new Sound(new URLRequest("calmingsong.mp3"));
var sc:SoundChannel = music.play();

button1.addEventListener(MouseEvent.CLICK, stopMusic);

function stopMusic(e:Event):void
{
sc.stop();
}
4

1 回答 1

0

如果您只想从头开始播放声音,只需再次调用Sound对象的play()方法(执行此操作时会得到一个新SoundChannel对象)。

如果您想在用户停止的位置继续播放声音,则需要添加其他变量来存储当前的“播放状态”......像这样:

var music:Sound = new Sound(new URLRequest("calmingsong.mp3"));
var sc:SoundChannel = music.play();
var startPosition:Number = 0;
var isPlaying = true; // default to true cause you auto play...

button1.addEventListener(MouseEvent.CLICK, togglePlayback);

function togglePlayback(e:Event):void
{
    if (isPlaying)
    {
        startPosition = sc.position;
        sc.stop();
        isPlaying = false;
    }
    else
    {
        sc = music.play(startPosition);
        isPlaying = true;
    }
}
于 2012-12-30T18:46:16.063 回答