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

时间:2008-10-04 12:58:09

标签: cocoa macos scripting applescript

我希望能够在没有任何GUI交互的情况下在Mac OS X中切换声音输出源。

有一些工具可以控制声音输出,例如SoundSourceapplescript to open the preferences dialog

我正在寻找的是立即切换首选项的内容,例如SoundSource,但它必须是可编写脚本的。目标是通过一次击键在我的数字和模拟输出之间切换。我有一个helper application,可以在一个按键上启动程序或AppleScript。我现在需要的只是在没有任何用户交互的情况下快速切换声源的applescript或应用程序。

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

您是否有一键式解决方案或者可以指导我从Cocoa应用程序或命令行控制声音系统首选项的好教程?

编辑:我创建了一个命令行应用程序来完成此操作。您可以在http://code.google.com/p/switchaudio-osx/downloads下载。源代码也可以在项目网站上找到。

2 个答案:

答案 0 :(得分:9)

我创建了一个命令行应用程序来完成这个。

您可以在http://code.google.com/p/switchaudio-osx/downloads下载。源代码也可以在项目网站上找到。

更新(2014年12月):代码现在托管在github上 - https://github.com/deweller/switchaudio-osx。在优胜美地工作得很好。

答案 1 :(得分:8)

不要在偏好方面考虑它;对于这类事情,没有集中的系统偏好框架。我相信您需要做的是使用Core Audio设置kAudioHardwarePropertyDefaultOutputDevice的{​​{1}}和 kAudioHardwarePropertyDefaultSystemOutputDevice属性(使用AudioSystemObject)。