首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在音乐设置错误中展开菜单(电影)和音乐

在音乐设置错误中展开菜单(电影)和音乐
EN

Stack Overflow用户
提问于 2017-11-08 16:28:50
回答 1查看 24关注 0票数 0

我做了一个在Flash菜单,可以扩展和音乐设置在里面。

当应用程序启动时,音乐会播放。要停止音乐,必须展开菜单并单击音乐图标。

  • 在我打开程序并停止播放音乐之后,它就可以正常工作了。
  • 如果我想再玩一次的话就很管用了。

但在那之后有一些问题:

我不能再停止音乐和音乐双倍的背景。

这是我的FLA文件:

bIRQ52mT/view?usp=drivesdk

有人能告诉我我的节目的错误吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-08 17:52:29

关于“音乐播放双”,您的(音频)播放功能创建了一个new吗?

(例如:= new Sound= new SoundChannel)?如果是..。

  • 在函数之外创建音频变量一次,然后使用函数仅用于停止/启动音频播放。
  • 仅在new Sound加载新曲目时才使用,一旦加载,则使用一个SoundChannel播放/停止该Sound对象。
  • 您需要一个Boolean来跟踪Sound是否已经在播放。如果true然后不再发送另一个.play()命令(现在给出两个声音输出/扬声器)。

看看下面的代码逻辑是否为您提供了更好的设置:

代码语言:javascript
复制
//# 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
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47184859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档