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

Только готовые уроки по использованию ВКонтакте API. Flash + PHP + API. НЕ IFrame!

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

Сообщение Александр » 31 дек 2010, 16:10

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

Изображение


Main.as
  1. /*
  2.  
  3.     https://flapps.ru/forum/ - форум о создании приложений
  4.  
  5. */
  6. package {
  7.     import flash.display.*;
  8.     import flash.media.*;
  9.     import flash.events.*;
  10.     import flash.geom.*;
  11.     import flash.net.*;
  12.     import flash.ui.*;
  13.     import flash.utils.*;
  14.     import flash.text.*;
  15.  
  16.     public class Main extends Sprite {
  17.         private var api_id:Number=1676336;// id вашего приложения
  18.         private var url:String="https://flapps.ru/live";// ссылка на ваше радио
  19.         private var sound:Sound;
  20.         private var music:SoundChannel;
  21.         private var bounds:Rectangle;
  22.         private var maxMove:Number;
  23.         private var minuteTimer:Timer=new Timer(1000);
  24.  
  25.         public function Main():void {
  26.             if (LoaderInfo(root.loaderInfo).parameters.api_id!=api_id) {
  27.                 is_copy_mc.is_copy_tf.text='Приложение находится здесь\nhttp://vkontakte.ru/app'+api_id;
  28.                 is_copy_mc.x=0;
  29.                 is_copy_mc.y=0;
  30.             } else {
  31.                 var cm = new ContextMenu();
  32.                 cm.hideBuiltInItems();
  33.                 var p1:ContextMenuItem=new ContextMenuItem('«Радио»');
  34.                 var p2:ContextMenuItem=new ContextMenuItem('flapps.ru');
  35.                 p2.addEventListener(MouseEvent.CLICK, function(){;
  36.                     navigateToURL(new URLRequest('https://flapps.ru'));
  37.                 });
  38.                 p2.separatorBefore=true;
  39.                 cm.customItems.push(p1,p2);
  40.                 this.contextMenu=cm;
  41.  
  42.                
  43.                 time_tf.autoSize=TextFieldAutoSize.LEFT;
  44.                
  45.                
  46.                 play_btn.addEventListener(MouseEvent.CLICK,playSound);
  47.                 pause_btn.addEventListener(MouseEvent.CLICK,pauseSound);
  48.  
  49.                 addEventListener(Event.ENTER_FRAME, enterHandler);
  50.                 volumeSlider.addEventListener(MouseEvent.MOUSE_DOWN, startScroll);
  51.                
  52.                 stage.addEventListener(MouseEvent.MOUSE_UP, stopScroll);
  53.                
  54.                
  55.                 maxMove=35;
  56.                 bounds=new Rectangle(volumeSlider.x,volumeSlider.y,- maxMove,0);
  57.                 var scrolling:Boolean=false;
  58.  
  59.                 function startScroll(e:Event):void {
  60.                     scrolling=true;
  61.                     volumeSlider.startDrag(false,bounds);
  62.                 }
  63.  
  64.                 function stopScroll(e:Event):void {
  65.                     scrolling=false;
  66.                     volumeSlider.stopDrag();
  67.                 }
  68.  
  69.                 function enterHandler(e:Event):void {
  70.                     if (scrolling==true) {
  71.                         setVolume(1-((bounds.x-volumeSlider.x)/maxMove));
  72.                     }
  73.                 }
  74.  
  75.                 function setVolume(vol:Number) {
  76.                     if (music!=null) {
  77.                         var mod:SoundTransform = new SoundTransform();
  78.                         mod.volume=vol;
  79.                         music.soundTransform=mod;
  80.                     }
  81.                 }
  82.             }
  83.         }
  84.  
  85.         private function playSound(e:MouseEvent):void {
  86.             play_btn.visible=false;
  87.             var request:URLRequest=new URLRequest(url+'?'+Math.random());
  88.             sound = new Sound();
  89.            
  90.             sound.addEventListener(HTTPStatusEvent.HTTP_STATUS,onError);
  91.            
  92.             sound.load(request);
  93.             music=sound.play();
  94.             var mod:SoundTransform = new SoundTransform();
  95.             mod.volume=1-((bounds.x-volumeSlider.x)/maxMove);
  96.             music.soundTransform=mod;
  97.            
  98.             minuteTimer.addEventListener(TimerEvent.TIMER, onTick);
  99.             minuteTimer.start();
  100.         }
  101.        
  102.         private function onError(event:Event):void {
  103.             status_tf.text = 'Ошибка';
  104.         }
  105.        
  106.         private function pauseSound(e:MouseEvent):void {
  107.             play_btn.visible=true;
  108.             music.stop();
  109.             minuteTimer.stop();
  110.             minuteTimer.reset();
  111.             time_tf.text="0:00:00";
  112.         }
  113.  
  114.         function onTick(event:TimerEvent):void {
  115.             var sec=event.target.currentCount;
  116.             var min=Math.floor(sec/60);
  117.             var hour=Math.floor(min/60);
  118.             sec%=60;
  119.             if (sec<10) {
  120.                 sec='0'+sec;
  121.             }
  122.             min%=60;
  123.             if (min<10) {
  124.                 min='0'+min;
  125.             }
  126.             hour%=24;
  127.             time_tf.text=hour+":"+min+":"+sec;
  128.         }
  129.     }
  130. }


