使用mcisendstring,我想在达到静默期(麦克风无输入)时停止录音。我知道会涉及一个计时器,所以在x秒后需要进行检查,但究竟要检查什么?目前,我使用:i=mciSendString("recordcapture",Nothing,0,0)谢谢。 最佳答案 您将需要一个音频库,允许您在录制过程中访问录制缓冲区。我不认为MCI会让你那样做。因此,听起来您正在市场上寻找更细致入微的音频库。这里是一个链接StackOverflowquestionthatlistsseveraldigitalaudiolibraries.您也可以考虑
有没有办法以编程方式检测麦克风是否在Windows上打开? 最佳答案 不,麦克风不会告诉您它们是否处于“打开”状态,也不会告诉您特定的声道是否已连接到麦克风设备。您可以做的最好的事情是从您怀疑是麦克风的输入channel(例如Windows默认输入设备/channel)读取音频数据,并查看它是否有任何信号。要做到这一点,您必须消除任何DC偏移并寻找高于合理本底噪声的任何信号。(大方一点:许多便宜的音频输入设备即使在没有信号输入时也非常嘈杂。中频带滤波器/FFT也可用于仅检测语音中频信号而不是低频嗡嗡声和短暂的点击。)
我正在尝试以编程方式创建到扬声器或输出的零延迟麦克风环回。这用于为耳机生成侧音。我相信任何读者都知道,侧音必须是零延迟,否则,延迟听到自己的声音会导致您失去大部分连贯的说话能力。我尝试使用C#中的Naudio和C++中的portaudio创建解决方案。我在PortAudio上运气最好,但是我无法实现我需要的零延迟侧音。Portaudio产生了5毫秒左右的延迟,这是可以检测到的,并导致我的讲话不断放慢速度。我确实知道Windows提供了麦克风环回,我已经对此进行了测试,但即使是Windows环回也有足够的延迟作为侧音令人讨厌。我的问题分为两部分1.)这是硬件/软件的局限性吗?实现零音频延
在Windows的python2.7中,我需要获取默认麦克风的名称,这将是一个字符串,例如“Microphone(2-HighDefinitionAudioDevice)”。我的第一次尝试是使用子进程查询WMI:wmicpathWin32_SoundDeviceget*/format:list。不幸的是,这似乎返回了扬声器和麦克风,而且我看不到任何可以让我区分这两者的属性。此外,正确设备的名称格式不正确,例如它显示为简单的“HighDefinitionAudioDevice”,而不是完整的正确字符串“Microphone(2-HighDefinitionAudioDevice)”。我的
我正在编写一个应用程序来使用MicrosoftMediaFoundation从麦克风中捕获声音。这是代码#include#include#include#include#include#includetemplatevoidSafeRelease(T**ppT){if(*ppT){(*ppT)->Release();*ppT=NULL;}}HRESULTProcessSamples(IMFSourceReader*pReader,IMFSinkWriter*writer){HRESULThr=S_OK;IMFSample*pSample=NULL;size_tcSamples=0;bo
我正在尝试使用C/C++应用程序中的MIXERAPI来控制Windows7中的麦克风增强(音量/(非)静音),但我没有获得相同的控件。可以使用WASAPI完成吗?有人可以推荐任何其他API来控制Windows7中的麦克风增强吗?这就是我到目前为止所写的...constIIDIID_IDeviceTopology=__uuidof(IDeviceTopology);constIIDIID_IPart=__uuidof(IPart);constIIDIID_IAudioAutoGainControl=__uuidof(IAudioAutoGainControl);HRESULThr=S_O
我想编写一个程序,允许用户在他们的麦克风(录音设备)中播放声音剪辑,以便他们可以在他们的PC上使用VOIP软件(例如Ventrillo或Skype)时将剪辑与他们的声音混合。当我说在他们的麦克风中播放声音片段时,我的意思是用户按下一个按钮,然后播放声音片段,用户和VOIP连接另一端的人都可以听到。在Windows上可以使用哪些API函数来执行此操作? 最佳答案 “向麦克风播放声音”没有标准的API。也就是说,当应用程序想要捕获音频并使用API获取音频源时,没有定义标准方法来连接到此过程并动态更新捕获的音频。除此之外,还有几个音频AP
我正在尝试使用STMicroelectronics的USB-FS库在STM32F103上实现USB麦克风。在WindowsXP、7和8上检测到我的麦克风。当我尝试使用Audacity录制语音时,信号在WindowsXP和Windows8上是正确的,但在Windows7上信号被放大了。有人知道发生了什么事吗?这是描述符:constuint8_tMic_ConfigDescriptor[]={/*Configuration1*/0x09,/*bLength*/USB_CONFIGURATION_DESCRIPTOR_TYPE,/*bDescriptorType*/0x64,/*wTotal
如何使用WindowsAPI从麦克风录制wav声音? 最佳答案 您可以使用一系列waveInXXXWindowsAPI来录制音频。(即waveInOpen、waveInPrepareHeader、waveInAddBuffer、waveInStart...)这些将以“原始”PCM格式录制音频,然后您可以将其放入WAV文件中。(WAV文件基本上可以只是一个“包含”原始PCM音频的RIFF文件容器)。这是MSDN引用页:RecordingwithaWaveform-AudioDevice 关
我正在寻找简单的解决方案,它将在C#中返回麦克风输入的整数值。我已经在网上检查了可用的示例,但它们都不能在x64环境中工作。(VS2008+W7x64)。是否有任何简单的解决方案可以在C#中返回麦克风输入的振幅(或频率)值?我试过NAudio没有结果,这个:http://www.codeproject.com/KB/audio-video/cswavrec.aspx?msg=2155497没有运气。 最佳答案 我认为最简单的方法是使用旧的Windows多媒体API,因为它非常简单。这是MSDN的链接:http://msdn.micr