Воспроизведение сл. радио если у основного закрыт канал

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Ответить
Zeleniy
Сообщения: 129
Зарегистрирован: 30 окт 2009, 18:56

Воспроизведение сл. радио если у основного закрыт канал

Сообщение Zeleniy »

Вобщем когда я закрываю трансляцию свою http://FmHosting.ru:8000/zeleniy, начинает играть какая то левая радиостанция :lol: в поисках этой "антенны" возникла идея, чтобы по завершении трансляции включалась следующая станция http://fmhosting.ru:8000/freshclub, а когда я начинаю вещать, то опять включалась моя.
Вобщем сейчас такаяже ситуация только с неизвестной волной радио.
Что тут можно сделать?

Код: Выделить всё

package main.radio{    ///Библиотеки классов    import flash.display.*;    import flash.events.*;    import flash.media.*;    import flash.net.*;    import flash.utils.*;     public class Radio extends MovieClip {        ////Массив с названиями и ссылками на радиостанции        private var Data:Array=[        [         "Detstvo",         "freshclub"        ],        [         "http://FmHosting.ru:8000/zeleniy",         "http://fmhosting.ru:8000/freshclub"         ]        ];          ///кнопка плей        public var Play:playBtn=new playBtn();        ///кнопка стоп        public var Stop:stopBtn=new stopBtn();        /// кнопка громкости        public var Vol:volBtn=new volBtn();        //Играет ли музыка        public var MusicPlay:Boolean=false;        //Для работы с звуокм        private var sc:SoundChannel = new SoundChannel();        private var s:Sound=null;        //Текущая радиостанция        private var curChanel:uint=0;         public function Radio(_x:Number=0,_y:Number=0) {            //позиционируем кнопки управления            Play.x=_x-110;            Play.y=_y+295;            addChild(Play);            Stop.x=_x+500;            Stop.y=_y+295;            addChild(Stop);            Vol.x=_x+674;            Vol.y=_y+444;            addChild(Vol);              ////////////////Слушатели            Play.addEventListener(MouseEvent.CLICK,SoundPlay);            Play.addEventListener(MouseEvent.MOUSE_OVER, startTooltipCounter);            Play.addEventListener(MouseEvent.MOUSE_OUT, hideTooltip);             Stop.addEventListener(MouseEvent.CLICK,SoundStop);            Stop.addEventListener(MouseEvent.MOUSE_OVER, startTooltipCounter);            Stop.addEventListener(MouseEvent.MOUSE_OUT, hideTooltip);             //Вешаю слушатели на кнопки регулятора звука            for (var i:Number=1; i<=4; i++) {                Vol['v'+i+'_btn'].addEventListener(MouseEvent.CLICK,VolumeChange);            }            //Обновляем текстовое поле и кнопки            update();        }         public function SoundPlay(e:MouseEvent) {            if (MusicPlay==false) {                if (s) {                    //закрываем канал если он открыт                    s.close();                }                //Получаем ссылку радиостанции из массива                var nextTitle:Sound=new Sound(new URLRequest(Data[1][curChanel]));                //Грузим её                s=nextTitle;                //Воспроизводим                sc=s.play();                //Указывем что музыка играет                MusicPlay=true;                //Обновляем кнопки                update();            }        }         public function SoundStop(e:MouseEvent) {            //Останавливаю музыку            sc.stop();            if (s) {                //закрываем канал если он открыт                s.close();            }            //Указывем что музыка не играет            MusicPlay=false;            s=null;            //Обновляем кнопки            update();        }         private function update() {            ///Показываем кнопку stop если play нажата и наоборот            if (MusicPlay==true) {                Play.visible=false;                Stop.visible=true;            } else {                Play.visible=true;                Stop.visible=false;            }        }        ////Для изменения прозрачности кнопок при наведении        private function startTooltipCounter(e:MouseEvent):void {            e.currentTarget.alpha=0.6;        }         private function hideTooltip(e:MouseEvent):void {            e.currentTarget.alpha=1;        }        ///Меняем звук в зависимости от того какая кнопка нажата        private function VolumeChange(e:MouseEvent):void {            var mod:SoundTransform = new SoundTransform();            //переменная хранящая имя нажатой кнопки            var presedV:String;            //получаю имя нажатой кнопки            presedV=String(e.currentTarget.name);            //Регулирую звук            mod.volume =(Number(presedV.substr(1,1))-1)*0.33 ;            //применяю громкость к звуковому каналу            sc.soundTransform=mod;            ///циклы для кнопок звука            for (var i:Number=1; i<=4; i++) {                Vol['v'+i+'_btn'].alpha=0.3;            }             for (i=1; i<=(Number(presedV.substr(1,1))-1)+1; i++) {                Vol['v'+i+'_btn'].alpha=1;            }        }    }}
Ответить