KSPROPERTY_AUDIOLOOPBACK

KSPROPERTY_AUDIOLOOPBACK 속성은 루프백 탭 지점이 볼륨 이전 또는 사후이고 음소거인지 여부를 나타냅니다.

Windows 11 24H2부터 KSPROPERTY_AUDIOLOOPBACK 속성을 설정하는 것이 요구 사항입니다.

사용 요약 테이블

Get 설정 대상 속성 설명자 형식 속성 값 형식
아니요 고정 KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT KSATTRIBUTE 구조체

KSPROPERTY_AUDIOLOOPBACK 다음 속성이 구현된 KSPROPSETID_AudioLoopback 연결된 속성의 열거형입니다.

typedef enum {
    KSPROPERTY_AUDIOLOOPBACK_TAPPOINT_CAPS,
} KSPROPERTY_AUDIOLOOPBACK;

Windows AudioEndpointBuilder는 KSPROPERTY_AUDIOLOOPBACK_TAPPOINT_CAPS KSPROPSETID_AudioLoopback 사용하여 검색합니다 AUDIOLOOPBACK_TAPPOINT_CAPS_<*>. 이렇게 하면 오디오 엔드포인트가 볼륨 루프백 전, 볼륨 루프백 후 또는 둘 다를 수행할 수 있는지 여부를 OS에 알릴 수 있습니다.

나중에 핀을 만들 때 OS는 루프백 핀을 사전 볼륨 또는 사후 볼륨으로 만들지 여부를 통신하기 위해 KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT KSATTRIBUTEID_AUDIOLOOPBACK_TAPPOINT 특성을 제공합니다.

탭포인트 대문자는 다음과 같이 정의됩니다.

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

ksmedia.h에서 사용할 수 있는 KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT 구조체는 스트림 그래프에서 루프백을 탭할 위치에 대한 AUDIO_LOOPBACK_TAPPOINT_TYPE 특성을 지정하기 위한 래퍼를 제공할 수 있습니다.

Return Value

KSPROPERTY_AUDIOLOOPBACK 속성 요청은 성공적으로 완료되었음을 나타내는 STATUS_SUCCESS 반환합니다. 그렇지 않으면 요청이 적절한 오류 상태 코드를 반환합니다.

설명

오디오 시스템은 다음과 같이 요약할 수 있습니다.

  • 신호 처리 출력: 호스트 공급자로부터 오프로드되거나 직접 전송된 신호 처리의 출력입니다.
  • 볼륨: 오디오 신호의 볼륨이 조정되는 흐름의 다음 단계입니다.
  • 음소거: 필요한 경우 이 단계에서 오디오 신호를 음소거합니다.
  • EFX(효과): 여기서는 오디오 신호에 효과가 적용됩니다.
  • 출력: 처리된 오디오 신호가 출력되는 마지막 단계입니다.

하드웨어 오디오 엔진이 있는 시스템은 루프백 핀을 구현해야 합니다. 루프백 핀은 모든 신호 처리가 적용된 후 혼합 오디오 출력을 반환합니다.

루프백 스트림은 엔드포인트 볼륨 및 음소거의 영향을 받습니다. 이 속성을 사용하면 애플리케이션에서 엔드포인트 볼륨 및 음소거를 적용하기 전이나 후에 루프백 스트림을 반환할지 여부를 선택할 수 있습니다.

오디오 드라이버는 오디오 엔진 출력 핀을 필터의 루프백 핀에 연결해야 합니다. 루프백 핀은 범주를 KSNODETYPE_AUDIO_LOOPBACK 보급해야 합니다. 루프백은 신호 처리 모드를 구현하지 않습니다.

OS는 오디오 드라이버에서 루프백 탭 지점 기능을 쿼리할 수 있습니다. 기능은 플래그의 비트 마스크로 반환됩니다.

루프백 핀에서 만든 스트림은 DSP 혼합 출력을 수집하고 OS에 다시 캡처 스트림으로 제공합니다. 드라이버가 OS에서 옵션을 가져오는 한 가지 방법은 스트림 특성을 통해서입니다. 루프백 스트림에 특성이 적용되지 않은 경우 볼륨 및 음소거가 믹서 출력에 적용되기 전에 루프백을 수집해야 합니다.

사용자 모드 클라이언트의 경우 SetClientProperties를 호출할 때 AUDCLNT_STREAMOPTIONS(audioclient.h)전달되는 AUDCLNT_STREAMOPTIONS_POST_VOLUME_LOOPBACK 통해 사전 볼륨 루프백과 포스트 볼륨 루프백 간의 전환이 수행됩니다.

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 구조체