| kerranswell |
12.07.2010 04:59 |
Я тут покопался в протоколе Icecast и определил текущее название через php - Icecast посылает поток данных, и среди этих данных он вставляет метаданные. Фишка в том, чтобы их отыскать и прочесть. На php проблем с этим не возникло, но вот на флеше такая загвоздка:
Чтобы получить поток данных от сервера радио я формирую запрос:
Код AS3:
var loader:URLLoader = new URLLoader();
var header:URLRequestHeader = new URLRequestHeader("Icy-MetaData", "1"); // это оповещение сервера о том, что мне нужны метаданные
var request:URLRequest = new URLRequest("сервер");
request.requestHeaders.push(header);
loader.load(request);
Загрузчик успешно начинает грузить поток данных. И тут проблема возникает: Поток данных ведь не истекает, поэтому событие Event.COMPLETE не наступает. А по событию ProgressEvent.PROGRESS в таком вот обработчике:
Код AS3:
function progressHandler(event:ProgressEvent):void {
var loader:URLLoader = URLLoader(event.target);
trace(loader.data);
}
loader.data равен undefined.
То есть, вопрос, как мне прочесть получаемые данные в этом случае, т.е. если их поток не прекращается?
|