Как получить длину MP3 в C#

регистровые переменные

я раньше объявлял, что некоторые переменные с register ключевое слово помогают вещам скорости встать. Это дало бы подсказку компилятору C для использования регистра ЦП в качестве локального устройства хранения данных. Это наиболее вероятно больше не необходимое, поскольку современные дневные компиляторы C делают это автоматически.

8
задан Community 23 May 2017 в 11:45
поделиться

5 ответов

Очевидно, этот класс вычисляет продолжительность, используя fileSize / bitRate. Это может работать только с постоянным битрейтом, и я предполагаю, что ваш MP3 имеет переменную bitRate ...

РЕДАКТИРОВАТЬ: взгляните на TagLib Sharp , он может дать вам продолжительность

10
ответ дан 5 December 2019 в 10:04
поделиться

Как вы определили длину MP3, которые являются "неправильными"? Я часто обнаруживал, что информация в заголовке может быть неверной: например, была определенная версия LAME, в которой была эта проблема.

Если вы открываете свойства файла в проводнике Windows, что это показывает?

4
ответ дан 5 December 2019 в 10:04
поделиться

Я бы подумал об использовании для этого внешнего приложения. Попробуйте использовать Sox и просто запустите версию программы, которая выполняется с использованием soxi (без exe), и попробуйте проанализировать этот вывод. Учитывая ваши возможности, я думаю, вам лучше просто довериться кому-то еще, кто потратил время на проработку всех странностей в файлах mp3, если только эта функция не является ключевой для того, что вы делаете. Удачи!

0
ответ дан 5 December 2019 в 10:04
поделиться
0
ответ дан 5 December 2019 в 10:04
поделиться

Я обернул библиотеку mp3-декодера и сделал ее доступной для разработчиков .net. Вы можете найти его здесь:

http://sourceforge.net/projects/mpg123net/

Включены образцы для преобразования файлов mp3 в PCM и чтения тегов ID3.

Думаю, вы можете использовать его для чтения длительности файла mp3. В худшем случае вы прочитаете все кадры и вычислите продолжительность - файл VBR.

Чтобы точно определить продолжительность mp3, вы ДОЛЖНЫ прочитать все кадры и рассчитать длительность по их суммарной продолжительности. Есть много случаев, когда люди помещают различные «метаданные» в файлы mp3, поэтому, если вы оцениваете по битрейту и размеру файла, вы ошибаетесь.

3
ответ дан 5 December 2019 в 10:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: