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

Responder a