Cocoa 在Mac OS X中更改声音(或其他)系统首选项

Cocoa 在Mac OS X中更改声音(或其他)系统首选项,cocoa,macos,scripting,applescript,Cocoa,Macos,Scripting,Applescript,我希望能够在Mac OS X中切换声音输出源,而无需任何GUI交互 有一些工具可以控制声音输出,例如和 我要寻找的是能够立即切换偏好的东西,比如,但它必须是可编写脚本的。目标是通过一次按键在数字和模拟输出之间切换。我有一个可以在一个按键上启动程序或applescript的程序。我现在需要的只是applescript或应用程序,它可以在没有任何用户交互的情况下快速切换声源 如果需要的话,我愿意写一些Objective-C,但我在Cocoa开发方面几乎是个新手 您是否有一个一键式解决方案,或者可以为

我希望能够在Mac OS X中切换声音输出源,而无需任何GUI交互

有一些工具可以控制声音输出,例如和

我要寻找的是能够立即切换偏好的东西,比如,但它必须是可编写脚本的。目标是通过一次按键在数字和模拟输出之间切换。我有一个可以在一个按键上启动程序或applescript的程序。我现在需要的只是applescript或应用程序,它可以在没有任何用户交互的情况下快速切换声源

如果需要的话,我愿意写一些Objective-C,但我在Cocoa开发方面几乎是个新手

您是否有一个一键式解决方案,或者可以为我指出一个关于从Cocoa应用程序或命令行控制音响系统首选项的好教程


编辑:我创建了一个命令行应用程序来完成这项工作。你可以在以下网址下载。源代码也可以在项目站点上找到。

不要从首选项的角度来考虑它;对于这类事情,没有集中的系统偏好框架。我相信您需要做的是使用Core Audio来设置
AudioHardwareProperty DefaultOutputDevice
AudioHardwareProperty DefaultSystemOutputDevice
AudioSystemObject
属性(使用
AudioHardwareSetProperty()
)。

我创建了一个命令行应用程序来实现这一点

你可以在以下网址下载。项目站点上也提供了源代码


更新(2014年12月):代码现在托管在github上--。而且在约塞米蒂很好用。

这看起来很有希望。我对Cocoa的了解还不够,所以我认为这是有意义的,但它看起来是正确的。这太棒了,谢谢你把它作为开源发布,我相信很多其他人都会喜欢它的!我很高兴地报告,尽管对这个实用程序的最后一次调整是在两年多前进行的,但它在约塞米蒂的效果很好。顺便说一句,该项目已移至github:。