2012-12-30 116 views
0

我已经添加了一个带有自动播放功能的停止按钮,但我需要这样做,所以当您停止播放后再次单击按钮时,音乐开始播放。Actionscript 3.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(); 
} 

回答

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; 
    } 
} 
+0

非常感谢你,但我收到一个编译器错误 - 任何想法如何解决它? “1152:与名称空间public中的继承定义flash.display.MovieClip.isPlaying冲突 –

+0

是的,由于MovieClip已经有一个名为”isPlaying“的变量,所以变量名称的选择很差,只需将其更改为其他变量像“playbackStarted”或任何其他:) –

+0

它完美的作品。再次感谢。 –