InvalidParameter, вызывающий waveOutOpen MmException

Этот код работает на 32-битной Windows XP, но на 64-битной Windows 7 он вызывает исключение. (на любой конфигурации процессора)

var format = NAudio.Wave.WaveFormat.CreateCustomFormat(
    WaveFormatEncoding.Pcm, 8000, 1, 16000, 1, 16)
BufferedWaveProvider myBufferedWaveProvider = new BufferedWaveProvider(format);
myWaveOut.Init(myBufferedWaveProvider);

Любая помощь?

1 ответ

Решение

Вы создали неверный WaveFormat. Монохромный 16-битный PCM 8 кГц (что вы, похоже, пытаетесь сделать) имеет выравнивание блоков 2. Есть более простой способ сделать этот WaveFormat в NAudio:

new WaveFormat(8000, 1);
Другие вопросы по тегам