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

跪求大神,急求!... 跪求大神,急求! 展开
 我来答
gjsgdhr
推荐于2016-01-20 · TA获得超过1799个赞
知道小有建树答主
回答量:665
采纳率:77%
帮助的人:459万
展开全部

以下代码可以搞定,而且通用

//设置静音,参数表示是否播放音乐,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);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式