1个回答
展开全部
以下代码可以搞定,而且通用
//设置静音,参数表示是否播放音乐,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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询