Вам не нужно ничего делать с плавающим буфером, как показано в ссылке, которую вы разместили:
void OnDataAvailable(object sender, WaveInEventArgs args)
{
...
var buffer = new WaveBuffer(args.Buffer);
// interpret as 32 bit floating point audio
for (int index = 0; index < args.BytesRecorded / 4; index++)
{
var sample = buffer.FloatBuffer[index];
...
}
}
Если вам нужны 32-битные целочисленные выборки, вам нужно получить доступ к IntBuffer
поле и деление на макс. int.
var sample = buffer.IntBuffer[index] / 4294967296f;