如何在actionscript3中静音不同的声音

des*_*est 1 flash actionscript action actionscript-3

我希望音乐总能播放,并且能够将不同的部分静音.这是一个项目,你点击不同的人,他们来生活播放音乐.停止和玩耍不会让他们陷入困境.我没有长时间使用动作脚本

var my_sound:Sound = new Sound();
my_sound.load(new URLRequest("triumphant.mp3" ) );
function setMute(vol){
var sTransform:SoundTransform = new SoundTransform(0);
sTransform.volume = vol; 
SoundMixer.soundTransform = sTransform;
}
my_sound.play();
setMute(0)
//2.
//3.
var Mute:Boolean = true;
play_btn.addEventListener(MouseEvent.CLICK, toggleMuteBtn)
function toggleMuteBtn(event:Event) { 
if (Mute) { 
    Mute = false; 
    setMute(1);
     }
    else{ Mute = true; setMute(0 );

     }
}

小智 5

您应该将每个声音分配到不同的频道.每个通道都有自己的音量和平移转换.

SoundMixer.soundTranform用于全局声音.

var _bassSound:Sound = new Sound();
_bassSound.load(new URLRequest("you_mp3.mp3"));

var _bassChannel:SoundChannel = _bassSound.play();
_bassChannel.soundTranform = new SoundTranform(1,0);
Run Code Online (Sandbox Code Playgroud)

然后你可以像这样做你的静音功能

function setVolume (soundChannel:SoundChannel, volume:Number=0) {

   var transform:SoundTransform = soundChannel.soundTransform;
   transform.volume = volume;
   soundChannel.soundTransform = transform;

}

// so you call it like this

setVolume(_bassChannel);

// or if you want to unmute

setVolume(_bassChannel, 1);
Run Code Online (Sandbox Code Playgroud)