This project is read-only.
Downloaders! Please give feedback on this project! How you're using it. How it works for you. Code quality. Feature requests. Anything! No need to register with CodePlex. Send comments to SetDefaultAudioEndpoint roundabout gmail.com. (Roundabout probably should be an "at" sign there. :)

Project Description

SetDefaultAudioEndpoint (Set Default Audio Endpoint) allows you to set the Windows system default audio playback device using computer code.

Need

Consider a computer that serves as a workstation and a Home Theater PC (HTPC). When using the computer as a workstation, you may wish to have audio played back through the computer's speakers output. When using the computer as a HTPC, you may wish to have audio played back through the computer's digital output or HDMI output, perhaps connected to a surround sound receiver. Windows 7 allows audio playback through only one output device at a time. Thus, the audio playback must be switched between the computer's speaker output and the digital or HDMI output.

The only way to change the default audio playback device in Windows 7 is to use the Sound control panel. To access the Sound control panel, search for Manage audio devices from the Windows 7 start orb. Or, right-click on the "speaker" icon in the Windows system tray, and then click Playback devices.

SoundControlPanel.jpg

We think switching between outputs like this is tedious. There has got to be a better way.

Approach

We have created a computer program that can automatically make changes on the Sound control panel window. The program can be executed using the Windows command line, scripting language (such as VBScript), or any .NET language. Creating a Windows Desktop shortcut to execute the program is a recommended method.

We use the Microsoft UI Automation accessibility framework to control the Sound control panel.

Benefits

Only the Microsoft .NET 3.5 framework is used. After that requirement is met, nothing else needs to be installed on your system.

The solution is Free Open Source Software; 'nuff said.

Competition

"Hotkey" applications, such as AutoHotKey. This approach requires a computer program to check if you have pressed a certain combination of keys. The computer program must always be running, and uses your computer's resources continuously, even though it is needed for only a few seconds.

Vista Audio Changer may be a solution, but we have not researched it. The project appears to be abandoned.

Virtual Audio Cable may be a solution, but it is complex, and is not free or open source.

Last edited Mar 23, 2011 at 4:46 AM by leqid, version 13