Подтвердить что ты не робот

Изменение звукового устройства по умолчанию на Windows 7

Я хочу иметь возможность автоматически менять устройство вывода звука по умолчанию на Windows 7 с помощью С# (и, возможно, некоторых основных вызовов Win32 API). Я уже сделал домашнее задание, и я слышал много смешанных комментариев из разных источников, поэтому я снова хотел задать этот вопрос, чтобы получить прямой ответ. Действительно ли это возможно (любыми средствами)? Если да, то как мне это сделать?

И, пожалуйста, не предлагайте решение с помощью "AutoIt" или какой-либо другой подобной программы... это вопрос с С#/. NET.

4b9b3361

Ответ 1

На всякий случай кто-то наткнется на этот поток в будущем... вот некоторый код на С++, который сделает это, вызвав некоторые недокументированные API Win32. Это можно скомпилировать в EXE, а затем тихо позвонить из приложения .NET, чтобы вы могли создать .NET-программу вокруг этого кода.

http://www.daveamenta.com/2011-05/programmatically-or-command-line-change-the-default-sound-playback-device-in-windows-7/

Ответ 2

Немного актуальный ответ, который совместим с Windows 10.

Эта программа способна сделать это красиво (горячая клавиша для переключения между предварительно выбранными устройствами) и написана на С#: SoundSwitch на GitHub

Некоторая обратная инженерия должна получить вас там (для моей пользы эта программа была просто идеальна, как есть).

Он использует эту библиотеку (тот же автор), которая находится в С++: AudioEndpointLibrary на GitHub

Итак, если вы знаете С++ (чего мне не хватает), вы можете пойти дальше в анализе того, как это работает. Или просто используйте библиотеку, например SoundSwitch.