Pessoal, boa tarde. Estou com um probleminha na reprodução de audio. Segue meu código:
*import flash.events.Event; import flash.media.Sound; import flash.media.SoundChannel; import flash.media.SoundTransform; import flash.net.URLRequest; private var audioControle:SoundTransform = new SoundTransform(); private var audioCanal:SoundChannel; private var audioSound:Sound; private function init():void{ **** tocaMusica('app:/Musicas/1.mp3'); } private function tocaMusica(nomeArquivo:String):void{ audioSound = new Sound(); audioSound.load( new URLRequest( nomeArquivo ) ); ** audioCanal = audioSound.play(0,0); ** audioCanal.addEventListener(Event.SOUND_COMPLETE, function(event:Event):void{ trace("acabou a música"); }); }* Quando não tem nenhum tipo de auto-falante plugado na placa de som, vai dar erro porque não tem um canal válido... então alterei a função conforme abaixo e ficou certo; ou seja, só reproduz se tiver um canal válido com um auto-falante plugado: **** *private function tocaMusica(nomeArquivo:String):void{ audioSound = new Sound(); audioSound.load( new URLRequest( nomeArquivo ) ); audioCanal = audioSound.play(0,0); ** // Verifica se o canal está ok** if(!audioCanal){ return ; }* * audioCanal.addEventListener(Event.SOUND_COMPLETE, function(event:Event):void{ trace("acabou a música"); }); }* Porém, se tiver com uma saída plugada e reproduzindo normalmente e simplesmente desplugar o auto-falante e plugar de novo, não continua reproduzindo... Já pesquisei e não encontrei qual evento é disparado se o canal for interrompido... Como fazer para que a reprodução continue ao reconectar o auto-falante? Detalhe: No windows XP não faz diferença... retira e coloca continua rodando... o problema ocorre no windows 7, provavelmente no Vista também... Já no linux não testei... então preciso ajustar de forma que dê certo em todos os SOs... -- *Wemerson Guimarães* Rio Verde - Go -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev