Проблема преобразования WAV-файла с более чем 2 каналами в MP3 - PullRequest
0 голосов
/ 22 сентября 2018

Я занимаюсь разработкой приложения на 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 Ответ

0 голосов
/ 24 сентября 2018

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

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

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

...