Проблема преобразования WAV-файла с более чем 2 каналами в MP3

Я занимаюсь разработкой приложения на C#, которое записывает потоковое аудио в MP3.

Я новичок в этом, но из того, что я видел до сих пор, самый простой способ сделать это - записать в WAV с помощью NAudio, а затем создать версию MP3, используя либо LameMP3FileWriter, либо MediaFoundationEncoder.

Однако у меня возникают проблемы с преобразованием, поскольку звуковая система моего компьютера имеет формат 5.1, а преобразование MP3 происходит сбой из-за количества каналов в записанном файле WAV. Он прекрасно работает, когда я переконфигурирую звуковую систему на стерео, но это немного болезненно; во-первых, это означает, что я не могу использовать свою систему 5.1 при записи музыки, но возникает еще одна проблема, по какой-то причине, которую я не могу понять, если я переключу мои динамики на стерео, они вернутся в квадрофонический режим при перезагрузке ПК (Windows 10)!

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

Одно очевидное решение сделать что-то вроде передискретизации WAV-файла на 2 канала перед преобразованием в MP3, но это похоже на "длинный ярлык". Мне также неясно, в чем преимущество записи в WAV, в первую очередь - аудиопотоки сжимаются и вряд ли будут иметь более 2 каналов для начала, поэтому проигрывание через 5.1, независимо от того, насколько хорошо это звучит, действительно немного иллюзорным.

Казалось бы, более разумно просто записывать поток прямо в MP3, но я не могу найти какой-либо прямой способ сделать это.

1 ответ

Mp3 спецификация не обрабатывает 5.1. Так что, похоже, ваши mp3-кодеры не работают с 5.1.

Возможно, вы можете попробовать кодировщик, который поддерживает MP3 Surround, расширение mp3 для 5.1.

Также, возможно, вам следует рассмотреть возможность использования AAC encondig, более дружественного кодека для 5.1.

Другие вопросы по тегам