Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sir Nightfall

[Resolvido] Problemas com Sons de swf externo

Recommended Posts

boa tarde galera,

 

seguinte, tenho alguns projetos q tem um swf principal q abre outros swf e sempre em uma determinada sequencia,(swf1, qdo

 

termina tem um botao pra ver o swf2, e tb tem outro botao q pode voltar pro um, etc), e esses sons estao sendo carregados

 

pra dentro dos swfs externos por uma classe de som em um arquivo.as e dou play nesses sons dentro de movieclips do swf1,

 

por exemplo no movieclip x no primeiro frame dou play no som1 no proximo frame paro esse som e dou play no som 2 etc.

 

Qdo mudo de swf pelo principal ele carrega o proximo mas os sons do swf anterior q viriam na sequencia se eu tivesse

 

continuando a exibir o um continuam a tocar junto com o novo swf

 

 

ja tentei de tudo para parar esses sons

 

 

estou usando parar abrir os swf o seguinte codigo

 

var carrega1:Loader = new Loader
var natal1:URLRequest = new URLRequest("Natal.swf")

carrega1.load(natal1)
this.addChild(carrega1)

 

ja usei o removeChild(natal1)

 

SoundMixer.stopAll()

 

 

e nenhum deles funciona, sempre ele troca de swf mas os sons continuam la, queria saber se tem alguma forma de parar TODOS

 

os sons ou ate mesmo de controlar pelo princpal.swf o swf1.swf o movieclip q esta tocando os sons e faze-lo parar, como se

 

eu estivesse no proprio swf1

 

 

desde já agradeço a atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

Remover os clips da tela... não quer dizer que você parou as funções deles...

 

Crie um for com todos os sons e de stop em cada um deles...

Ou aplique corretamente a classe SoundMixer e use o stopAll();

 

Exemplosinho ;)

package {
 import flash.display.Sprite;
 import flash.net.URLRequest;
 import flash.media.Sound;
 import flash.media.SoundLoaderContext;
 import flash.media.SoundChannel;
 import flash.media.SoundMixer;
 import flash.text.TextField;
 import flash.text.TextFieldAutoSize;
 import flash.events.MouseEvent;
 import flash.events.IOErrorEvent;

 public class SoundMixer_stopAllExample extends Sprite {
 private var firstSound:Sound = new Sound();
 private var secondSound:Sound = new Sound();
 private var muteButton:TextField = new TextField();
 private var channel1:SoundChannel = new SoundChannel();
 
 public function SoundMixer_stopAllExample() {
 firstSound.load(new URLRequest("mySound.mp3"));
 secondSound.load(new URLRequest("http://av.adobe.com/podcast/csbu_dev_podcast_epi_2.mp3"));

 firstSound.addEventListener(IOErrorEvent.IO_ERROR, firstSoundErrorHandler);
 secondSound.addEventListener(IOErrorEvent.IO_ERROR, secondSoundErrorHandler);
 
 channel1 = firstSound.play();
 secondSound.play();
 
 muteButton.autoSize = TextFieldAutoSize.LEFT;
 muteButton.border = true;
 muteButton.background = true;
 muteButton.text = "MUTE";
 
 muteButton.addEventListener(MouseEvent.CLICK, muteButtonClickHandler); 
 
 this.addChild(muteButton);
 }

 private function muteButtonClickHandler(event:MouseEvent):void {

 if(muteButton.text == "MUTE") { 
 
 if(SoundMixer.areSoundsInaccessible() == false) {
 SoundMixer.stopAll();
 muteButton.text = "click to play only one of sound.";
 }
 else {
 muteButton.text = "The sounds are not accessible.";
 }
 }
 else {
 firstSound.play(); 
 muteButton.text = "MUTE";
 }
 } 

 private function firstSoundErrorHandler(errorEvent:IOErrorEvent):void {
 trace(errorEvent.text);
 }

 private function secondSoundErrorHandler(errorEvent:IOErrorEvent):void {
 trace(errorEvent.text);
 }
 }


}

Abraços e bons estudos

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.