6

几天来,我一直在搜索文档、邮件列表,但似乎找不到答案。

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

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

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

搜索 coreaudio-api 列表,我设法收集到这个音量设置不是设备属性,而是某种派生值,但我不知道从哪里开始。

任何帮助将不胜感激。

4

1 回答 1

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.

于 2012-09-26T18:45:48.203 回答