Класс для чтения MP3 файлов - PullRequest
       24

Класс для чтения MP3 файлов

3 голосов
/ 29 декабря 2010

Я пишу игру, которая немного зависит от саундтрека, поэтому я хочу читать mp3-файл и использовать его данные (например, скорость музыки, ритм и прочее). Есть ли какой-нибудь класс (предпочтительно), который я мог бы использовать, или статья, которая охватывала бы все о чтении mp3 (от проверки, является ли это mp3 до фактического декодирования)? Это нормально, если мне нужно сделать разные вычисления, чтобы найти ритм и так далее, я просто хочу декодировать файл, так как не знаю алгоритм (и не знаю, сложен он или нет).

Ответы [ 2 ]

4 голосов
/ 29 декабря 2010

Да, это сложно. MP3 являются типичной схемой сжатия DCT с потерями более или менее. Процесс похож на JPEG.

Написание mp3-декодера и кодировщика само по себе является проектом.

Encode

Квантование -> Преобразование DCT -> Энтропийное кодирование -> Магазин

Decode

Декодирование энтропии -> IDCT -> Деквантование -> воспроизведение

Я предлагаю FMOD , широко распространенный и используемый в игровом сообществе.

0 голосов
/ 29 декабря 2010

Может быть, посмотрите на mpeglib или SDL_mixer: http://www.libsdl.org/projects/SDL_mixer/ :) Вы под Windows?

Процесс кодирования / декодирования mp3 довольно крутой, но я бы не стал писать вашсобственный декодер, проблема пространства огромна (и многие mp3 файлы не придерживаются формата).Есть множество библиотек, вам просто нужно найти ту, которая подходит!

...