KSPROPERTY_AUDIOLOOPBACK
KSPROPERTY_AUDIOLOOPBACK 属性指示环回点击点是否为预或后音量和静音。
从 Windows 11 24H2 开始,需要设置 KSPROPERTY_AUDIOLOOPBACK 属性。
使用情况摘要表
获取 | 设置 | 目标 | 属性描述符类型 | 属性值类型 |
---|---|---|---|---|
是 | 否 | 固定 | 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_<*>
。 这会通知 OS 音频终结点是否能够执行预音量环回、后音量环回或两者。
稍后,在引脚创建时,OS 提供属性 KSATTRIBUTEID_AUDIOLOOPBACK_TAPPOINT 与KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT,以传达是创建环回引脚作为预音量还是后音量。
点击点上限的定义如下。
#define AUDIOLOOPBACK_TAPPOINT_CAPS_PREVOLUMEMUTE (0x1)
#define AUDIOLOOPBACK_TAPPOINT_CAPS_POSTVOLUMEMUTE (0x2)
ksmedia.h 中提供的 KSATTRIBUTE_AUDIOLOOPBACK_TAPPOINT 结构可以提供包装器,用于指定有关在流图中点击环回的位置的 AUDIO_LOOPBACK_TAPPOINT_TYPE 属性。
返回值
KSPROPERTY_AUDIOLOOPBACK 属性请求返回 STATUS_SUCCESS,以指示它已成功完成。 否则,请求将返回适当的错误状态代码。
注解
可以按如下所示汇总音频系统。
- 信号处理输出:从卸载或直接从主机提供程序卸载的信号处理输出。
- 音量:流中的下一步,其中调整了音频信号的音量。
- 静音:此阶段在必要时将音频信号静音。
- EFX(效果):此处,将效果应用于音频信号。
- 输出:输出已处理的音频信号的最后阶段。
具有硬件音频引擎的系统必须实现环回引脚。 应用所有信号处理后,环回引脚将返回混合音频输出。
环回流也会受到终结点音量和静音的影响。 此属性允许应用程序选择在应用终结点音量和静音之前还是之后返回环回流。
音频驱动程序必须将音频引擎输出引脚连接到筛选器的环回引脚。 环回引脚必须将类别播发为 KSNODETYPE_AUDIO_LOOPBACK。 环回不实现信号处理模式。
OS 可以查询音频驱动程序以获取环回点击点功能。 这些功能作为标志的位掩码返回。
环回引脚上创建的流收集 DSP 混合输出,并将其作为捕获流提供回 OS。 驱动程序从 OS 获取选项的一种方法是通过流属性。 如果未将属性应用于环回流,则应在音量之前收集环回,并在混音器输出上应用静音。
对于用户模式客户端,通过 AUDCLNT_STREAMOPTIONS_POST_VOLUME_LOOPBACK 在预音量环回和后音量环回之间进行切换,此方法在调用 SetClientProperties 时作为 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 |