Tag: 混音器

如何从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 == […]