Изменить аудиоустройство по умолчанию в Windows 7 - PullRequest
19 голосов
/ 30 мая 2011

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

И, пожалуйста, не предлагайте решение с помощью «AutoIt» или какой-либо другой подобной программы ... это специфический для C # / .NET вопрос.

Ответы [ 2 ]

13 голосов
/ 25 мая 2016

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

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

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

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

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

13 голосов
/ 27 июня 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...