2012-01-31 2 views
0

Это делает меня сумасшедшим:Аудио: как установить уровень микрофона по умолчанию?

На компьютере с Vista +, посвященным этому приложению звукозаписи/записи, мне нужно мое приложение, чтобы убедиться, что уровень (по умолчанию) микрофона установлен на максимум. Как мне это?

Я нашел Core Audio lib, нашел, как получить IMMDevice для микрофона по умолчанию. Что теперь?

Документы заставляют меня думать, что мне нужен указатель интерфейса ISimpleAudioVolume от моего IMMDevice, но как мне это сделать?

Обратите внимание, что меня интересует любой программный способ установить этот микроуровень (будь то Core Audio или что-то еще). В идеале общесистемная, но широкая в применении, в порядке.

ТИА,

ответ

1

Хитрость заключается в том, что в Core Audio, запись (так называемый захват) и рендеринг устройство не считается различным (до тех пор, пока вы не нырять слишком глубоко, конечно), в отличие от прежних API, таких как waveXXX, где существуют различные API-интерфейсы для устройств ввода и вывода.

Таким образом, этот full example по Larry Osterman, который устанавливает громкость динамика может быть изменен, чтобы настроить громкость микрофона, просто изменяя eRender к eCapture в перечислителей вызова, который возвращает устройство по умолчанию.

Спасибо Ларри!

Смежные вопросы