Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.10.2011, 08:15
ALEX ZONA вне форума Посмотреть профиль Отправить личное сообщение для ALEX ZONA Найти все сообщения от ALEX ZONA
  № 1  
Ответить с цитированием
ALEX ZONA

Регистрация: Sep 2010
Сообщений: 5
Question JSON/XML в as3

Как сделать
запрос в (JSON) или (XML) ???

У меня просто есть плеер онлайн радио и для добавления некоторых функций необходимо загрузить JSON/XML с помощью доступных средств.
Как мне это сделать???

Кто нибудь подскажите очень срочно нужно!
Заранее спасибо

Старый 04.10.2011, 08:27
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
URLRequest на адрес, с которого уже и должны отдаваться данные в формате XML или JSON

Старый 04.10.2011, 08:47
ALEX ZONA вне форума Посмотреть профиль Отправить личное сообщение для ALEX ZONA Найти все сообщения от ALEX ZONA
  № 3  
Ответить с цитированием
ALEX ZONA

Регистрация: Sep 2010
Сообщений: 5
Ну это понято!
Мне не понятно как мне это все впихнуть в флеш т.е. у меня есть финч 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;
        }
    }
}


Последний раз редактировалось iNils; 04.10.2011 в 13:51.
Старый 04.10.2011, 09:21
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 4  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Распарсить его какой-нибудь библиотекой для работы с джейсоном, например этой (хотя в 11 флешплеере будет встроенная поддрержка джейсона).
Код AS3:
var obj:Object = JSON.decode("сюда вставить эту json строку")
А потом, из получившегося объекта получать нужные переменные, например:
Код AS3:
trace(obj.radio.name) // в данном случае выдаст [hit-rock fm]

Старый 04.10.2011, 09:30
ALEX ZONA вне форума Посмотреть профиль Отправить личное сообщение для ALEX ZONA Найти все сообщения от ALEX ZONA
  № 5  
Ответить с цитированием
ALEX ZONA

Регистрация: Sep 2010
Сообщений: 5
Чет я ничего не понял я не очень силен в этом всем...

Добавлено через 2 минуты
Не мог бы ты помочь мне все это осилить если конечно же есть желание и время...просто уже около месяца с этим выводом о треке мучаюсь!

Добавлено через 18 минут
У меня Есть мой пример на пхп возможно ли его как то подключить к флешке?


Последний раз редактировалось ALEX ZONA; 04.10.2011 в 09:49.
Создать новую тему Ответ Часовой пояс GMT +4, время: 22:28.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
JSON/XML

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:28.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.