Как определить частоту появления mp3 в .NET? - PullRequest
3 голосов
/ 30 сентября 2010

Я хочу создать очень простое программное обеспечение на C # .NET, в которое я могу передать путь к папке и обнаружить все файлы с частотой ниже заданного порогового значения. Любые указатели на то, как я это сделаю?

Ответы [ 3 ]

4 голосов
/ 30 сентября 2010

Вы должны читать mp3 файлы. Для этого вы должны найти спецификации для них.

Обычно mp3-файл заключен в тег ID3, поэтому вам необходимо прочитать его, найти его длину и пропустить. Давайте возьмем ID3v2.3 например:

ID3v2/file identifier   "ID3" 
ID3v2 version           $03 00
ID3v2 flags             %abc00000
ID3v2 size              4 * %0xxxxxxx

т. Е. Байты 6,7,8,9 хранят длину заголовка в формате с прямым порядком байтов. Вот пример файла:

 0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
49 44 33 03 00 00 00 00 07 76 54 43 4f 4e 00 00

07 76 - это размер. Вам нужно сдвинуть первый байт влево, чтобы фактический размер был 3F6. Затем добавьте 10 (A), чтобы получить смещение = 400. Это адрес начала mp3 заголовка.

Затем вы берете описание mp3 заголовка :

биты: AAAAAAAA AAABBCCD EEEEFFGH IIJJKLMM, нам нужно FF, частота дискретизации и преобразование t в фактическую частоту:

bits    MPEG1   MPEG2   MPEG2.5
00  44100   22050   11025
01  48000   24000   12000
10  32000   16000   8000
11  reserv. reserv. reserv.
2 голосов
/ 30 сентября 2010

Вы можете использовать UltraID3Lib для получения метаданных mp3 (битрейт, частота)

1 голос
/ 30 сентября 2010

Проверить значение битов частоты в файле. Существует некоторая информация о формате mp3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...