Как отключить разные звуки в actionscript3 - PullRequest
1 голос
/ 24 мая 2011

Я хочу, чтобы музыка всегда звучала и была возможность заглушить разные части.Это для проекта, где вы нажимаете на разных людей, и они оживают, чтобы играть музыку.остановка и игра не будет иметь их в snyc.Я давно не использую скрипт действий

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 );

     }
}

1 Ответ

5 голосов
/ 24 мая 2011

Вы должны назначить каждый звук на другой канал. Каждый канал имеет свою громкость и панорамирование.

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);

тогда вы можете сделать так, чтобы ваша функция отключения звука была такой

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);
...