StreamDeck-AudioSwitch is a C++ plugin for the Elgato StreamDeck for setting the default audio device.
It supports:
- setting input or output device
- setting default device or communication device
- either one-button-per-device, or one button to toggle between two devices
For example, this can be useful to switch between headphones and speakers if they are on different sound cards (e.g. USB speakers or USB headphones).
Download the com.fredemmott.audiooutputswitch.streamDeckPlugin
file from the releases page, and double-click it.
This uses undocumented and unsupported Windows APIs. These have apparently worked since Windows 7, but they might stop working at any time or have unexpected side effects.
Use a multi-action switch, not a normal multi-action:
This is a MacOS bug that only Apple can fix.
Check the troubleshooting guide guide. I make this for my own use, and share in the hope that others find it useful - I am unable to offer support, or to act on bug reports or feature requests. Do not contact me for help via any means, including GitHub, Discord, Twitter, Reddit, or email. This software is used by many, and I do generally fix it when something changes to break it, but I do not guarantee this, and I'm not able to help with anyone's specific issues.
If 'fuzzy matching' is required - or not functioning properly for you - ask your device manufacturer to fix their device/drivers to not change device IDs; Microsoft requires that these do not change.
- Thanks to "EreTIk" for finding/documenting the COM interface.
- Thanks to "LordValgor" for the idea of making this plugin.
This project is MIT-licensed, except for the image files.
The image files are proprietary, and may not be re-used or modified.