Проблема преобразования 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.