Уменьшение количества каналов при записи в NAudio - PullRequest
0 голосов
/ 26 августа 2011

Я записываю в NAudio с камерой PS3Eye, используя драйверы CLEye. Камера имеет массив из 4 микрофонов и подает на систему 4 аудиоканала.

По умолчанию все каналы записываются с помощью NAudio. Я записываю на волну PCM и получаю 4-канальный выходной WAV-файл.

Когда я пытаюсь воспроизвести файл в NAudio, я получаю MmException 'NoDriver', вызывающий acmFormatSuggest. Стерео файлы воспроизводятся нормально.

Моя звуковая карта может выводить только 2 канала, что может привести к ошибке. Установка моих настроек звука Windows для Quadraphonic не решает эту проблему.

Возможно, я могу попросить NAudio записать только 2 канала или реализовать где-нибудь свой собственный WaveStream?

У кого-нибудь есть идеи по уменьшению количества каналов в NAudio? (желательно в рекордно короткие сроки). Большое спасибо!

1 Ответ

0 голосов
/ 27 августа 2011

не так просто, как объявить это в вашем WaveFormat? 12000 - частота дискретизации, а «1» - количество каналов.

 waveInStream = new WaveIn(WaveCallbackInfo.FunctionCallback());
 waveInStream.WaveFormat = new WaveFormat(12000, 1);
 waveInStream.DeviceNumber = 2;

 AudioWriter = new WaveFileWriter("c:\\MyAudio.wav", waveInStream.WaveFormat);
 waveInStream.DataAvailable += waveInStream_DataAvailable;
 waveInStream.StartRecording();

Вот как я настраиваю свой код для обычного рекордера веб-камеры, и с помощью стерео-микрофонов он выводит монофонические файлы WAV.

...