永发信息网

求Flash as3.0 中一个按钮可以控制声音开关的代码

答案:1  悬赏:30  手机版
解决时间 2021-03-27 07:24
  • 提问者网友:趣果有间
  • 2021-03-26 07:03
求Flash as3.0 中一个按钮可以控制声音开关的代码
最佳答案
  • 五星知识达人网友:渊鱼
  • 2021-03-26 07:23
以下代码可以搞定,而且通用
//设置静音,参数表示是否播放音乐,true则播放,false则停止
function playSound(play:Boolean):void
{
    var soundTransform:SoundTransform = SoundMixer.soundTransform;
    soundTransform.volume = int(play);
    SoundMixer.soundTransform = soundTransform;
}
//再给个当前是否正在播放的函数,有声音返回true,没声音返回false
function isPlaySound():Boolean
{
    return Boolean(SoundMixer.soundTransform.volume);
}我说下原理,因为不确定你的程序中到底添加了多少音乐,如果停止好说,但是要继续播放就难了,除非事先把每个播放的SoundChanel保存下来。采用这个方法可以将全局的声音调为0,就是声音停止的效果,再将声音播放的话,音量变为1就行了,希望能帮到你~
追问事直接下在按钮上的吗? 我按你说的做了一个 但是不行 如果可以的话 能给个原件看一看吗追答楼主放心,这段代码是我亲自调试过的绝对有用,我放一段完整的例程吧,楼主只需要随便播放段音乐,将以下代码粘贴到程序中就行了,用一个按钮控制下就可以了
import flash.events.*;
import flash.media.*;
//button是按钮元件
button.addEventListener(MouseEvent.CLICK, switchSound);
//鼠标点击后的事件
function switchSound(event:MouseEvent):void
{
playSound(!isPlaySound())
//输出音乐切换的状态
trace("切换至播放音乐:",isPlaySound());
}
//设置静音,参数表示是否播放音乐,true则播放,false则停止
function playSound(play:Boolean):void
{
    var soundTransform:SoundTransform = SoundMixer.soundTransform;
    soundTransform.volume = int(play);
    SoundMixer.soundTransform = soundTransform;
}
//再给个当前是否正在播放的函数,有声音返回true,没声音返回false
function isPlaySound():Boolean
{
    return Boolean(SoundMixer.soundTransform.volume);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