Как программно управлять настройками Microphone и Microphone Boost в Win7 из C #? - PullRequest
0 голосов
/ 09 декабря 2011

В Windows 7 появились новые настройки звука, которыми я не смог управлять из своего приложения на C #.В частности, в свойствах «Вход» (микрофон) есть вкладка «Уровни», содержащая ползунки «Микрофон» и «Усиление микрофона», и переключатель «Отключение микрофона».

Мне необходимо программно убедиться, что микрофон не отключен,не нашел необходимых API для чтения или установки значений.

Ответы [ 4 ]

1 голос
/ 06 июля 2012

Мне не удалось найти API, обеспечивающий контроль над этими конкретными уровнями громкости.Пожалуйста, добавьте новые ответы, если они доступны, и я с радостью приму рабочее решение.

0 голосов
/ 29 июля 2014

Интерфейс IAudioEndpointVolume может работать для вас. Имеет функции для получения / установки состояния отключения звука и уровня громкости для устройства записи или воспроизведения.

Ссылка: http://msdn.microsoft.com/en-us/library/windows/desktop/dd370892(v=vs.85).aspx

0 голосов
/ 10 декабря 2011

Существует пример WalkTreeBackwardsFromPart, который показывает, как перечислять конечные точки аудио и распечатывать их текущий объем. Вы можете изменить код на включить аналоговый микшер с помощью IDeviceTopology

Windows должна включить звукпрограммный том в начале сеанса захвата, у вашего устройства есть аппаратный том?

0 голосов
/ 09 декабря 2011

Вы можете использовать очень полезную библиотеку, построенную вокруг Windows Mixer от Кастер Тиу из http://www.codeproject.com/KB/audio-video/AudioLib.aspx?msg=1323850

Согласно документации на этой странице:

К конкретным элементам управления, таким как Fadder, Microphone Boost, Bass, Treble и т. Д., Можно получить доступ через объект MixerControl, используя свойства ValueAsSigned, ValueAsUnsigned и ValueAsBoolean, но они не реализованы как стандартные свойства, поскольку они не принадлежат всем элементам управления.

...