我正在尝试将我的Logitech C920网络摄像头(OSX 10.8.5)上的麦克风静音,但我尝试过的两种实现都不能100%正常工作。如果有使用Apple CoreAudio经验的人可以看看,我将非常感激。
以下是我的尝试:
使用:
通过AudioObjectSetPropertyData()设置静音address.mScope = kAudioDevicePropertyScopeInput;
address.mElement = kAudioObjectPropertyElementMaster;
address.mSelector = kAudioDevicePropertyMute;
这有效,我可以成功静音/取消静音,但最终我能够进入麦克风不再接收音频的状态。当C920处于静音状态并切换回C920麦克风时,似乎是通过将默认输入切换到内置麦克风来触发。我发现将C920话筒恢复到良好状态的唯一方法是拔下USB线并将其重新插入。
使用:
通过AudioObjectSetPropertyData()将音量设置为0.0faddress.mScope = kAudioDevicePropertyScopeInput;
address.mElement = kAudioObjectPropertyElementMaster;
address.mSelector = kAudioDevicePropertyVolumeScalar;
这几乎可行。 OSX UI输入音量滑块一直向左移动,但麦克风仍在拾取一点音频。 Uhhhhggg如此接近!
打开“音频MIDI设置”应用程序会显示C920麦克风。当音量值设置为零时,dB值为20.当音量值设置为1时,db值设置为50.这与内置麦克风不同,看起来它的dB范围为 - 12至12.不确定这是否重要。
设置静音或音量时,我尝试抓取各个频道并设置它们。似乎没有影响。我认为使用两个输入设备设置主通道工作正常。
我想知道这可能是硬件问题。我应该注意到Mac上没有正式支持Logitech C920(虽然很多人都使用它)。我能够毫无问题地控制内置麦克风。希望我只是忽略了一些东西: - )
答案 0 :(得分:1)
将音量kAudioDevicePropertyVolumeScalar设置为零时。您还应该使用kAudioDevicePropertyMute将静音设置为true。调整输入音量时,请注意检查静音状态。
例如:
结论:
系统中的输入处于“静音”状态,但在音频设置面板中未显示。当将音量调整为零时,系统会自动将静音设置为true;而当音量大于零时,系统会禁用静音。