Исходник Чтобы увидеть ссылку - зарегистрируйтесь (Adobe Flash CS5)


Инструкция

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

pls, m3u и т.п. - это плейлисты. Нужна прямая ссылка на аудио поток.
Ссылку на поток можно получить, открыв плейлист блокнотом.
Поток WMA воспроизводиться не будет.

За это сообщение автора Александр поблагодарили - 9:
alen-leader, asgfeagef, askarzip, Евгений, GOLdooF, Hirurggg, Nick Lisogor, Penguin, RoAlexSer
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



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

Сообщение GemerPC » 18 июл 2011, 15:10

Не знаю в чем ошибка но музыку у мене не играет
  1.        private var api_id:Number=2296301;
  2.         private var url:String="http://www.rmix.dp.ua/listen_high.m3u";


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


Результата нету помогите найти ошибку !!! :(
GemerPC

 
Сообщения: 38
Зарегистрирован: 17 июл 2011, 07:00
Благодарил (а): 20 раз.
Поблагодарили: 0 раз.

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

Сообщение Александр » 18 июл 2011, 21:10

GemerPC
Нужен mp3 поток, а не плейлист m3u. Сохрани плейлист и открой блокнотом. Там http://media.fregat.com:8000/RadioMIX - ссылка на поток.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

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

Сообщение GemerPC » 19 июл 2011, 11:30

Александр писал(а):GemerPC
Нужен mp3 поток, а не плейлист m3u. Сохрани плейлист и открой блокнотом. Там http://media.fregat.com:8000/RadioMIX - ссылка на поток.


Спасибо большое :D
GemerPC

 
Сообщения: 38
Зарегистрирован: 17 июл 2011, 07:00
Благодарил (а): 20 раз.
Поблагодарили: 0 раз.

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

Сообщение drac0Sha » 20 июл 2011, 15:58

подскажите пожалуйста
для этого приложения нужен обязательно свой сайт со своим радио!?
drac0Sha

 
Сообщения: 88
Зарегистрирован: 20 июл 2011, 15:41
Благодарил (а): 9 раз.
Поблагодарили: 0 раз.

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

Сообщение Александр » 20 июл 2011, 20:16

drac0Sha
Можно использовать аудио поток с других сайтов.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

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

Сообщение drac0Sha » 21 июл 2011, 08:25

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

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

не работает
это не ссылка на аудио поток!?
drac0Sha

 
Сообщения: 88
Зарегистрирован: 20 июл 2011, 15:41
Благодарил (а): 9 раз.
Поблагодарили: 0 раз.

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

Сообщение Александр » 21 июл 2011, 21:59

drac0Sha
Это ссылка на страницу!
Научись пользоваться Charles, чтобы отлавливать ссылку на поток.
Но с сайта moskva.fm ты нормальной ссылки на поток не получишь.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

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

Сообщение Martinfresh » 24 июл 2011, 16:30

Подскажите, как встроить данный исходник в приложение! Закидываю файлы на серевер, прописываю их адреса, и не работает!
Заранее спасибо
Martinfresh

 
Сообщения: 2
Зарегистрирован: 24 июл 2011, 16:27
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Александр » 24 июл 2011, 16:42

Martinfresh
Из исходника нужно сделать swf файл.
Подробную инструкцию как это сделать в Adobe Flash можешь посмотреть здесь topic3.html
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

След.

Вернуться в Уроки по использованию ВКонтакте API



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0