Чтение ID3-тегов удаленного mp3-файла? - PullRequest
3 голосов
/ 09 апреля 2010

Чтение тегов MP3 с помощью Silverlight Я начал читать теги id3, но я понимаю, что taglib # онлайн имеет дело с локальными путями к файлам?

Есть ли способ прочитать эту информацию из удаленного файла?

Ответы [ 2 ]

1 голос
/ 19 октября 2011

Я недавно ответил на тот же вопрос для Ruby (см. Ниже) - я почти уверен, что вы можете сделать что-то подобное.

Идея такова:

  1. использовать протокол HTTP 1.1 или выше и HTTP-запрос Range.

  2. загрузить начальный раздел (100 байт) тега ID3v2

  3. из первых загруженных байтов вы можете определить правильную длину полного тега ID3v2, например, N

  4. загрузить первые N байтов файла (например, полный тег ID3v2)

  5. парсинг тега ID3v2 для ваших целей

См:

Чтение ID3-тегов удаленного MP3-файла в Ruby / Rails?

0 голосов
/ 10 апреля 2010

У Тим Хойер есть хороший пост в блоге о том, как это сделать. http://timheuer.com/blog/archive/2010/01/30/reading-mp3-id3-tags-with-silverlight-taglib.aspx

Как и вы, он также столкнулся с проблемой TabLib #, используя только локальные пути.

Единственное, чего у TagLib # не было, - это реализации потокового ввода. На самом деле большинство библиотек предполагали локальный путь к файлу. К счастью, библиотека была написана с использованием универсального интерфейса «Файл», поэтому мне просто нужно было создать свою собственную StreamFileAbstraction. Я решил сделать это в своем проекте, а не в базовой библиотеке. Это было легко, так как LocalFileAbstraction фактически выполнил Open для файла в качестве первой задачи и установил некоторые публичные переменные. Моя абстракция в основном просто передает поток и готова к работе.

На сайте novell есть пример, использующий абстракцию файлов. http: // developer.novell.com/wiki/index.php/TagLib_Sharp:_Examples

...