kr4*_*4sh 5 macos core-audio audiotoolbox xcode5
我正在尝试将我的 Logitech C920 网络摄像头 (OSX 10.8.5) 上的麦克风静音,但是我尝试过的两种实现都不能 100% 工作。如果有 Apple CoreAudio 经验的人可以看看,我将不胜感激。
这是我尝试过的:
通过 AudioObjectSetPropertyData() 设置静音使用:
address.mScope = kAudioDevicePropertyScopeInput;
address.mElement = kAudioObjectPropertyElementMaster;
address.mSelector = kAudioDevicePropertyMute;
Run Code Online (Sandbox Code Playgroud)这有效,我可以成功静音/取消静音,但最终我能够进入麦克风不再接收音频的状态。它似乎是通过在 C920 处于静音状态时将默认输入切换到内部麦克风并切换回 C920 麦克风来触发的。我发现让 C920 麦克风恢复良好状态的唯一方法是拔下 USB 电缆并将其重新插入。
通过 AudioObjectSetPropertyData() 使用以下方法将音量设置为 0.0f:
address.mScope = kAudioDevicePropertyScopeInput;
address.mElement = kAudioObjectPropertyElementMaster;
address.mSelector = kAudioDevicePropertyVolumeScalar;
Run Code Online (Sandbox Code Playgroud)这几乎有效。OSX UI 输入音量滑块一直向左移动,但麦克风仍在接收一些音频。Uhhhhggg 如此接近!
打开“音频 MIDI 设置”应用程序会显示 C920 麦克风。当音量值设置为零时,dB值为20。当音量值设置为1时,db值设置为50。这与内置麦克风不同,看起来它的dB范围为- 12 到 12。不确定这是否重要。
在设置静音或音量时,我尝试获取各个通道并对其进行设置。好像没有什么影响。我认为两个输入设备设置主通道工作正常。
我想知道这是否是硬件问题。我应该注意的是,Mac 并未正式支持 Logitech C920(尽管有很多人使用它)。我可以毫无问题地控制内部麦克风。希望我只是忽略了一些东西:-)
小智 3
将音量 kAudioDevicePropertyVolumeScalar 设置为零时。您还应该使用 kAudioDevicePropertyMute 将静音设置为 true。调节输入音量时,请注意检查静音状态。
例如:
结论:
系统中输入有“静音”状态,但音频设置面板中没有显示。当音量调为零时,系统会自动将静音设置为真;当设置的音量大于零时,系统会自动禁用静音。
| 归档时间: |
|
| 查看次数: |
1574 次 |
| 最近记录: |