Исходник приложения онлайн радио вконтакте

Только готовые уроки по использованию ВКонтакте API. Flash + PHP + API. НЕ IFrame!
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Исходник приложения онлайн радио вконтакте

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

Исходник приложения онлайн радио вконтакте
Adobe Flash CS5, ActionScript 3.0

Изображение


Main.as

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

/*     https://flapps.ru/forum/ - форум о создании приложений */package {    import flash.display.*;    import flash.media.*;    import flash.events.*;    import flash.geom.*;    import flash.net.*;    import flash.ui.*;    import flash.utils.*;    import flash.text.*;     public class Main extends Sprite {        private var api_id:Number=1676336;// id вашего приложения        private var url:String="https://flapps.ru/live";// ссылка на ваше радио        private var sound:Sound;        private var music:SoundChannel;        private var bounds:Rectangle;        private var maxMove:Number;        private var minuteTimer:Timer=new Timer(1000);         public function Main():void {            if (LoaderInfo(root.loaderInfo).parameters.api_id!=api_id) {                is_copy_mc.is_copy_tf.text='Приложение находится здесь\nhttp://vkontakte.ru/app'+api_id;                is_copy_mc.x=0;                is_copy_mc.y=0;            } else {                var cm = new ContextMenu();                cm.hideBuiltInItems();                var p1:ContextMenuItem=new ContextMenuItem('«Радио»');                var p2:ContextMenuItem=new ContextMenuItem('flapps.ru');                p2.addEventListener(MouseEvent.CLICK, function(){;                    navigateToURL(new URLRequest('https://flapps.ru'));                });                p2.separatorBefore=true;                cm.customItems.push(p1,p2);                this.contextMenu=cm;                                 time_tf.autoSize=TextFieldAutoSize.LEFT;                                                play_btn.addEventListener(MouseEvent.CLICK,playSound);                pause_btn.addEventListener(MouseEvent.CLICK,pauseSound);                 addEventListener(Event.ENTER_FRAME, enterHandler);                volumeSlider.addEventListener(MouseEvent.MOUSE_DOWN, startScroll);                                stage.addEventListener(MouseEvent.MOUSE_UP, stopScroll);                                                maxMove=35;                bounds=new Rectangle(volumeSlider.x,volumeSlider.y,- maxMove,0);                var scrolling:Boolean=false;                 function startScroll(e:Event):void {                    scrolling=true;                    volumeSlider.startDrag(false,bounds);                }                 function stopScroll(e:Event):void {                    scrolling=false;                    volumeSlider.stopDrag();                }                 function enterHandler(e:Event):void {                    if (scrolling==true) {                        setVolume(1-((bounds.x-volumeSlider.x)/maxMove));                    }                }                 function setVolume(vol:Number) {                    if (music!=null) {                        var mod:SoundTransform = new SoundTransform();                        mod.volume=vol;                        music.soundTransform=mod;                    }                }            }        }         private function playSound(e:MouseEvent):void {            play_btn.visible=false;            var request:URLRequest=new URLRequest(url+'?'+Math.random());            sound = new Sound();                        sound.addEventListener(HTTPStatusEvent.HTTP_STATUS,onError);                        sound.load(request);            music=sound.play();            var mod:SoundTransform = new SoundTransform();            mod.volume=1-((bounds.x-volumeSlider.x)/maxMove);            music.soundTransform=mod;                        minuteTimer.addEventListener(TimerEvent.TIMER, onTick);            minuteTimer.start();        }                private function onError(event:Event):void {            status_tf.text = 'Ошибка';        }                private function pauseSound(e:MouseEvent):void {            play_btn.visible=true;            music.stop();            minuteTimer.stop();            minuteTimer.reset();            time_tf.text="0:00:00";        }         function onTick(event:TimerEvent):void {            var sec=event.target.currentCount;            var min=Math.floor(sec/60);            var hour=Math.floor(min/60);            sec%=60;            if (sec<10) {                sec='0'+sec;            }            min%=60;            if (min<10) {                min='0'+min;            }            hour%=24;            time_tf.text=hour+":"+min+":"+sec;        }    }}
Исходник https://flapps.ru/example/vk_radio.rar (Adobe Flash CS5)


Инструкция

В файле Main.as заменить:
- api_id - на ID своего приложения
- url - на ссылку на mp3 поток

pls, m3u и т.п. - это плейлисты. Нужна прямая ссылка на аудио поток.
Ссылку на поток можно получить, открыв плейлист блокнотом.
Поток WMA воспроизводиться не будет.
GemerPC
Сообщения: 38
Зарегистрирован: 17 июл 2011, 07:00

Re: Исходник приложения онлайн радио вконтакте

Сообщение GemerPC »

Не знаю в чем ошибка но музыку у мене не играет

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

        private var api_id:Number=2296301;        private var url:String="http://www.rmix.dp.ua/listen_high.m3u";
И я ещё раз пробывал

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

        private var api_id:Number=2296301;        private var url:String="http://www.rmix.dp.ua/listen_high";
Результата нету помогите найти ошибку !!! :(
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Исходник приложения онлайн радио вконтакте

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

GemerPC
Нужен mp3 поток, а не плейлист m3u. Сохрани плейлист и открой блокнотом. Там http://media.fregat.com:8000/RadioMIX - ссылка на поток.
GemerPC
Сообщения: 38
Зарегистрирован: 17 июл 2011, 07:00

Re: Исходник приложения онлайн радио вконтакте

Сообщение GemerPC »

Александр писал(а):GemerPC
Нужен mp3 поток, а не плейлист m3u. Сохрани плейлист и открой блокнотом. Там http://media.fregat.com:8000/RadioMIX - ссылка на поток.
Спасибо большое :D
drac0Sha
Сообщения: 88
Зарегистрирован: 20 июл 2011, 15:41

Re: Исходник приложения онлайн радио вконтакте

Сообщение drac0Sha »

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

Re: Исходник приложения онлайн радио вконтакте

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

drac0Sha
Можно использовать аудио поток с других сайтов.
drac0Sha
Сообщения: 88
Зарегистрирован: 20 июл 2011, 15:41

Re: Исходник приложения онлайн радио вконтакте

Сообщение drac0Sha »

извините, я видимо, чего-то не понимаю.
что я только не пробовал

private var api_id:Number=2417889;// id вашего приложения
private var url:String="http://www.moskva.fm/share/2002/2011053 ... :12:18";// ссылка на ваше радио

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

Re: Исходник приложения онлайн радио вконтакте

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

drac0Sha
Это ссылка на страницу!
Научись пользоваться Charles, чтобы отлавливать ссылку на поток.
Но с сайта moskva.fm ты нормальной ссылки на поток не получишь.
Martinfresh
Сообщения: 2
Зарегистрирован: 24 июл 2011, 16:27

Re: Исходник приложения онлайн радио вконтакте

Сообщение Martinfresh »

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

Re: Исходник приложения онлайн радио вконтакте

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

Martinfresh
Из исходника нужно сделать swf файл.
Подробную инструкцию как это сделать в Adobe Flash можешь посмотреть здесь http://flapps.ru/forum/topic3.html
Ответить