Как извлечь мета данные из потока аудио Shoutcast (Названия песни) для html

Статус
В этой теме нельзя размещать новые ответы.
A

AHTUNG

Прохожие
Вот что начитал про вынос метаданных из потока аудио сабж...
Итак, процедура выделения метаданных (названия песни) из потока выглядит так:

1.

Запрос метаданных
Это просто добавление нового поля в HTTP-запрос:

Icy-MetaData:1

То есть, весь запрос будет выглядеть так:

GET path HTTP/1.0
Icy-MetaData:1

Если будут запрашиваться метаданые, нужно уметь извлекать их из потока, иначе звуковой поток будет прерываться каждую секунду (хотя это хороший способ узнать, получаем ли мы метаданные вообще :).
2.

Получение интервала метаданных
Один из заголовков, которые вернутся на ваш запрос, будет сообщать о том, как часто метаданные будут посылаться в потоке. В частности, сколько байт MP3-данных будет между блоками метаданных. Этот заголовок выглядит так:

icy-metaint: number

Возможно, нужно будет хранить это число.
3.

Получение данных
Считываем поток данных и считаем байты. Когда число байт стало равно number, мы дошли до блока метаданных. Первая часть блока – это указатель длины. Как уже говорилось, он равен (длина метаданных / 16). Умножаем его на 16, чтобы получить длину метаданных (максимальная длина метаданных = 4080). Теперь считываем это количество байт – и мы имеем строку, содержащую метаданные. Обнуляем счетчик данных и повторяем все заново.

Следует заметить, что чаще всего длина метаданных равна 0, то есть их просто нет в потоке. Метаданные, как правило, посылаются в двух местах: сразу после соединения и когда сменяются песни.
4.

Разбор метаданных
Часть строки метаданных должна выглядеть так:

StreamTitle='title of the song';

что нам и нужно было.


Вопрос заключаеться как это сделать в html-e чёб на странице при запросе появлялось название песни транслируемой в онлайне.. а лучше еси будет ява с запросом по времени..
Подскажате может кто сталкивалси с таким!
Сенкс зараннеееее..
:thenks: :thenks:
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху