Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
55 / 55 / 63
Регистрация: 18.03.2014
Сообщений: 386

Некорректное вытаскивание ID3 тегов

12.12.2015, 21:09. Показов 776. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые форумчане, нужна ваша помощь, никак не могу научиться вытягивать эти ID3 теги из *.mp3
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class ID3
        {
            public Byte[] TAGID = new Byte[3];
            public Byte[] Title = new Byte[30];
            public Byte[] Artist = new Byte[30];
            public Byte[] Album = new Byte[30];
            public Byte[] Year = new Byte[4];
            public Byte[] Comment = new Byte[28];
            public Byte[] Genre = new Byte[1];
            public Byte[] Bitrate = new Byte[1];
            public Byte[] Duration = new Byte[1];
        }
...
FileStream fs = File.OpenRead("Under_Control_(feat. Hurts).mp3");
            fs.Seek(-128, SeekOrigin.End);
            ID3 tag = new ID3();
            fs.Read(tag.TAGID, 0, tag.TAGID.Length);
            fs.Read(tag.Title, 0, tag.Title.Length);
            fs.Read(tag.Artist, 0, tag.Artist.Length);
            fs.Read(tag.Album, 0, tag.Album.Length);
            fs.Read(tag.Year, 0, tag.Year.Length);
            fs.Read(tag.Bitrate, 0, tag.Bitrate.Length);
            fs.Read(tag.Duration, 0, tag.Duration.Length);
            fs.Read(tag.Comment, 0, tag.Comment.Length);
            fs.Read(tag.Genre, 0, tag.Genre.Length);
            if(Encoding.Default.GetString(tag.TAGID).Equals("TAG"))
            {
                string str = Encoding.Default.GetString(tag.Title);
                MessageBox.Show(str);
            }
            else
            {
                MessageBox.Show(Encoding.Default.GetString(tag.TAGID));
            }
может я неправильно биты в строку перевожу, или что еще?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2015, 21:09
Ответы с готовыми решениями:

Парсер ID3 тегов на Flash
Доброго времени суток! Имеется адрес потока Icecast вида host.com:8000/radio Существует ли решение на флеш, позволяющее парсить...

Иногда не работает очистка id3 тегов
здравствуйте, используя ранние навыки в теме: https://www.cyberforum.ru/cpp-builder/thread584976.html я считывал теги, а потом...

Вытаскивание значений параметров из тегов
Есть тег вида <name par1='foo1' par2='foo2' и тд /> нужно вытаскивать значения foo1, foo2 и тд. Как это лучше...

6
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,897
Записей в блоге: 1
13.12.2015, 00:07
programmist99, у меня все нормально читается. Я бы только немного подправил строку №28 чтобы она игнорировала нулевые символы.
C#
1
string str = Encoding.Default.GetString(tag.Title, 0, tag.Title.TakeWhile(b => b != 0).Count());
0
55 / 55 / 63
Регистрация: 18.03.2014
Сообщений: 386
13.12.2015, 15:40  [ТС]
Может я что-то не понимаю, по идее, должно выводится название трека, но у меня в строке выводятся непонятные символы
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,897
Записей в блоге: 1
13.12.2015, 17:20
programmist99, это происходит для всех файлов или только для некоторых?
0
55 / 55 / 63
Регистрация: 18.03.2014
Сообщений: 386
13.12.2015, 20:44  [ТС]
Заработало!!! Нашел файл, который читается хорошо, но, по неполному названию песни, я понял, что ID3v1 не подходит
Как узнать длину названия в ID3v2, ведь в нем размер не имеет постоянного значения
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,897
Записей в блоге: 1
13.12.2015, 22:29
programmist99, я не работал с ID3 тегами. Советую взять готовую библиотеку которая это умеет делать.
0
тыжПрограммист
 Аватар для LonerZzz
330 / 144 / 44
Регистрация: 21.04.2014
Сообщений: 638
15.12.2015, 11:53
Цитата Сообщение от programmist99 Посмотреть сообщение
Как узнать длину названия в ID3v2, ведь в нем размер не имеет постоянного значения
http://habrahabr.ru/post/103635/
Я по этой статье разбирался
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.12.2015, 11:53
Помогаю со студенческими работами здесь

Php скрипт для чтение ID3 тегов при импорте песен
Всем добра! Прощу помочь, где только не искал но не нашел. Задача такая: нужен php код для вывода информации (ID3) из mp3 файлов, при...

Проверка тегов XML на наличие дочерних тегов
Доброго времени суток. Вот часть файлика которого мне нужно считать... <?xml version="1.0"...

Система тегов, облако тегов
Здравствуйте. Очень интересно знать как разработать и заставить функционировать "систему тегов". Честно признаться, даже не знаю...

Считывание ID3 тэгов
Подскажите пожалуйста чем и как считывать ID3 тэги любой версии в mp3? Пишу на С. Пробовал taglib и id3lib невышло, куча ошибок. ...

Работа с ID3 тегами
Почитал много мануалов, но никак не могу поянть как работат с ID3 тегами в mp3 файлах. Например: <?php $tag = id3_get_tag(...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru