PDA

Просмотр полной версии : Flash Audio Player?


teCa
23.08.2007, 12:15
В локалке поднят сервис радиовещания, перехватываю поток все ок, хочу получить теги - болт

делаю примерно так:

var my_sound:Sound = new Sound();
my_sound.loadSound("http://hostname:port", true);
trace(my_sound.id3.artist);


С сервиса теги передаются это точно, к примеру винамп их отлично воспринимает.

У меня же в оутпат только - undefined

Пробовал получать теги с локального файла, все теги получил, а с потока вот уже нет?

Можно ли вообще это реализовать?

etc
23.08.2007, 12:59
А с чего вы взяли, что метатеги сразу же доступны после вызова loadSound?

teCa
23.08.2007, 13:16
Честно говоря, я это нисчего и не брал, просто при указании явного файла они определятся.

Это можно реализовать?

etc
23.08.2007, 13:24
Откройте справку по классу Sound.

teCa
23.08.2007, 13:35
import mx.controls.gridclasses.DataGridColumn;
var id3_dg:mx.controls.DataGrid;
id3_dg.move(0, 0);
id3_dg.setSize(Stage.width, Stage.height);
var property_dgc:DataGridColumn = id3_dg.addColumn(new DataGridColumn("property"));
property_dgc.width = 100;
property_dgc.headerText = "ID3 Property";
var value_dgc:DataGridColumn = id3_dg.addColumn(new DataGridColumn("value"));
value_dgc.width = id3_dg._width-property_dgc.width;
value_dgc.headerText = "ID3 Value";

var my_sound:Sound = new Sound();
my_sound.onID3 = function() {
trace("onID3 called at "+getTimer()+" ms.");
for (var prop in this.id3) {
id3_dg.addItem({property:prop, value:this.id3[prop]});
}
};
my_sound.loadSound("/singl.mp3", true);

Вот этот пример приветден в хелпе, результат тотже, теги берутся только с mp3 файла, с потока же нет.

etc
23.08.2007, 13:37
Вообще говоря, об этом тема была и пришли к выводу, что это просто такой поток.

teCa
23.08.2007, 13:39
те, все дело в потоке? А на деле все должно отрабатывать?

А возможно ли флэшем сделать следующее?

открыть страницу, записать код страници в переменную, затем выдернуть из кода кусок от и до, за зетем отрезать эти "от", "до", а результат уже отобразить?

etc
23.08.2007, 13:57
Поток должен содержать корректные id3-теги, повторяющиеся с заданной переодичностью.

Какой код страницы?

teCa
23.08.2007, 14:01
Сервис при обращении генерирует html страницу, на которой отображает различные поля, в том числе карент сонг, те записывать в переменную html код страници и брать из него уже само назваени трека?

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

teCa
24.08.2007, 10:46
Воббщем сделал так:

function nazvanie() {
var lorem_lv:LoadVars = new LoadVars();
lorem_lv.onData = function(src:String):Void {
if (src != undefined) {
my_txt.text = src;
index = src.indexOf(" ");
src = src.substr(index, 100);
index = src.indexOf(" - Winamp");
src = src.substring(0, index);
my_txt.text = src;
} else {
my_txt.text = "Unable to load external file.";
}
};
lorem_lv.load("http://ittest:8087/index.htm");
}

Скриптом создаю страничку с карент сонг и вырезаю из неё уже влэшем.

В макромедии все отрабатывает, в браузере же Unable to load external file.

Из - за чего это может быть?
Так же флэшка не работает а ИЕ, но зато работает во вех остальных браузерах и плеерах.??

etc
24.08.2007, 11:01
Локально?

teCa
24.08.2007, 13:22
Что именно?
Флэшка запускается локально.

etc
24.08.2007, 13:25
Это политика безопасности Flash Player не разрешает загрузку данных с удаленного домена.
Но можно включить:
http://www.flasher.ru/forum/showthread.php?t=92951

teCa
27.08.2007, 09:45
По крайней мере по описанию у меня не так, просто при запуске флешки к примеру ИЕ, появляется просто сцена и больше ничего не происходит, при загрузке в опере, плеер подключается к потоку, но не загружает и не вырезает из строници карент сонг, в некоторых флэш плеерах вточности донаоборот, те карент сонг отображается, но не подключается к каналу, а в макромедии все работает.

Некаких сообщений об ошибке не поступает.

etc
27.08.2007, 10:46
А действия, описанные в теме по моей ссылке выполнены?

teCa
27.08.2007, 14:49
btn.two_lines._visible = true;
btn.treug._visible = false;
var my_sound:Sound = new Sound();
my_sound.loadSound("http://ittest:8000", true);
function nazvanie() {
var lorem_lv:LoadVars = new LoadVars();
lorem_lv.onData = function(src:String):Void {
if (src != undefined) {
my_txt.text = src;
index = src.indexOf(" ");
src = src.substr(index, 100);
index = src.indexOf(" - Winamp");
src = src.substring(0, index);
my_txt.text = src;
} else {
my_txt.text = "Unable to load external file.";
}
};
lorem_lv.load("http://ittest:8087/index.htm");
}
onEnterFrame = function () {
_root.my_sound.setVolume((play_btn._x-80));
if (a != 0) {
a = 0;
b = getTimer();
}
if (b+5000<getTimer()) {
a = 1;
nazvanie();
}
};
play_btn.onPress = function() {
this.startDrag(false, 80, 37, 525, 37);
};
play_btn.onRelease = play_btn.onReleaseOutside=function () {
this.stopDrag();
};

btn.onPress = function() {
if (btn.two_lines._visible = false) {
btn.two_lines._visible = true;
btn.treug._visible = false;
my_sound.start();}

else {
btn.two_lines._visible = false;
btn.treug._visible = true;
my_sound.stop();}
}
Вот интересует больше этот кусок

btn.onPress = function() {
if (btn.two_lines._visible = false) {
btn.two_lines._visible = true;
btn.treug._visible = false;
my_sound.start();}

else {
btn.two_lines._visible = false;
btn.treug._visible = true;
my_sound.stop();}
}
Я хочу по нажатию кнопки останавливать и запускать музыку, останавливает все ок, а вот вклиючить уже не получается.
Что не так делаю?

etc
27.08.2007, 15:28
Узнайте, чем отличается оператор присвоения от оператора сравнения.

teCa
27.08.2007, 15:37
А если несложно, то можно описать правильный синтаксис?
Я понимаю про что вы, просто у меня макромедия без хелпов.

etc
27.08.2007, 15:41
А гугл и LiveDocs на что? Вы делаете типичную ошибку начинающего программиста, решить её предлагается самостоятельно.

Kikasso
27.08.2007, 15:52
у меня макромедия без хелпов.
Как это? По кнопке F1 ничего не открывается?
Если хелпа нет - немедленно искать.

Wolsh
27.08.2007, 17:02
версия для мобильных ;)

Kikasso
27.08.2007, 20:21
Ага, отправь "help" на короткий номер 999 ))
http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001796.html

teCa
28.08.2007, 11:13
А где найти SettingsManager?

etc
28.08.2007, 11:25
Господи, вы читали тему, ссылку на которую я дал в тринадцатом посте или нет? (Это на второй странице, если что)