2008-10-04 9 views
5

Ich möchte in der Lage sein, die Tonausgabequelle in Mac OS X ohne GUI-Interaktion zu wechseln.Sound (oder andere) ändern Systemeinstellungen in Mac OS X

Es gibt Tools, um die Soundausgabe zu steuern, wie SoundSource und applescript to open the preferences dialog.

Was ich suche ist etwas, das die Präferenz sofort schaltet, wie SoundSource, aber es muss skriptfähig sein. Ziel ist es, mit einem Tastendruck zwischen digitalem und analogem Ausgang zu wechseln. Ich habe eine helper application, die ein Programm oder AppleScript auf einem Tastendruck startet. Alles, was ich jetzt brauche, ist das AppleScript oder die Anwendung, die die Tonquelle ohne Benutzerinteraktion schnell umschaltet.

Ich bin bereit, einige Objective-C zu schreiben, wenn das ist, was es braucht, aber ich bin ziemlich ein Neuling bei Cocoa Entwicklung.

Haben Sie eine Ein-Klick-Lösung oder können Sie mich auf ein gutes Tutorial zur Steuerung von Soundsystem-Voreinstellungen aus einer Cocoa-App oder einer Befehlszeile verweisen?

BEARBEITEN: Ich habe eine Befehlszeilenanwendung erstellt, um genau dies zu tun. Sie können es unter http://code.google.com/p/switchaudio-osx/downloads herunterladen. Der Quellcode ist auch auf der Projektseite verfügbar.

Antwort

8

Denken Sie nicht in Bezug auf Präferenzen; Es gibt kein zentralisiertes Systempräferenz-Framework für diese Art von Dingen. Ich glaube, was Sie tun müssen, ist Core Audio verwenden, um die kAudioHardwarePropertyDefaultOutputDevice und kAudioHardwarePropertyDefaultSystemOutputDevice Eigenschaften der AudioSystemObject (mit AudioHardwareSetProperty()) zu setzen.

+0

Das sieht vielversprechend aus. Ich weiß nicht genug Cocoa (noch), damit das Sinn ergibt, aber es sieht wie der richtige Track aus. – Devon

9

Ich habe eine Befehlszeilenanwendung erstellt, um genau dies zu tun.

Sie können es unter http://code.google.com/p/switchaudio-osx/downloads herunterladen. Der Quellcode ist auch auf der Projektseite verfügbar.

AKTUALISIEREN (Dez. 2014): Der Code ist jetzt gehostet auf GitHub - https://github.com/deweller/switchaudio-osx. Und funktioniert gut in Yosemite.

+1

Das ist großartig, danke, dass du das auch als Open Source veröffentlichst, ich bin mir sicher, viele andere werden es zu schätzen wissen! – Jay

+0

Ich freue mich, berichten zu können, dass die letzte Anpassung an dieses Dienstprogramm vor mehr als zwei Jahren vorgenommen wurde, aber in Yosemite funktioniert es gut. BTW, das Projekt ist nach GitHub umgezogen: https://github.com/deweller/switchaudio-osx. – noamtm