MIXERCONTROLDETAILS_UNSIGNED Возвращает или устанавливает значение свойства контрола целого беззнакового типа.
typedef struct { DWORD dwValue; } MIXERCONTROLDETAILS_UNSIGNED;
dwValue - Целое беззнаковое Подходит для управления контролом типа MIXERCONTROL_CONTROLTYPE_VOLUME
Без уровня. Поддержка сообщений. Отправка определенного пользователем сообщения.
DWORD mixerMessage( HMIXER hmx, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2 ); Посылка пользовательского сообщения напрямую драйверу микшера hmx -- обработчик открытого микшера uMsg -- пользовательское сообщение Должно быть больше или равно MXDM_USER. dwParam1, dwParam2 -- параметры сообщения.
MM_MIXM_CONTROL_CHANGE Сообщение, которое посылается микшером приложению чтобы уведомить об изменении состояния контрола. wParam = (WPARAM) hMixer lParam = (LPARAM) dwControlID hMixer -- обработчик микшера, который послал сообщение. dwControlID -- идентификатор контрола, который изменил состояние.
MM_MIXM_LINE_CHANGE Сообщение, которое посылается микшером приложению чтобы уведомить об изменении состояния аудиолинии. wParam = (WPARAM) hMixer lParam = (LPARAM) dwLineID hMixer -- обработчик микшера, который послал сообщение. dwLineID -- идентификатор аудиолинии, которая изменила свое состояние.
И еще немножко :) Вот, собственно, и все, что желательно знать, чтобы начать работать с микшером. Да и этого многовато ;) В качестве примера приведена программа, которая прочитывает все, что связано с микшером и отображает это в виде дерева
Далее по плану: как записать звук и что такое fullduplex.