Изменить звуковые (или другие) системные настройки в Mac OS X - PullRequest
5 голосов
/ 04 октября 2008

Я бы хотел иметь возможность переключать источник звука в Mac OS X без какого-либо взаимодействия с графическим интерфейсом.

Существуют инструменты для управления выводом звука, такие как SoundSource и applecript для открытия диалогового окна настроек .

То, что я ищу, - это то, что мгновенно переключает предпочтения, например SoundSource , но оно должно быть сценарием. Цель состоит в том, чтобы переключаться между моим цифровым и аналоговым выходом одним нажатием клавиши. У меня есть вспомогательное приложение , которое запускает программу или appleScript одним нажатием клавиши. Все, что мне сейчас нужно, это яблочный скрипт или приложение, которое быстро переключает источник звука без какого-либо взаимодействия с пользователем.

Я готов написать Objective-C, если это то, что нужно, но я новичок в разработке Какао.

У вас есть решение в один клик или вы можете указать мне хорошее руководство по управлению настройками звуковой системы из приложения Cocoa или из командной строки?

РЕДАКТИРОВАТЬ : Я создал приложение командной строки, чтобы сделать именно это. Вы можете скачать его по адресу http://code.google.com/p/switchaudio-osx/downloads. Исходный код также доступен на сайте проекта.

Ответы [ 2 ]

9 голосов
/ 08 октября 2008

Я создал приложение командной строки, чтобы сделать именно это.

Вы можете скачать его по адресу http://code.google.com/p/switchaudio-osx/downloads. Исходный код также доступен на сайте проекта.

ОБНОВЛЕНИЕ (декабрь 2014 г.): код теперь размещен на github - https://github.com/deweller/switchaudio-osx. И прекрасно работает в Yosemite.

8 голосов
/ 04 октября 2008

Не думайте об этом с точки зрения предпочтений; для такого рода вещей нет централизованной системы предпочтений. Я считаю, что вам нужно использовать Core Audio для установки kAudioHardwarePropertyDefaultOutputDevice и kAudioHardwarePropertyDefaultSystemOutputDevice свойств AudioSystemObject (используя AudioHardwareSetProperty()).

...