N从耳机录音

Posted

技术标签:

【中文标题】N从耳机录音【英文标题】:NAudio recording from headset 【发布时间】:2011-10-06 05:04:37 【问题描述】:

我一直在使用http://opensebj.blogspot.com/2009/04/naudio-tutorial-5-recording-audio.html 中的代码来录制音频。基本上这段代码:

WaveIn waveInStream;
WaveFileWriter writer;

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

waveInStream.DataAvailable += new EventHandler<WaveInEventArgs>(waveInStream_DataAvailable);
waveInStream.StartRecording();

它完美地工作并记录系统上的每一个声音。当我插入耳机(不是 USB,直接插入笔记本电脑内置声卡上的耳机插孔)时,问题就出现了。这会导致我在耳机中听到的任何声音都不会被记录下来。 我认为这与我从哪个设备录制有关,但我不太清楚。

我正在尝试录制对话,这意味着我想同时录制来自麦克风的声音和我在耳机中听到的声音。

有人可以为此指出正确的方向吗?谢谢。

【问题讨论】:

【参考方案1】:
// 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();

如果我的解释不是很清楚,请告诉我。

【讨论】:

以上是关于N从耳机录音的主要内容,如果未能解决你的问题,请参考以下文章

使用蓝牙耳机在奥利奥录音问题

录音和播放同时进行

录音时候音频的外放

Ionic 2 - 用蓝牙耳机录音

win10 插入16k采样的耳机无法播放和录音的问题定位

ios 内置麦克风录音只有一个声道声音