coreaudio:如何获取/设置系统警报音量而不是设备音量

时间:2012-09-05 12:30:27

标签: macos cocoa core-audio

我一直在搜索文档,邮件列表开启和关闭几天,但似乎无法找到答案。

我有一个OS X应用程序,除其他外,使用kAudioDevicePropertyVolumeScalar和朋友查询可用的硬件设备及其当前卷。

我想要做的是获取并设置由kAudioHardwarePropertyDefaultSystemOutputDevice表示的系统输出设备的-alert-volume(?),而不是设备卷。

为了澄清我的有限理解,这是用户可以在“播放音效通过”下的系统偏好设置中调整的音量设置。

搜索coreaudio-api列表,我已经设法收集到这个卷设置不是设备属性,而是某种派生值,但是我很难过这里的位置。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我不确定你是否真的要求通过CoreAudio阅读它,但以下工作正常:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults addSuiteNamed:@"com.apple.systemsound"];        
NSLog(@"%f", [defaults floatForKey:@"com.apple.sound.beep.volume"]);

虽然这可能因操作系统更新而改变,因为设置存储在~/Library/Preferences/com.apple.systemsound.plist