26

Re: Делаем себе флеш плеер (Action Script 3.0)

если поток не имеет названия можно дописывать 'stream.nsv' > "http://ip/;stream.nsv"

____ мой пример с использованием из JavaScript ________

[mono]
import flash.media.Sound;
import flash.external.ExternalInterface;

var url:String = "http://192.168.1.200:8000/;stream.nsv";
var req:URLRequest = new URLRequest(url);
var context:SoundLoaderContext = new SoundLoaderContext(2500, false);
var mySound:Sound = new Sound();
var chanel:SoundChannel;
var playStat:Boolean = false;
var sound_vol:SoundTransform = new SoundTransform();

ExternalInterface.addCallback("PlayerDoPlay", doPlay);
ExternalInterface.addCallback("PlayerDoStop", doStop);
ExternalInterface.addCallback("PlayerDoMute", doMute);

function doPlay(){
  if (!playStat){
    playStat = true;
    mySound.load(req,context);
    chanel = mySound.play();
  } else doStop();
}
function doStop(){
  if (playStat){
    playStat = false;
    chanel.stop();
    mySound.close();
    var newSound:Sound = new Sound();
    mySound = newSound;
  }
}
function doMute(){
  if (chanel.soundTransform.volume){
    sound_vol.volume = 0
    chanel.soundTransform = sound_vol;
  } else {
    sound_vol.volume = 1
    chanel.soundTransform = sound_vol;
  }
}
doPlay();[/mono]

27

Re: Делаем себе флеш плеер (Action Script 3.0)

пишет s4:

если поток не имеет названия можно дописывать 'stream.nsv' > "http://ip/;stream.nsv"

касается shoutcast и не только можно но и нужно )

28

Re: Делаем себе флеш плеер (Action Script 3.0)

Мужики, нужна помощь, никак не могу решить две проблемы с радио написанным по данному туториалу.

Проблема первая. Аналайзер.
Когда запускаю swf'фку в просмотрщике - аналайзер работает нормально, все показывает.   
Но если смотреть флешку в браузере (Opera 10.63) то Аналайзера нету, его  п р о с т о - н е т . Флешка же автора работает нормально.
Код аналайзера я не трогал, по сути изменил только дизайн.

Что же я делаю не так? Почему аналайзера нет в моей версии радио?

Линк на радио http://db-host.ucoz.ru/an_project/radiotese.html

import flash.display.Graphics; 

var p_stat:int=0;
var v_stat:int=0;
var req:URLRequest = new URLRequest("http://178.250.240.120:8000/radio");
var req2:URLRequest = new URLRequest("http://178.250.240.120:8000/radio.aac");
var context:SoundLoaderContext = new SoundLoaderContext(4000, false);
var potok:Sound          = new Sound();
var chanal:SoundChannel    = new SoundChannel();
var soud_vol:SoundTransform      = new SoundTransform();
var analo:Shape = new Shape();
var graf:Shape = new Shape();
var bytes:ByteArray = new ByteArray();
var n1:Array = new Array(256);
var i:int = 0;
var n:int = 0;
const xn:int = 138;
const yn:int = 40;
const razm:int = 90;
const visot:int = 25;
const cvet:int = 0x999999;

play_buton.addEventListener(MouseEvent.CLICK, play_nazh);
play_buton2.addEventListener(MouseEvent.CLICK, play_nazh2);
vol_buton.addEventListener(MouseEvent.CLICK, vol_nazh);

v_stat=3;
vol_ur(v_stat);
vol_buton.gotoAndStop(v_stat);

this.addChildAt(analo,numChildren - 1);
this.addChildAt(graf,numChildren - 1);

function play_nazh(event:MouseEvent):void
{
    if (p_stat==0) {
        p_stat=1;
        play_buton.gotoAndStop(2);
        play_buton2.gotoAndStop(1);
        potok.load(req,context);
        chanal=potok.play();
        vol_ur(v_stat);
        addEventListener(Event.ENTER_FRAME, ana);
    }
    else {
        p_stat=0;
        play_buton.gotoAndStop(1);
        play_buton2.gotoAndStop(2);
        chanal.stop();
        potok.close();
        
        var false_potok:Sound = new Sound();
        potok = false_potok;
    }
    
}

function play_nazh2(event:MouseEvent):void
{
    if (p_stat==0) {
        p_stat=1;
        play_buton2.gotoAndStop(2);
        play_buton.gotoAndStop(1);
        potok.load(req2,context);
        chanal=potok.play();
        vol_ur(v_stat);
        addEventListener(Event.ENTER_FRAME, ana);
    }
    else {
        p_stat=0;
        play_buton2.gotoAndStop(1);
        play_buton.gotoAndStop(2);
        chanal.stop();
        potok.close();
        
        var false_potok:Sound = new Sound();
        potok = false_potok;
    }
    
}

