Как преобразовать файл 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