2016-08-27 1 views
0

Je suis dans désespérée besoin d'aide! J'ai un bouton bascule muet que j'ai fait suite à un tutoriel sur youtube dans Adobe Animate/Flash en utilisant action-script 3.0 et il mute tout comme il est censé le faire. Cependant, j'en ai maintenant besoin pour couper le son de la musique de fond, car il bloque aussi mes vidéos! Comment puis-je modifier le code pour s'assurer que seul le bruit de fond est coupé et non la vidéo?Adobe Flash/Animate d'inhibition audio particulier

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

 

 
var Mute:Boolean = false; 
 

 
mute_btn.addEventListener(MouseEvent.CLICK,toggleMute_btn); 
 

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

+0

Je pense que vous pourriez avoir besoin d'une transformation différente pour chaque son que vous souhaitez contrôler séparément. –

Répondre

0

Dans Adobe Animer (AS3), un développeur peut ajouter de l'audio dans principalement deux façons, audio chronologie et audio externe chargé par le script. Il peut y avoir encore plus de méthodes pour ajouter du son à un film Flash.

Dans le cas de l'audio de la timeline, qui est intégré et joue sur la progression du film, vous pouvez simplement arrêter le MovieClip contenant cet audio qui provoque un effet de sourdine pour cet audio spécifique.

Exemple:

Si votre MovieClip BG contient votre musique de fond, vous pouvez écrire BG.stop(); pour mute et BG.play(); pour reprendre l'audio. C'est la méthode la plus simple de tous.

En cas de streaming audio à partir de source externe en utilisant le code,

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

De même, mettre en volume à la valeur plus élevée pour unmute.