function vol_nazh(event:MouseEvent):void
{
    v_stat=Math.ceil(event.localX/5);
    vol_buton.gotoAndStop(v_stat);
    vol_ur(v_stat);
}

function vol_ur(v_stat)
{
    
    soud_vol.volume = v_stat*1/5;
    chanal.soundTransform = soud_vol;
}


function ana(event:Event):void 
{ 
    
    analo.graphics.clear(); 
    SoundMixer.computeSpectrum(bytes, true, 0);  
    analo.graphics.lineStyle(0, cvet); 
    analo.graphics.beginFill(cvet); 
    analo.graphics.moveTo(xn, yn);
    analo.graphics.endFill();
    for (i = 0; i < 256; i++) 
    { 
        n1[i] = bytes.readFloat();      
    }
    for (i = 0; i < 128; i++) 
    {
        //n=n1[i]*visot;
        
        n=((n1[i]+n1[i+128])/2)*visot;
        
        analo.graphics.moveTo(xn+(i*razm/128), yn);
        analo.graphics.lineTo(xn+(i*razm/128), yn-n);
        
    }
    analo.graphics.endFill();
    
}

P.S.S. Огромное спасибо автору за самый нормальный туториал по flash-радио в рунете.

Отредактировано diedbubble (06-12-2010 19:53:12)

29

Re: Делаем себе флеш плеер (Action Script 3.0)

var context:SoundLoaderContext = new SoundLoaderContext(4000, true);

в опциях публикации желательно указать доступ только по сети (access network only - как-то так)
в icecast  в веб директорию закинуть crossdomain.xml

<?xml version="1.0"?> 

<cross-domain-policy> 
  <allow-access-from domain="*" to-ports="*"/> 
</cross-domain-policy>

30

Re: Делаем себе флеш плеер (Action Script 3.0)

исходники и картинки востановлены. во всяком случае до 2012 года точно ^_^

-------------------------------
R244390603111<- пиво лить сюда

31

Re: Делаем себе флеш плеер (Action Script 3.0)

Klef, если не тяжело, просьба еще разок апнуть картинки и исходники

32

Re: Делаем себе флеш плеер (Action Script 3.0)

пишет moonknight:

Klef, если не тяжело, просьба еще разок апнуть картинки и исходники

линки востановил

з.ы. плеер что выложен по файлам, сейчас музыку не играет, по той причине, что радио перехало по другому адресу. Может на днях перекомпилю его.

Отредактировано Klef (04-02-2012 01:13:24)

-------------------------------
R244390603111<- пиво лить сюда

33

Re: Делаем себе флеш плеер (Action Script 3.0)

