Вопрос

Каков наилучший способ обрезать mp3-файл программно?Например, допустим, я хочу избавиться от первых 2 минут или последних 2 минут или от того и другого.Есть ли хороший способ сделать это из .NET?Или .NET, вызывающий инструмент командной строки?

Это было полезно?

Решение

Существует два подхода к обрезке MP3-файлов:

Сначала конвертируйте в WAV, обрежьте ненужные сэмплы, а затем конвертируйте обратно в MP3.Недостатком является то, что в процессе будет очень незначительная потеря качества.Преимущество заключается в том, что вы найдете множество инструментов командной строки для выполнения преобразований за вас, позволяя вам просто обрезать WAV-файл самостоятельно (НАудио позволил бы вам это сделать).

Во-вторых, проанализируйте сами кадры MP3 и выбросьте целые кадры.Это не дает вам такой большой детализации, но в процессе нет потери качества.Вы также должны быть в состоянии понимать формат MP3-кадров CBR и VBR, а также ID3-кадров.Существуют различные .СЕТЕВЫЕ библиотеки, которые могут читать это, но вам все равно нужно будет написать достаточное количество кода самостоятельно.

Другие советы

Моя ставка делается на инструмент CLI.Взять это например.

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

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

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

Может быть, вы сможете использовать его для поиска mp3-кадров и выписывать только те, которые вам интересно сохранить?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top