KSPROPERTY_AUDIOLOOPBACK

Свойство KSPROPERTY_AUDIOLOOPBACK указывает, является ли точка касания циклического касания предварительной или постовой и отключена.

Начиная с Windows 11 24H2, установка свойства KSPROPERTY_AUDIOLOOPBACK является обязательным требованием.

Сводная таблица использования

Получить Set Назначение Тип дескриптора свойства Тип значения свойства
Да Нет Закрепить KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT Структура KSATTRIBUTE

KSPROPERTY_AUDIOLOOPBACK — это перечисление свойств, связанных с KSPROPSETID_AudioLoopback, со следующим свойством.

typedef enum {
    KSPROPERTY_AUDIOLOOPBACK_TAPPOINT_CAPS,
} KSPROPERTY_AUDIOLOOPBACK;

Windows AudioEndpointBuilder использует KSPROPSETID_AudioLoopback с KSPROPERTY_AUDIOLOOPBACK_TAPPOINT_CAPS для извлечения AUDIOLOOPBACK_TAPPOINT_CAPS_<*>. Это сообщает ОС о том, имеет ли конечная точка звука возможность предварительного цикла громкости, обратного цикла тома или обоих.

Позже во время создания закреплений ОС предоставляет атрибут, KSATTRIBUTEID_AUDIOLOOPBACK_TAPPOINT с KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT, чтобы сообщить, следует ли создавать пин-код обратной передачи в качестве предварительного тома или публикации тома.

Крышки касания определяются следующим образом.

#define AUDIOLOOPBACK_TAPPOINT_CAPS_PREVOLUMEMUTE      (0x1)
#define AUDIOLOOPBACK_TAPPOINT_CAPS_POSTVOLUMEMUTE     (0x2)

Структура KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT, доступная в ksmedia.h, может предоставить оболочку для указания атрибута AUDIO_LOOPBACK_TAPPOINT_TYPE о том, где следует касаться обратного цикла в графе потоков.

Возвращаемое значение

Запрос свойства KSPROPERTY_AUDIOLOOPBACK возвращает STATUS_SUCCESS, чтобы указать, что он успешно завершен. В противном случае запрос возвращает соответствующий код состояния ошибки.

Замечания

Звуковая система может быть обобщена следующим образом.

  • Выходные данные обработки сигналов: выходные данные от обработки сигнала от разгрузки или прямого от поставщика узлов.
  • Том: следующий шаг в потоке, где корректируется громкость звукового сигнала.
  • Отключение звука. При необходимости этот этап отключает звуковой сигнал.
  • EFX (Эффекты): здесь эффекты применяются к звуковому сигналу.
  • Выходные данные: заключительный этап вывода обработанного звукового сигнала.

Системы с аппаратным звуковым механизмом должны реализовывать пин-код обратного цикла. Пин-код обратного цикла возвращает смешанные выходные данные звука после применения всей обработки сигналов.

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

Звуковой драйвер должен подключить выходной пин-код звукового модуля к пин-коду фильтра. Пин-код цикла должен объявлять категорию как KSNODETYPE_AUDIO_LOOPBACK. Обратный цикл не реализует режимы обработки сигналов.

ОС может запрашивать звуковой драйвер для возможностей точки касания. Возможности возвращаются в виде битовой маски флагов.

Поток, созданный на пин-коде обратного цикла, собирает выходные данные DSP-mixed и предоставляет его в виде потока записи обратно в ОС. Одним из способов получения параметров от ОС является использование атрибутов потока. Если к потоку обратной передачи не применяются атрибуты, то перед применением тома и выключения звука к выходным данным миксера необходимо собрать обратный цикл.

Для клиента пользовательского режима при вызове SetClientProperties выполняется переключение между предварительным циклом тома и обратной передачой тома через AUDCLNT_STREAMOPTIONS_POST_VOLUME_LOOPBACK, передаваемую в виде AUDCLNT_STREAMOPTIONS (audioclient.h).

KSNODETYPE_AUDIO_LOOPBACK

KSNODETYPE_AUDIO_LOOPBACK представляет возможности обратной передачи звука. Он определен в ksmedia.h, как показано здесь.

#define STATIC_KSNODETYPE_AUDIO_LOOPBACK\
    0x8f42c0b2, 0x91ce, 0x4bcf, 0x9c, 0xcd, 0xe, 0x59, 0x90, 0x37, 0xab, 0x35
DEFINE_GUIDSTRUCT("8F42C0B2-91CE-4BCF-9CCD-0E599037AB35", KSNODETYPE_AUDIO_LOOPBACK);
#define KSNODETYPE_AUDIO_LOOPBACK DEFINE_GUIDNAMED(KSNODETYPE_AUDIO_LOOPBACK)

Требования

Требование Значение
Минимальная версия клиента Windows 11 версии 24H2
Верхний колонтитул Ksmedia.h

См. также

KSPROPSETID_AudioLoopback

перечисление AUDIOLOOPBACK_TAPPOINT_TYPE

структура KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT