/ / Adobe Flash / Animate wyciszenie określonego dźwięku - actionscript-3, flash, audio, actionscript

Adobe Flash / Animate wyciszenie określonego dźwięku - actionscript-3, flash, audio, actionscript

jestem w rozpaczliwy potrzeba pomocy! Mam przycisk wyciszania, który zrobiłem po tutorialu na youtube w Adobe Animate / Flash przy użyciu skryptu akcji 3.0 i wycisza wszystko tak, jak powinno. Jednak teraz potrzebuję go tylko wyciszyć muzykę w tle, ponieważ wycisza również moje filmy! Jak mogę zmienić kod, aby upewnić się, że tylko dźwięk tła jest wyciszony, a nie wideo?

function setMute(vol)
{
var sTransform:SoundTransform = new SoundTransform(1,0);
sTransform.volume = vol;
SoundMixer.soundTransform = sTransform;
}


var Mute:Boolean = false;

mute_btn.addEventListener(MouseEvent.CLICK,toggleMute_btn);

function toggleMute_btn(event:Event){ if(Mute)
{
Mute = false; setMute(1);
soundLines.gotoAndStop(1);
}
else
{ Mute = true; setMute(0);
soundLines.gotoAndStop(2);
}
}

Odpowiedzi:

0 dla odpowiedzi № 1

W programie Adobe Animate (AS3) programista może dodawać dźwięk głównie na dwa sposoby: dźwięk na osi czasu i dźwięk zewnętrzny ładowany przez skrypt. Może być jeszcze więcej metod dodawania dźwięku do filmu Flash.

W przypadku dźwięku z osi czasu, który jest osadzony i odtwarzany na postępie filmu, można po prostu zatrzymać ten klip filmowy zawierający ten dźwięk, powodując efekt podobny do tego konkretnego dźwięku.

Przykład:

Jeśli twój klip filmowy o nazwie BG zawiera muzykę w tle, możesz pisać BG.stop(); dla niemy i BG.play(); do wznowienia dźwięku. To najłatwiejsza metoda ze wszystkich.

W przypadku strumieniowego przesyłania dźwięku z zewnętrznego źródła za pomocą kodu,

var bg:Sound = new Sound();
var bgChannel:SoundChannel = new SoundChannel();
bg.load(new URLRequest("test.mp3"));
bgChannel = bg.play();
function vol(v:uint){
var sT:SoundTransform = new SoundTransform();
sT.volume = v;
bgChannel.soundTransform=sT;
}
setTimeout(vol,1000,0);

Podobnie, ustaw vol na wyższą wartość dla unmute.