| ALEX ZONA |
04.10.2011 08:47 |
Ну это понято!
Мне не понятно как мне это все впихнуть в флеш т.е. у меня есть финч API плеера там только 2 файла fla и as........
Есть пример запроса в таком виде..... Я так понимаю это запрос в JSON
Цитата:
{"radio":{"name":"[hit-rock fm]","rating":"270","avatars":{"small":"http:\/\/fmhost.me\/storage\/radio\/12\/s_12.jpg","medium":"http:\/\/fmhost.me\/storage\/radio\/12\/m_12.jpg","normal":"http:\/\/fmhost.me\/storage\/radio\/12\/n_12.jpg"},"fans":"107","url":"http:\/\/fmhost.me\/hit-rock","tags":[{"tag":"pop"},{"tag":"dance"},{"tag":"rock"},{"tag":"electronic"},{"tag":"alternative"},{"tag":"female vocalists"},{"tag":"alternative rock"},{"tag":"indie"},{"tag":"rnb"},{"tag":"h"}],"sum-listeners":0,"track":{"title":"Alone Original Radio Edit","artist":"prezioso amp marvin"},"streams":[{"stream":{"name":"hit-rock_128","url":"http:\/\/fmhost.me:7777\/hit-rock_128.m3u","listeners":"0","mime-type":"audio\/mpeg","format":"MP3"}},{"stream":{"name":"hit-rock_192","url":"http:\/\/fmhost.me:7777\/hit-rock_192.m3u","listeners":"0","mime-type":"audio\/mpeg","format":"MP3"}},{"stream":{"name":"hit-rock_64","url":"http:\/\/fmhost.me:7777\/hit-rock_64.m3u","listeners":"0","mime-type":"audio\/mpeg","format":"MP3"}}]}}
|
Вопрос в том как мне его вставить в саму флешку?
Добавлено через 3 минуты
Есть еще такой вопрос Какие форматы поддерживает API? и ответ получил таков......
Вы можете получить данные в формате JSON или XML.
По умолчанию используется формат JSON, но при желании вы можете получать данные в формате XML, для этого необходимо указать в запросе переменную format=XML.
Добавлено через 19 минут
Вот есть параметры этого Примера запроса!
Цитата:
Параметры:
radio: id или алиас радиостанции.
Возвращаемые данные:
radio.name: Название радиостанции
radio.rating: Рейтинг радиостанции
radio.fans: Количество людей, которые добавили радиостанцию в любимые
radio.url: Ссылка на страницу радиостанции
radio.tags: Теги радиостанции (если найден хотя бы 1)
radio.sum-listeners: Общее количество слушателей на всех потоках
radio.track: Информация о проигрываемой композиции (если станция вещает и если трек определен)
track.title: Название трека
track.artist: Исполнитель трека
track.cover: Аватар исполнителя/любое другое изображение, относящееся к данному треку (если найдено)
streams: Список активных потоков радиостанции
stream.name: Название потока
stream.url: Ссылка на прослушивание потока
stream.mime-type: Mime-type потока
stream.format: Формат потока
stream.bitrate: Битрейт текущего потока (если определен)
stream.listeners: Количество слушателей на данном потоке
|
Мне нужено только вот это:
Цитата:
radio.track: Информация о проигрываемой композиции (если станция вещает и если трек определен)
track.title: Название трека
track.artist: Исполнитель трека
|
И вставить его в этот код:
Код AS3:
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=ид приложения;// id вашего приложения
private var url:String="ссылка ";// ссылка на ваше радио
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('site.ru');
p2.addEventListener(MouseEvent.CLICK, function(){;
navigateToURL(new URLRequest('http://site.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;
}
}
}
|