Ir para conteúdo
Fórum Script Brasil
  • 0

Player Web Radio - Ao Vivo - Problemas


luiz softov

Pergunta

olá, sou novo aqui e este é meu primeiro post... tenho um problema no meu player....

tipo eu coloquei para ele começar tocando

então ele inicial com

play();

ae quando o usuario clica em stop ele para de tocar...

quando o usuário clica em play novamente a radio torna a tocar...

ae quando o usuario clica em stop ele para de tocar...

até ai funciona tudo direito....

só que quando ele clica em play novamente ela já não toca mais...

tipo

play(funciona) > stop(funciona) > play(funciona) > stop(funciona) > play(erro)

abaixo segue o código

var url:String = "http://192.168.2.2:8000/";;
var request:URLRequest;
var s:Sound;
var song:SoundChannel;
var ba:ByteArray;
var gr:Sprite;
var time:Timer;
var volumecontrole:SoundTransform = new SoundTransform(); 
var par = "0.6"; // volume inicial

function radiotoca(event:Event):void {
    SoundMixer.stopAll();
    music();
    setVolume(par);
    btnstop.visible = true;
    btnplay.visible = false;
    return;
    
}

function radiopara(event:Event):void {
    SoundMixer.stopAll();
    time.stop();
//    setVolume(0);
    btnstop.visible = false;
    btnplay.visible = true;
    return;
}

function music():void {

    
    trace("carregando");
    request = new URLRequest(url);
    s = new Sound();
    var context:SoundLoaderContext = new SoundLoaderContext(100, true);
    s.load(request, context);
    song = s.play();
    
    
    trace("carregado");
    ba = new ByteArray();
    if (!gr) {
        gr = new Sprite();
        gr.x = 20;
        gr.y = 57;
        addChild(gr);
    }
    time = new Timer(50);
    time.addEventListener(TimerEvent.TIMER, timerHandler);
    time.start();
    
}

function timerHandler(event:TimerEvent):void {
    SoundMixer.computeSpectrum(ba, true);
    var i:int;
    gr.graphics.clear();
    gr.graphics.lineStyle(6, 0x333333);
    gr.graphics.beginFill(0x91C847);
    gr.graphics.moveTo(0, 0);
    var w:int = 10;
    for (i=0; i<310; i+=w) {
        var t:Number = ba.readFloat();
        var n:Number = (t * 40);
        gr.graphics.drawRect(i, 0, w, -n);
    }
}


barravolume.mute.addEventListener(MouseEvent.CLICK, volumeEvent);
barravolume.mute.addEventListener(MouseEvent.ROLL_OVER, volumeEvent);
barravolume.volumeOne.addEventListener(MouseEvent.CLICK, volumeEvent);
barravolume.volumeOne.addEventListener(MouseEvent.ROLL_OVER, volumeEvent);
barravolume.volumeTwo.addEventListener(MouseEvent.CLICK, volumeEvent);
barravolume.volumeTwo.addEventListener(MouseEvent.ROLL_OVER, volumeEvent);
barravolume.volumeThree.addEventListener(MouseEvent.CLICK, volumeEvent);
barravolume.volumeThree.addEventListener(MouseEvent.ROLL_OVER, volumeEvent);
barravolume.volumeFour.addEventListener(MouseEvent.CLICK, volumeEvent);
barravolume.volumeFour.addEventListener(MouseEvent.ROLL_OVER, volumeEvent);
barravolume.volumeFive.addEventListener(MouseEvent.CLICK, volumeEvent);
barravolume.volumeFive.addEventListener(MouseEvent.ROLL_OVER, volumeEvent);

btnplay.addEventListener(MouseEvent.MOUSE_UP, radiotoca);
btnstop.addEventListener(MouseEvent.MOUSE_UP, radiopara);

music(); // altera para radio começar a tocar automaticamente

btnplay.visible = false;
setVolume(par);

        function volumeEvent(param1:MouseEvent) : void
        {
            var _loc_2:MovieClip;
            _loc_2 = param1.currentTarget as MovieClip;
            if (param1.buttonDown || param1.type == "click")
            {
                switch(param1.currentTarget)
                {
                    case barravolume.mute:
                    {
                        if (volumecontrole.volume > 0)
                        {
                            setVolume(0);
                            par = 0;
                        }
                        else
                        {
                            setVolume(0.1);
                            par = 0.1;
                        }// end else if
                        break;
                    }// end case
                    case barravolume.volumeOne:
                    {
                        setVolume(0.2);
                        par = 0.2;
                        break;
                    }// end case
                    case barravolume.volumeTwo:
                    {
                        setVolume(0.4);
                        par = 0.4;
                        break;
                    }// end case
                    case barravolume.volumeThree:
                    {
                        setVolume(0.6);
                        par = 0.6;
                        break;
                    }// end case
                    case barravolume.volumeFour:
                    {
                        setVolume(0.8);
                        par = 0.8;
                        break;
                    }// end case
                    case barravolume.volumeFive:
                    {
                        setVolume(1);
                        par = 1;
                        break;
                    }// end case
                    default:
                    {
                        break;
                    }// end default
                }// end switch
            }// end if
            return;
        }// end function
        
        
        function setVolume(param1) : void
        {
            volumecontrole.volume = param1;
            song.soundTransform = volumecontrole;
            barravolume.mute.gotoAndStop(param1 > 0 ? (1) : (2));
            barravolume.volumeOne.gotoAndStop(param1 >= 0.2 ? (1) : (2));
            barravolume.volumeTwo.gotoAndStop(param1 >= 0.4 ? (1) : (2));
            barravolume.volumeThree.gotoAndStop(param1 >= 0.6 ? (1) : (2));
            barravolume.volumeFour.gotoAndStop(param1 >= 0.8 ? (1) : (2));
            barravolume.volumeFive.gotoAndStop(param1 == 1 ? (1) : (2));
            return;
        }// end function

link FLA

Editado por luiz softov
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...