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á nao 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
o fla segue abaixo
Link do FLA 112 kb
até mais
function radiopara(event:Event):void { SoundMixer.stopAll(); time.stop(); setVolume(0); btnstop.visible = false; btnplay.visible = true; return; }
mude para
function radiopara(event:Event):void { SoundMixer.stopAll(); s.close(); time.stop(); setVolume(0); btnstop.visible = false; btnplay.visible = true; return; }