51

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

Ребята! Плеер при подключении диджея в к потоку начинает тормозить, пока его не перезагрузишь. Тоже самое происходит и при отключении диджея и фэллбэка на НОНСТОП.
Как решить эту проблему?
Битрейт и Частота у потоков одинаковая.

52

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

уже упоминалось - AS3 не поддерживает такие скачки

53

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

пишет tarasian666:

уже упоминалось - AS3 не поддерживает такие скачки

Вот не надо ляля...
Если битрейт совпадает, дискретизация тоже, то все проходит гладко, проверено на личном опыте...

54

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

так же проверено на личном опыте, битрейт одинаковый, частота дискретизации тоже, во всех плеерах гладко, а во флеше такая фишка. На старых флеш плеерах - гладко

55

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

Вообщем переписали плеер на AS2
Когда в программе нажимаешь ctrl+enter работает все как надо
Когда публикуешь, бывает так, что плеер не играет, в других браузерах играет, но не пказывает название трека.
А когда заливаешь на сайт, то вообще все плохо, не работает парсинг, в некоторых браузерах не воспроизводится музыка.

56

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

Плееры на AS2 вообще перестали работать после обновления плагина  Adobe Flash Player 11.4.402.265 (от 21.08.2012)
Только в Хроме работает. на него флеш по старее ставится.

57

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

Ха-Ха-ХА!!1! AS3 рулит big_smile

58

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

в AS3 глюк c битрейдом, например при  переходе ( live - autoDj ) начинает заикатся big_smile

59

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

А у меня нет big_smile

60

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

netStream ?

61

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

Для AAC потока да

62

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

ну вот в netStrem и не должно "заикатся" после перехода

63

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

Уважаемые админы! Расскажите пожалуйста про crossdomain.xml?

Что именно писать в этом файле и куда забрасывать для доступа плеера к парсингу?
Плеер на AS3

Все работает на локальном компе, а когда на сайт заливаю, играет, но не показывает.

В файле crossdomain нужно прописывать адрес и порт вместо звездочек, или оставлять так?
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

и играет роль если фаил назван с Большой буквы Crossdomain.xml?

И еще...
Вот такую ошибку показывает Internet Exploer

Error #2044: Необработанный securityError:. text=Error #2048: Нарушение изолированной среды: http://doskater.com/flash/player.swf не может загрузить данные из http://109.120.144.244:8000/status.xsl.
    at player_fla::MainTimeline/frame1()

Сервер VPN
Как разрешить доступ к Status.xsl????????

Security.loadPolicyFile("http://doskater.com/crossdomain.xml");
import flash.display.Graphics; 
import flash.events.TimerEvent; 
import flash.utils.Timer; 
import flash.net.URLRequest;
 
var p_stat:int=0;
var v_stat:int=0;
var req:URLRequest = new URLRequest("http://109.120.144.244:8000/live");
var context:SoundLoaderContext = new SoundLoaderContext(2500, false);
var potok:Sound       = new Sound();
var chanal:SoundChannel    = new SoundChannel();
var soud_vol:SoundTransform   = new SoundTransform();
var data_html:String;

var f_non_stop:Boolean = true;
var f_live:Boolean = false;

var ob:Object = vol_mc_3;

var urlLoader:URLLoader = new URLLoader();

var timer:Timer = new Timer(2000);
timer.addEventListener(TimerEvent.TIMER, onTick);

play_mc.addEventListener(MouseEvent.CLICK, play_nazh);

vol_mc_1.addEventListener(MouseEvent.CLICK, vol_nazh_1);
vol_mc_2.addEventListener(MouseEvent.CLICK, vol_nazh_2);
vol_mc_3.addEventListener(MouseEvent.CLICK, vol_nazh_3);
vol_mc_4.addEventListener(MouseEvent.CLICK, vol_nazh_4);
vol_mc_5.addEventListener(MouseEvent.CLICK, vol_nazh_5);

v_stat=3;
vol_ur(v_stat);
vol_mc_3.gotoAndStop(2);

function play_nazh(event:MouseEvent):void
{
 if (p_stat==0) {
  play_mc.gotoAndStop(2);
  
  p_stat=1;
  potok.load(req,context);
  chanal=potok.play();
  vol_ur(v_stat);
  timer.start();
 }
 else {
  play_mc.gotoAndStop(1);
  
  p_stat=0;
  chanal.stop();
  potok.close();
  
  var false_potok:Sound = new Sound();
  potok = false_potok;
  
  timer.stop();
  curSong.txt.text = "";
  listeners.text = "";
 }
}

function onTick(event:TimerEvent):void  
{   if(p_stat == 0) {
  curSong.txt.text = "";
  listeners.text = "";
  return;
 }
 urlLoader.load(new URLRequest("http://109.120.144.244:8000/status.xsl"));
 urlLoader.addEventListener(Event.COMPLETE,onComplete);
}

