13

I bought a USB soundcard for my Macbook Pro, so I can use a headset mic for Skype. By default, the. sound goes to a pair of external speakers (for iTunes) or the built-in speakers (on the road/gaming)

Is there a simple way to switch or toggle (keyboard shortcut, menu-bar icon, dock-able app) between these two output devices.

Apple-Menu->System Preferences->Sound is just too many clicks, requiring much precise mouse manuvering, when all I want to do is switch the output in a hurry).

I'd rather not buy a "switcher", one more device to carry around!

2
  • Can you please just clarify what sound devices you want to switch between? Do you want to swap between your external speakers, internal speakers and USB soundcard? Or was it only two of them?
    – Josh Hunt
    Aug 23, 2009 at 12:24
  • The MBP 'switches' the internal speakers to "Headphones" when I insert the external speakers plug. So .. it's two outputs, but one of them can change its name ...
    – lexu
    Aug 24, 2009 at 6:08

5 Answers 5

6

It sounds like you are after SoundSource:

SoundSource is a tiny tool for OS X enabling you to switch your audio input and output sources with a single click, and even adjust their volume settings.

Another program that does the same thing is PTHVolume.

2
  • 7
    SoundSource doesn't work (reliably) under OS X 10.8.x .. I tend to use <alt click> "Speaker Symbol" (top-right of screen) more and more
    – lexu
    Jan 11, 2013 at 14:32
  • If anyone gets here from search, both utils seem to be gone. There's a command-line tool created by SO member, see stackoverflow.com/a/181187/38557. You'd have to compile it yourself, tough.
    – noamtm
    Dec 29, 2014 at 9:07
29

Also in Snow Leopard if you hold option and click the sound icon in the upper Right of the Mac it will bring down a menu similar to what the above mentioned 3rd party plugins do.

2
  • 1
    great tip, thank you, I'll have to remember to play with the option key while exploring menus in Snow Leopard
    – lexu
    Jan 29, 2010 at 10:50
  • 1
    This is simple enough and no need for any app. Oct 29, 2015 at 8:10
5

You can press Option-Volume(Up/Down/Mute) to open the Sound Preferences directly, although you would still need to select the desired output.

2
  • Thanks for this, as I didn't want to install a program to do this
    – thandasoru
    Nov 9, 2013 at 11:30
  • This is pretty darn easy, and you can even tab to the sound sources, so this is officially pure keyboard shortcut solution, nice!
    – chrismarx
    Mar 6, 2017 at 22:09
4

(Originally posted here http://leafraker.com/2007/09/17/how-to-create-a-quicksilver-trigger/)

You can use applescript to switch between two sources, triggered by Quicksilver being the fastest way:

property speakers : "Headphones" --ext. speakers are connected to headphone output
property headset : "Line out"

tell application "System Preferences" to activate
tell application "System Events"
    get properties
    tell process "System Preferences"
        click menu item "Sound" of menu "View" of menu bar 1
        delay 2
        click radio button "Output" of tab group 1 of window "sound"
        delay 1
        set theRows to every row of table 1 of scroll area 1 of tab group 1 of window "sound"
        repeat with aRow in theRows
            if selected of aRow then
                set curr_output to (value of text field 1 of aRow as text)
                if curr_output is speakers then set desired_output to headset
                if curr_output is headset then set desired_output to speakers
                exit repeat
            end if
        end repeat
        repeat with aRow in theRows
            if (value of text field 1 of aRow as text) is desired_output then
                set selected of aRow to true
                exit repeat
            end if
        end repeat
    end tell
end tell
tell application "System Preferences" to quit

Also, there is a command-line wrapper for SoundSource, making it easier to integrate with applescript/quicksilver/scripts etc:

http://whoshacks.blogspot.com/2009/01/change-audio-devices-via-shell-script.html

And another to try:

http://code.google.com/p/switchaudio-osx/downloads/list

1
  • Thanks. I use the command-line wrapper with a short Keyboard Maestro macro that I’ve mapped to ⌃F9 to easily toggle between Line Out and Headphones. Apr 26, 2012 at 11:45
-2

Listen, it might be some app. In my case, it's Vox.

When Vox is on (and it's set to send audio to the system default device), when I plug in the external soundcard, the system switches to the external, and very quickly switches back to internal speakers.

When Vox is off (quit), and I plug in the external soundcard - if it was default before, the system switches to it and stays on it.

So in my case, the Vox player makes the difference. Perhaps you could try with some other player, see what happens (and in this case - what doesn't).

Oh, this is a 2009 question... now I see... but anyway, this is what happens on my system. It's MacBook Pro Retina Mid 2012 running OS X 10.8.5.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.