Установка уровня записи для устройства waveIn по умолчанию - PullRequest
2 голосов
/ 16 марта 2009

Я пытаюсь использовать функции mixerGetLineInfo и mixerGetLineControls, чтобы получить доступ к регулятору громкости для записывающего устройства по умолчанию, открытого с помощью waveIn. Я написал код взаимодействия на C #, который может успешно перечислять все исходные адреса и элементы управления в системе, но до сих пор мне не удалось выяснить, какой элемент управления связан с устройством waveIn по умолчанию. У кого-нибудь есть пример кода, который делает это?

1 Ответ

1 голос
/ 16 марта 2009

Вы можете использовать:

int mixerId = -1;
int inputID = MmeMixerApi.WAVE_MAPPER; // = -1
int result = MmeMixerApi.mixerGetID(inputId, ref mixerId, MIXER_OBJECTFLAG.WAVEIN);

Доступ к устройствам ввода и вывода по умолчанию можно получить с помощью волнового преобразователя с идентификатором -1. mixerGetID вернет идентификатор микшера, связанный с этим входом. Затем вы можете использовать идентификатор микшера для перебора элементов управления. Вам все равно нужно будет найти правильную линию источника (например, микрофон, линейный вход и т. Д.). Для этого вам может потребоваться найти исходную строку с определенным типом dwComponentType, например MIXERLINE_COMPONENTTYPE.SRC_MICROPHONE или MIXERLINE_COMPONENTTYPE.SRC_LINE.

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