我做了一个在Flash菜单,可以扩展和音乐设置在里面。
当应用程序启动时,音乐会播放。要停止音乐,必须展开菜单并单击音乐图标。
但在那之后有一些问题:
我不能再停止音乐和音乐双倍的背景。
这是我的FLA文件:
有人能告诉我我的节目的错误吗?谢谢。
发布于 2017-11-08 17:52:29
关于“音乐播放双”,您的(音频)播放功能创建了一个new吗?
(例如:= new Sound或= new SoundChannel)?如果是..。
new Sound加载新曲目时才使用,一旦加载,则使用一个SoundChannel播放/停止该Sound对象。Boolean来跟踪Sound是否已经在播放。如果true然后不再发送另一个.play()命令(现在给出两个声音输出/扬声器)。看看下面的代码逻辑是否为您提供了更好的设置:
//# declare variables globally (not trapped inside some function)
var snd_Obj :Sound;
var snd_Chann :SoundChannel = new SoundChannel();
var snd_isPlaying :Boolean = false;
//# main app code
loadTrack("someSong.mp3"); //run a function, using "filename" as input parameter
//# supporting functions
function loadTrack (input_filename :String) : void
{
snd_Obj = new Sound();
snd_Obj.addEventListener(Event.COMPLETE, finished_LoadTrack);
snd_Obj.load( input_filename ); //read from function's input parameter
}
function finished_LoadTrack (event:Event) : void
{
snd_Chann = snd_Obj.play(); //# Play returned Speech convert result
snd_Obj.removeEventListener(Event.COMPLETE, onSoundLoaded);
//# now make your Play and Stop buttons active
btn_play.addEventListener(MouseEvent.CLICK, play_Track);
btn_stop.addEventListener(MouseEvent.CLICK, stop_Track);
}
function play_Track (event:Event) : void
{
//# responds to click of Play button
if(snd_isPlaying != true) //# check if NOT TRUE, only then start playback
{
snd_Chann = snd_Obj.play();
snd_isPlaying = true; //# now set TRUE to avoid multiple "Play" commands at once
}
}
function stop_Track (event:Event) : void
{
//# responds to click of Play button
snd_Chann.stop();
snd_isPlaying = false; //# now set FALSE to reset for next Play check
}https://stackoverflow.com/questions/47184859
复制相似问题