using NAudio.Wave;
class Program
{
static void Main(string[] args)
{
for (int i = -1; i < WaveInEvent.DeviceCount; i++)
{
var caps = WaveInEvent.GetCapabilities(i);
Console.WriteLine($"{i}: {caps.ProductName}");
}
Console.WriteLine("Enter the device number of the microphone you want to use:");
int deviceNumber = Convert.ToInt32(Console.ReadLine());
var waveIn = new WaveInEvent() { DeviceNumber = deviceNumber };
waveIn.WaveFormat = new WaveFormat(44100, 1);
var bufferedWaveProvider = new BufferedWaveProvider(waveIn.WaveFormat);
var mixingWaveProvider = new MixingWaveProvider32();
mixingWaveProvider.AddInputStream(bufferedWaveProvider); // error is here
var waveOut = new WaveOutEvent();
waveOut.Init(mixingWaveProvider);
waveIn.DataAvailable += (s, a) =>
{
bufferedWaveProvider.AddSamples(a.Buffer, 0, a.BytesRecorded);
};
waveIn.StartRecording();
waveOut.Play();
Console.WriteLine("Press any key to stop program");
Console.ReadKey();
waveIn.StopRecording();
waveIn.Dispose();
waveOut.Stop();
waveOut.Dispose();
}
}
Here is my console app code
and i get the error :
System.ArgumentException
HResult=0x80070057
Message=Must be IEEE floating point Arg_ParamName_Name
Source=NAudio.Core
StackTrace:
at NAudio.Wave.MixingWaveProvider32.AddInputStream(IWaveProvider waveProvider)
at Program.Main(String[] args) in G:\VSC\Visual Studio (C#)\Audio Layer\Program.cs:line 22
Here is my console app code and i get the error :
any help is accepted