Доброго времени суток, во-первых, хотелось бы тоже поблагодарить за полезный и наиболее понятный из всех, что попадались, во-вторых, попросить о помощи.
Мучаюсь уже порядка двух недель, но так и не поборола проблему.
Осилила кнопки плей и стоп, а вот дальше стопор(

Код AS3:

var p_stat:int=0;
var v_stat:int=0;
var req:URLRequest = new URLRequest("http://listen2.myradio24.com:9000/8020");
var context:SoundLoaderContext = new SoundLoaderContext(2500, false);
var potok:Sound          = new Sound();
var chanal:SoundChannel    = new SoundChannel();
var soud_vol:SoundTransform      = new SoundTransform();
v_stat=1;
vol_ur(v_stat);
vol_buton.gotoAndStop(v_stat);

play_buton.addEventListener(MouseEvent.CLICK, play_nazh);
vol_buton.addEventListener(MouseEvent.CLICK, vol_nazh);

function play_nazh(event:MouseEvent):void
{
    if (p_stat==0) {
        p_stat=1;
        play_buton.gotoAndStop(2);
        potok.load(req,context);
        chanal=potok.play();
        vol_ur(v_stat);
    }
    else {
        p_stat=0;
        play_buton.gotoAndStop(1);
        chanal.stop();
        potok.close();
        
        var false_potok:Sound = new Sound();
        potok = false_potok;
    }
    
}

function vol_nazh(event:MouseEvent):void
{
    v_stat=Math.ceil(event.localX/5);
    vol_buton.gotoAndStop(v_stat);
    vol_ur(v_stat);
}
function vol_ur(v_stat)
{
    
    soud_vol.volume = v_stat*1/5;
    chanal.soundTransform = soud_vol;
}

P.S.: делала без аналайзера, т.к. нет в нем необходимости в моем случае.

Файл .fla

http://radiozabawa.net/ggg/radio.fla

Файл .swf

http://radiozabawa.net/ggg/radio.swf

Проблемы возникают в следующем:

1. не могу сделать регулятор громкости, он просто не перемещается


Так же на просторах интернета нашла пример, где делают плеер с xml листом, писали, что получилось сделать из того плеера плеер для радио. Может знаете что-нибудь про такой способ.

Заранее очень признательная за помощь.

P.S.: основная проблема заключается в регуляторе громкости(((

Отредактировано radiozabawa (13-05-2012 14:11:07)

http://www.radiozabawa.net/radiozabawa.net/userbar/userbarscript.php

34

Re: Делаем себе флеш плеер (Action Script 3.0)

Свяжитесь со мной по ICQ, помогу.

35

Re: Делаем себе флеш плеер (Action Script 3.0)

Проблема решена.
Решение: горизонтальную полоску громкости необходимо было отделить от подложки. Так же из горизонтальной и вертикальной полосок громкости нужно было сделать мувиклип.
Большое спасибо Артему (Leff27) за оперативное реагирование и понятное объяснение.

http://www.radiozabawa.net/radiozabawa.net/userbar/userbarscript.php

36

Re: Делаем себе флеш плеер (Action Script 3.0)

Добрые люди! Объясните как вставить в плеер чтение Id3v2 тегов?

В инете по этому поводу ничего не нашел.

Нужно, чтобы в плеере бежало название текущего трека играющего в эфире, и исполнителя.

Если кто может, скинте исходник .fla поддерживающий такую функцию! Буду ооооочееееннннь благодарен.

tsurkanroman@mail.ru

37

Re: Делаем себе флеш плеер (Action Script 3.0)

через Sound никак, использовать чтение с сервера парсингом
через netStream другое дело

38

Re: Делаем себе флеш плеер (Action Script 3.0)

А можно подробнее про парсинг?

Есть скрипт в action scripts 3 для парсинга сервера icecast ?

39

Re: Делаем себе флеш плеер (Action Script 3.0)

И расскажите подробнее про netStream

У кого может есть исходник? Я порылся и разобрался тогда бы что к чему!

40

Re: Делаем себе флеш плеер (Action Script 3.0)

Есть скрипт в action scripts 3 для парсинга сервера icecast ?

суть та же что и для php только дугой синтаксис

http://help.adobe.com/en_US/FlashPlatfo … tream.html

Re: Делаем себе флеш плеер (Action Script 3.0)

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

42

Re: Делаем себе флеш плеер (Action Script 3.0)

пишет Горожанин:

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

нет

43

Re: Делаем себе флеш плеер (Action Script 3.0)

пишет ElectroNik:

пишет Горожанин:

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

нет

а что с загрузкой флеш приложения в фейсбуке проблемы?

-------------------------------
R244390603111<- пиво лить сюда

Re: Делаем себе флеш плеер (Action Script 3.0)

нет я просто незнаю возможно это сделать или нет

Если есть варианты подскажите

45

Re: Делаем себе флеш плеер (Action Script 3.0)

там вставляется фреймом, сам плеер должен быть на другом хосте

46

Re: Делаем себе флеш плеер (Action Script 3.0)

Lif
Есть такой пример на основе JW Player. Должен быть установлен обязательно Icecast KH. Плеер поддерживает mp3/aac/aac+.

47

Re: Делаем себе флеш плеер (Action Script 3.0)

Кто знает как в Action Scripts реализовать автопереподключение если поток прервался?

Например:
Плеер играет когда нажата кнопка плей. Поток остановился, потом вновь возобновился, но плеер не воспроизводит его, нужно обновлять страницу.
Или Играет плеер, маунт сделал фэлбэк, и плеер сново не играет, пока не обновишь страницу. Дак вот, нужен скрипт который бы автоматически, через каждые 5 секунд, при условии что плеер не воспроизводит звук, переподключался к потоку.

48

Re: Делаем себе флеш плеер (Action Script 3.0)

проще написать весь плеер на AS2 или использовать NetStream
так как описаный тут метод не приспособлен для потокового вещания

49

Re: Делаем себе флеш плеер (Action Script 3.0)

Слушать ошибку, которая вылетает.
Привязать слушателя к функции реконнекта.(стоп, запуск)

50

Re: Делаем себе флеш плеер (Action Script 3.0)

А какой функцией слушать?