Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 来自耳机的NAudio录音_C#_Record_Naudio_Headset - Fatal编程技术网

C# 来自耳机的NAudio录音

C# 来自耳机的NAudio录音,c#,record,naudio,headset,C#,Record,Naudio,Headset,我一直在使用中的代码来录制音频。基本上,该代码: WaveIn waveInStream; WaveFileWriter writer; waveInStream = new WaveIn(44100,2); writer = new WaveFileWriter(outputFilename, waveInStream.WaveFormat); waveInStream.DataAvailable += new EventHandler<WaveInEventArgs>(wav

我一直在使用中的代码来录制音频。基本上,该代码:

WaveIn waveInStream;
WaveFileWriter writer;

waveInStream = new WaveIn(44100,2);
writer = new WaveFileWriter(outputFilename, waveInStream.WaveFormat);

waveInStream.DataAvailable += new EventHandler<WaveInEventArgs>(waveInStream_DataAvailable);
waveInStream.StartRecording();
WaveIn-waveInStream;
波形发生器;
waveInStream=新的waveInStream(44100,2);
writer=新的WaveFileWriter(outputFilename,waveInStream.WaveFormat);
waveInStream.DataAvailable+=新事件处理程序(waveInStream_DataAvailable);
waveInStream.StartRecording();
它工作完美,可以录制系统中的所有声音。当我插入耳机(不是usb,只是直接插入笔记本内置声卡的耳机插孔)时,问题就出现了。这会导致我在耳机中听到的任何声音都不会被录制。 我想这和我用哪种设备录音有关,但我不太清楚

我正在尝试录制一段对话,这意味着我想同时录制麦克风发出的声音和耳机发出的声音

有人能为我指出正确的方向吗?谢谢

// Get default capturer
waveInStream = new WaveIn(44100,2);
现在,如果您插入耳机麦克风/扬声器,Windows将检测到它,但您的程序仍在使用旧的“默认”端点。不是最后添加的设备。这需要更新

解决方案之一是轮询端点,查看是否有任何新(默认)设备已添加到系统中,然后使用新设备停止并开始录制

waveInStream.StopRecording();
// assign the default recording device if not already done
//waveInStream.DeviceNumber = 0;
waveInStream.StartRecording();
如果我的解释不是很清楚,请告诉我