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 № 1W 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.