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 |