Tag: 麦克风

c#中的实时麦克风幅度测量

我正在寻找简单的解决方案,它将在c#中返回麦克风输入的整数值。 我已经在网上检查可用的样本,但它们都没有在x64环境中工作。 (VS2008 + W7 x64)。 是否有任何简单的解决方案可以返回c#中麦克风输入的幅度(或频率)值? 我试过没有结果的NAudio,这个: http : //www.codeproject.com/KB/audio-video/cswavrec.aspx? msg=2155497没有运气。

无需播放即可捕获音频

我正在尝试使用麦克风并处理捕获的音频。 我设法做到了这一切,但我遇到了问题……我拍摄的音频会自动播放给用户,我不希望这样。 audioSrc.clip = Microphone.Start(null, true, 1000, 44100); while (!(Microphone.GetPosition(null) > 0)) { } audioSrc.Play(); 我试图禁用音频监听器并降低音频源的音量,但这不起作用。 任何人都知道如何在不回放的情况下捕获音频? 编辑1: void Start() { GameObject a = new GameObject(“AudioSource”); audioSrc = a.AddComponent(); Instantiate(a); string deviceName = Microphone.devices[0]; audioSrc.clip = Microphone.Start(deviceName, true, 1000, 44100); audioSrc.volume = 0; while (!(Microphone.GetPosition(null) > 0)) { } audioSrc.Play(); } void Update() { audioSrc.GetSpectrumData(spectrum, […]

将音频流输出到麦克风

嘿大家。 有没有办法从我的程序输出音频并将该流重定向到系统的麦克风输入’层’? 我知道这可能需要一些低级别的电话被’Pinvoked’,但有没有任何文章可以帮助我。 例如,如果我要将我的应用程序的输出音频流运行到Window的Sound Recorder程序中,它会认为音频来自麦克风并记录下来。 我不想录制流,只是将其输出到设备的micrphone输入。 谢谢你的任何想法。

在C#中从麦克风获取数据

我正在尝试从麦克风(或线路输入)录制音频数据,然后使用C#重播它。 有关如何实现这一目标的任何建议?

如何从C#调整麦克风增益(需要在XP和W7上工作)

首先,请注意我知道有一些问题已经发布; 但他们似乎没有充分解决这个问题。 我有一个C#应用程序,所有pInvoke挂钩都与waveXXX API对话,我可以用它来捕获和回放音频。 我还可以使用该API调整扬声器(WaveOut)音量。 问题在于,无论出于何种原因,该API都不允许我调整麦克风(WaveIn)音量。 所以,我设法找到了一些混音器代码,我也已经通过pInvoke进入并允许我调整麦克风音量,但只能在我的W7 PC上调整。 我开始使用的混音器代码来自这里: http : //social.msdn.microsoft.com/Forums/en-US/isvvba/thread/05dc2d35-1d45-4837-8e16-562ee919da85它可以工作,但写的是调整扬声器音量。 我添加了此处显示的SetMicVolume方法… public static void SetMicVolume(int mxid, int percentage) { bool rc; int mixer, vVolume; MIXERCONTROL volCtrl = new MIXERCONTROL(); int currentVol; mixerOpen(out mixer, mxid, 0, 0, MIXER_OBJECTF_WAVEIN); int type = MIXERCONTROL_CONTROLTYPE_VOLUME; rc = GetVolumeControl(mixer, MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE, type, out volCtrl, out currentVol); if (rc == […]