PDA

Просмотр полной версии : как получить ID3 из NetStream


smartan
08.08.2007, 09:24
hi
Есть плеер у которого весь интерфейс завязан на нетстрим. Плеер должен играть как FMS так и с не FMS :). И он играет! Но если он играет mp3 c FMS я никак не могу получить ID3 (мне для сикбара надо знать его длину). Если играть flv, onMetaData отрабатывает бес проблем. Короче говоря как можно получить duration мптришника который "проигрывается" NetStream-ом ну или как перевести на AS3 вот это:

// displays the ID3 tag of bolero.mp3
mystream_ns.play("id3:bolero");

// callback function to capture the ID3 data. Data will be displayed with
// "info." preceding the data from the tag, for example, info.songtitle.
mystream_ns.onId3 = function(info){
for (i in info){
trace(i + ":" + info[i]);
}
}

и желательно так чтоб работало :D

etc
08.08.2007, 10:17
Читайте раздел AS 2.0 Migration в хелпе.

smartan
08.08.2007, 10:52
ну да конечно .....:mad:
а я сам дурак недогадался!
:mad:
читал!
и не только его!
и не только читал!
а оно не пашет хот тресни!:wacko:

кстати а ничего что у меня NetStream? а не ....
там вроде написано: Dispatched by a Sound object when ID3 data is available for an MP3 sound.
или NetStrems и Sound это ....? ;)

Люди plz давайте по существу!

__i
08.08.2007, 16:06
ну а ты как думаешь?

ничего что ты из коровы бензин хочешь получить? как ты думаешь получиться?

smartan
08.08.2007, 21:18
стоп в АС2 это делается!
в ас3 это тупит!
я сейчас на стороне сервака получаю ID3 отдаю клиенту

asc:
pplication.myStream = Stream.get("streamName");
application.myStream.onId3 = function(info)
{
for (i in info)
{
trace(i + ": " + info[i]);
}
}

или чисто для длины можно юзать Stream.length

var streamLen = Stream.length("mp3:oev");
trace("Length: " + streamLen + "\n");

тока трабла в том что те кто платят деньги хотят Wowza-у а не FMS! А он (как я понял) вообше с asc не дружит! Там типа на яве писать надо !?

Короче говоря мне ID3 надо выдрать без серверного "участия"(чтобы с Wowza-й не парится). И как я говорил в AS2 реально! Значит в AS3 тоже! Вопрос КААААААК?????????:(

smartan
09.08.2007, 00:04
Я в шоке!:wacko: шо тварится.....?!?
Белочка вот в чём:
При конекте на Wowza сервер ВДРУГ начало отрабатывать событие onID3

AS3:


...
my_NetStream=new NetStream(my_NetConnection);
...
my_NetStream.client = this;
...
public function onID3(info:Object):void {
var key:String;
for (key in info) {
trace(key + ": " + info[key]);
}
}

Мало того опятьже ВДРУГ! начало отрабатывать onMetaData

...
my_NetStream.client = this;
...
public function onMetaData(info:Object):void {
var key:String;
for (key in info) {
trace(key + ": " + info[key]);
...
}

Типа у MP3 ВДРУГ MetaData появилась :D
При этом onMetaData выводить только duration

http://fsm.dp.ua

Так что мальчики (и девочки) я типа ВДРУГ свою проблему решил!:yahoo: Но вопрос (о том как это "ЧУДО" на FMS -се повторить) остался! Хотя это походу больше глюк чем адекватное решение!