Воспроизведение аудио (flash онлайн радио)

Уроки по PHP, Javascript и т.п.
Zeleniy
Сообщения: 129
Зарегистрирован: 30 окт 2009, 18:56

Re: Воспроизведение аудио (онлайн радио)

Сообщение Zeleniy »

проблемма, когда нвжымаеш на плей все нормально поет, потом нажимаешь на стоп остонавливаиться , но когда опять нажимаешь на плей оно начинает играть не то что идет по радио, а все заного точто при первом нажатие.
помогите пожалуйста.

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

var my_sound:Sound = new Sound();my_sound.load(new URLRequest("http://*********/zeleniy"));var my_channel:SoundChannel = new SoundChannel();play_btn.addEventListener(MouseEvent.CLICK, playSound);stop_btn.addEventListener(MouseEvent.CLICK, stopSound);function playSound(event:MouseEvent):void{my_channel = my_sound.play();}function stopSound(event:MouseEvent):void{my_channel.stop();}
Как вставть сюда stream.close()
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Воспроизведение аудио (онлайн радио)

Сообщение Александр »

Zeleniy писал(а):проблемма, когда нвжымаеш на плей все нормально поет, потом нажимаешь на стоп остонавливаиться , но когда опять нажимаешь на плей оно начинает играть не то что идет по радио, а все заного точто при первом нажатие.
Оно кешируется.
Делай так:

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

my_sound.load(new URLRequest("http://*********/zeleniy"+'?'+Math.random()));
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Воспроизведение аудио (онлайн радио)

Сообщение bodnar »

хммм, а насколько я понял у него проблема в том что как раз не кешируется, и начинает проигрываться с начала? :?
Zeleniy
Сообщения: 129
Зарегистрирован: 30 окт 2009, 18:56

Re: Воспроизведение аудио (онлайн радио)

Сообщение Zeleniy »

Сделал по другому, тут подрезал, там вырезал, заодно и громкость добавлена =) с ней теперь мучиться ненадо.

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

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=[        [         "Europaplus",        ],        [         "http://Fm***************/zeleniy",         ]        ];          ///кнопка плей        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();        }         public function SoundNext(e:MouseEvent) {            //Останавливаю музыку            sc.stop();            if (s) {                //закрываем канал если он открыт                s.close();            }            //Указывем что музыка не играет            MusicPlay=false;            ///Если текущая радиостанция, последняя в списке, перескакиваю на первую            if (curChanel==Data[1].length-1) {                curChanel=0;            } else {                //иначе просто плюсую                 curChanel+=1;            }            //Получаем ссылку радиостанции из массива            var nextTitle:Sound=new Sound(new URLRequest(Data[1][curChanel]));            //Грузим её            s=nextTitle;            //Воспроизводим            sc=s.play(0);            //Указывем что музыка играет            MusicPlay=true;            //Обновляем текстовое поле            update();        }         public function SoundPrev(e:MouseEvent) {            //Останавливаю музыку            sc.stop();            if (s) {                //закрываем канал если он открыт                s.close();            }            //Указывем что музыка не играет            MusicPlay=false;            ///Если текущая радиостанция меньше, чем минимальная в списке, перескакиваю на последнюю            if (curChanel<=0) {                curChanel=Data[1].length-1;            } else {                //иначе просто отнимаем                curChanel-=1;            }            //Получаем ссылку радиостанции из массива            var nextTitle:Sound=new Sound(new URLRequest(Data[1][curChanel]));            //Грузим её            s=nextTitle;            //Воспроизводим            sc=s.play(0);             //Указывем что музыка играет            MusicPlay=true;            //Обновляем текстовое поле            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;            }        }    }}
Zeleniy
Сообщения: 129
Зарегистрирован: 30 окт 2009, 18:56

Re: Воспроизведение аудио (онлайн радио)

Сообщение Zeleniy »

bodnar писал(а):хммм, а насколько я понял у него проблема в том что как раз не кешируется, и начинает проигрываться с начала? :?
В буфере вроде как оставалось
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Воспроизведение аудио (онлайн радио)

Сообщение bodnar »

аааа все блин это я не так понял :lol: :roll:
Женя
Сообщения: 24
Зарегистрирован: 09 май 2010, 20:00

Re: Воспроизведение аудио (онлайн радио)

Сообщение Женя »

Кто-нибуть киньте уже готовый код,так чтоб только создать кнопки (с названием как в коде)
aristov96
Сообщения: 36
Зарегистрирован: 20 авг 2010, 18:17

Re: Воспроизведение аудио (онлайн радио)

Сообщение aristov96 »

а можно что бы создать свой плейлист и что бы какие я песни выложу у всех играли?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Воспроизведение аудио (онлайн радио)

Сообщение Александр »

aristov96
При наличии знаний и времени - можно.
Естественно код будет отличаться от кода из этого урока. Простой плейлист подсунуть не получится.
KIka_kok
FL Team
FL Team
Сообщения: 680
Зарегистрирован: 18 июл 2010, 19:52

Re: Воспроизведение аудио (онлайн радио)

Сообщение KIka_kok »

Помогите,где здесь ошибка?? При том что пишу в кадре? :o

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

import flash.events.MouseEvent;import flash.media.Sound; stop();pl.addEventListener(MouseEvent.CLICK,PlClick);function PlClick(e:MouseEvent):void {   var url:String="http://217.20.164.164:8000/kissfm.mp3";var music:SoundChannel;var request:URLRequest=new URLRequest(url);var sound:Sound = new Sound();sound.load(request);music=sound.play();}st.addEventListener(MouseEvent.CLICK,notmus);function notmus(e:MouseEvent):Sound{   music.stop();}
Ответить