Как преобразовать файл WAVE с 3 каналами в файл MP3 (используя LameMP3FileWriter)?

В настоящее время я работаю над приложением, которое записывает звук с устройств. Одно устройство дает нам IWaveIn с 1 каналом и другим из 2 каналов, в результате получается файл WAVE из 3 каналов с использованием new MultiplexingWaveProvider(waveIns.Select(waveIn => new WaveInProvider(waveIn)));

Но когда я пытаюсь преобразовать его, используя LameMP3FileWriter, он жалуется на поддержку только до 2 каналов:

      System.ArgumentException: Unsupported number of channels 3
Parameternaam: format
   bij NAudio.Lame.LameMP3FileWriter..ctor(Stream outStream, WaveFormat format, LameConfig config)
   bij NAudio.Lame.LameMP3FileWriter..ctor(Stream outStream, WaveFormat format, LAMEPreset quality, ID3TagData id3)

      using (var readStream = GetReadStream(file))
using (var reader = new WaveFileReader(readStream))
using (var writeStream = GetWriteStream(convertedFileName))
using (var writer = new LameMP3FileWriter(writeStream, reader.WaveFormat, LAMEPreset.ABR_128))
{
    reader.CopyTo(writer);
}

Кто-нибудь знает, как я могу это исправить?

Или:

  • Сделайте 2-канальный waveIn 1 каналом, чтобы я мог использовать вместо
  • Сделайте 1-канальный waveIn 2-канальным, чтобы я мог использовать MixingWaveProvider32 вместо того MultiplexingWaveProvider
  • Как-то уметь конвертировать 3-х канальный файл WAVE в MP3

0 ответов

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