Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Звуковые приложения могут получать доступ к элементам управления миксером с помощью мультимедийной функции Microsoft Windows mixerGetLineControls. Эта функция извлекает массив одной или нескольких структур MIXERCONTROL, каждый из которых описывает состояние и метрики одного узла управления в звуковой строке. Элемент dwControlType структуры MIXERCONTROL имеет значение перечисления, указывающее тип элемента управления. Для звуковых драйверов WDM задано несколько типов элементов управления mixer-control, но для них доступно только подмножество этих элементов.
WDMAud преобразует некоторые, но не все узлы топологии в соответствующие элементы управления линией микшера. Типы узлов топологии, перечисленные в следующей таблице, имеют соответствующие элементы, которые являются элементами управления линией микшера.
| Тип узла | имя типа Topology-Node | имя типа Mixer-Control |
|---|---|---|
AGC |
MIXERCONTROL_CONTROLTYPE_включено-выключено |
|
Громкость |
MIXERCONTROL_CONTROLTYPE_LOUDNESS |
|
Немой |
MIXERCONTROL_CONTROLTYPE_MUTE |
|
Тон (несколько вариантов) |
MIXERCONTROL_CONTROLTYPE_ONOFF (если поддерживается KSPROPERTY_AUDIO_BASS_BOOST) MIXERCONTROL_CONTROLTYPE_BASS (если KSPROPERTY_AUDIO_BASS поддерживается) MIXERCONTROL_CONTROLTYPE_TREBLE (если KSPROPERTY_AUDIO_TREBLE поддерживается) |
|
Объем |
MIXERCONTROL_CONTROLTYPE_VOLUME |
|
Пикметр |
MIXERCONTROL_CONTROLTYPE_PEAKMETER |
|
МУЛЬТИПЛЕКСОР |
MIXERCONTROL_CONTROLTYPE_MUX |
|
Широкое стерео |
MIXERCONTROL_CONTROLTYPE_FADER |
|
Хор |
MIXERCONTROL_CONTROLTYPE_FADER |
|
Реверберации |
MIXERCONTROL_CONTROLTYPE_FADER |
|
Супермикс (несколько) |
MIXERCONTROL_CONTROLTYPE_MUTE (если KSPROPERTY_AUDIO_MUTE поддерживается в узле супермикса) MIXERCONTROL_CONTROLTYPE_VOLUME (см. комментарии в тексте) |
Типы узлов топологии, отсутствующие в предыдущей таблице, не преобразуются в элементы управления mixer-line, а элементы управления mixer-line, отсутствующие в таблице, не поддерживаются звуковыми драйверами WDM.
Обратите внимание, что MIXERCONTROL_CONTROLTYPE_CUSTOM отсутствует в таблице. Это означает, что звуковые драйверы WDM не поддерживают пользовательские элементы управления миксером.
Узел тонов поддерживает четыре свойства: бас, требл, середина частоты и бум баса. Свойство средней частоты не имеет соответствия mixer-line, но другие три свойства имеют. Для каждого узла тона, обнаруженного в топологии, выполняется запрос для каждого из поддерживаемых свойств:
Каждый успешный запрос свойства генерирует элемент управления линией микшера. Из-за проблем с именованием один тональный узел должен поддерживать только одно свойство. Если устройство поддерживает как басы, так и высокие частоты, например, оно должно иметь два регулятора, чтобы они могли иметь разные имена.
Узел супермикс поддерживает до двух элементов управления: отключение и громкость. Узел супермикса можно использовать как элемент управления отключением звука, если он удовлетворяет хотя бы одному из этих двух условий для каждой записи в таблице возможностей узла супермикса.
Запись поддерживает свойство отключения звука, как указано во Возможностях с флагом Отключить звук.
Запись полностью ослаблена (-infinity децибел и не может быть увеличена, как указано обеими возможностями: Минимальными и Максимальными, имеющими значение LONG_MIN (0x80000000)).
Узел супермикса можно использовать в качестве регулятора громкости, если каждая запись в таблице возможностей супермикса имеет ненулевой диапазон. Все остальные элементы управления претворяются в один. При обнаружении распознанного узла драйвер линии микширования запрашивает свойство, соответствующее этому узлу.
Чтобы проверить поддержку стерео или моно, левый канал запрашивается, за которым следует правый канал, и, наконец, если оба из них завершаются ошибкой, выполняется попытка главного канала (-1). Если ни один из этих запросов не выполнен, для этого узла не создается элемент управления. Обратите внимание, что узел MUX не запрашивается для каждого канала. Вместо этого выполняется один запрос для получения текущего выбора коммутатора.
Имя элемента управления возвращается в виде строки, когда запрашивается свойство узла KSPROPERTY_TOPOLOGY_NAME. Если узел создает несколько элементов управления, все элементы управления имеют одно и то же имя.