function onComplete(event:Event):void 
{ 
    data_html = event.target.data;
 curSong.txt.htmlText = antara(data_html, "<td>Current Song:</td>\n<td class=\"streamdata\">", "</td>");
 listeners.text = antara(data_html, "Current Listeners:</td>\n<td class=\"streamdata\">", "</td>");
 
 if(antara(data_html, "<td><h3>Mount Point ", "</h3></td>") == "/live") {
  if(f_non_stop) {
   f_non_stop = false;
   f_live = true;
   
   chanal.stop();
   
   var false_potok1:Sound = new Sound();
   potok = false_potok1;
   
      potok.load(req, context);
   chanal = potok.play();
   vol_ur(v_stat);
  }
 } else {
  if(f_live) {
   f_live = false;
   f_non_stop = true;
   
   chanal.stop();
   
   var false_potok2:Sound = new Sound();
   potok = false_potok2;
   
      potok.load(req, context);
   chanal = potok.play();
   vol_ur(v_stat);
  }
 }
 
 data_html = "";
}

function antara(string:String, st:String, end:String):String {
 string = " " + string;
 var ini:Number = string.indexOf(st);
 if (ini == 0) return "";
 ini += st.length;
 var len:Number = string.indexOf(end, ini) - ini;
 return string.substr(ini,len);
}

function vol_nazh_1(event:MouseEvent):void
{
 ob.gotoAndStop(1);
 ob = vol_mc_1;
 ob.gotoAndStop(2);

 v_stat=1;
 vol_ur(v_stat);
}

function vol_nazh_2(event:MouseEvent):void
{
 ob.gotoAndStop(1);
 ob = vol_mc_2;
 ob.gotoAndStop(2);
 
 v_stat=2;
 vol_ur(v_stat);
}

function vol_nazh_3(event:MouseEvent):void
{
 ob.gotoAndStop(1);
 ob = vol_mc_3;
 ob.gotoAndStop(2);
 
 v_stat=3;
 vol_ur(v_stat);
}

function vol_nazh_4(event:MouseEvent):void
{
 ob.gotoAndStop(1);
 ob = vol_mc_4;
 ob.gotoAndStop(2);
 
 v_stat=4;
 vol_ur(v_stat);
}

function vol_nazh_5(event:MouseEvent):void
{
 ob.gotoAndStop(1);
 ob = vol_mc_5;
 ob.gotoAndStop(2);
 
 v_stat=5;
 vol_ur(v_stat);
}

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

Отредактировано Lif (23-09-2012 23:34:41)

64

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

Оставить файл как есть, с маленькой буквы, залить в папку web (айскаста), путь в коде не нужно указывать. В настройках "публикации" флеша установить network only

65

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

Для подгрузки названия трека CrossDomain не обязателен. crossdomain.xml нужен для эквалайзера...

Отредактировано Leff27 (24-09-2012 15:17:23)

66

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

пишет Leff27:

Для подгрузки названия трека CrossDomain не обязателен. crossdomain.xml нужен для эквалайзера...

Странно, а я всегда думал, что файл crossdomain.xml создается для разрешения доступа...

67

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

Я имел в виду, что разрешать доступ для парсинга трека не требуется...
Хотя, я вспомнил, что всегда дергал php и не парсил напрямую с status.xsl, поэтому не утверждаю на 100%

ЗЫ Проще парсить метадату потока, чем дергать status.xsl

Отредактировано Leff27 (24-09-2012 15:49:32)

68

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

для подгрузки названия трека самим флешом crossdomain.xml нужен, если сторонним скриптом в той же папке тогда не нужен

по крайней мере нужен именно для AS2 для подгрузки названия, недавно опять с этим сталкивался

для чтения флеш заголовков нетстримом он не нужен

69

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

по поводу мета-тегов, так flash может брать из обычного txt файла. главное чтобы в нем грамотно был записан скрипт, например:
{"ARTIST":"No data","NAME":"No data","unix_stop_time":1384774633,"id":1,"timeleft":145,"image":""} (после no data не относится к скрипту)
ну или обычный html файл, если хотите, могу написать

70

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

америку открыл...

71

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

Можете подсказать как сделать автозапуск?

72

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

Приветствую!
Такой вопрос: AS3, поток недоступен по каким-либо причинам, но пользователь этого не знает и жмет "плей". Срабатывает слушатель ошибок и совершает нужные действия. После чего пользователь пробует еще раз и снова нажимает "плей", но на этот раз ошибка не обрабатывается и необходимые действия не совершаются. Но вылазит "SecurityError: Error #2000: Отсутствует активный контекст безопасности.".
Как создать/добавить этот контекст?