Das hat nichts mit C# oder .NET zu tun, sondern ist ein Feature von Windows.
Ich habe aber zwei Projekte dazu gefunden:
-
Changing your Windows audio device programmatically using VC++ (Managed C++ bzw. C++/CLI)
-
DefaultAudioChanger (da hat dir wohl jemand schon die Arbeit abgenommen, wenn auch mit C++)
PS: Nach "Hand voll Zeilen" sieht das aber alles nicht aus ;-) Außerdem scheint es dafür keine offizielle Schnittstelle von Windows aus zu geben und ist versionsabhängig (also keine Garantie, daß es mit der neuesten Windows-Version läuft).