我正在尝试使用mixerGetLineInfo
和mixerGetLineControls
函数来访问使用waveIn打开的默认录制设备的音量控制。我编写了C#interop代码,可以成功枚举系统中的所有源目标和控件,但是到目前为止我找不到与默认waveIn设备相关的控件。有没有人有一些示例代码可以做到这一点?
答案 0 :(得分:1)
您可以使用:
int mixerId = -1;
int inputID = MmeMixerApi.WAVE_MAPPER; // = -1
int result = MmeMixerApi.mixerGetID(inputId, ref mixerId, MIXER_OBJECTFLAG.WAVEIN);
可以通过ID为-1的波形映射器访问默认的输入和输出设备。 mixerGetID将返回与该输入关联的混音器ID。然后,您可以使用混音器ID迭代控件。您仍然需要找到正确的源线(例如麦克风,线路输入等)。为此,您可能希望查找具有特定dwComponentType的源代码行,例如MIXERLINE_COMPONENTTYPE.SRC_MICROPHONE或MIXERLINE_COMPONENTTYPE.SRC_LINE。