音频设备 DDI 参考
音频设备 DDI 参考技术概述。
若要开发音频设备 DDI 参考,需要以下标头:
- audiomediatype.h
- audioenginebaseapo.h
- audioengineextensionapo.h
- baseaudioprocessingobject.h
- msapofxproxy.h
有关此技术的编程指南,请参阅:
枚举
APO_FLAG APO_FLAG 枚举定义常量,这些常量由音频处理对象 (APO) 用作标志。 |
APO_LOG_LEVEL 指定使用 IAudioProcessingObjectLoggingService::ApoLog 记录的 APO 事件的级别。 |
APO_NOTIFICATION_TYPE 指定APO_NOTIFICATION的类型。 |
APO_REFERENCE_STREAM_PROPERTIES 指定 IApoAcousticEchoCancellation2::GetDesiredReferenceStreamProperties 回调方法的环回流属性。 |
AUDIO_SYSTEMEFFECT_STATE 指定系统效果音频处理对象的状态 (sAPO) 音频效果。 |
DEVICE_ORIENTATION_TYPE 指定APO_NOTIFICATION_TYPE_DEVICE_ORIENTATION类型的通知的设备方向值。 |
KSPROPERTY_AUDIOEFFECTSDISCOVERY KSPROPERTY_AUDIOEFFECTSDISCOVERY枚举定义了一个常量,该常量由音频处理对象列表 (ASO) 使用。 |
函数
AcceptInput 在其辅助输入之一上向 APO 提供输入。 |
AddAuxiliaryInput 将辅助输入添加到 APO,并提供初始化参数。 |
AERT_Allocate AERT_Allocate实用工具函数分配并锁定一段内存,供音频处理对象使用。 |
AERT_Free AERT_Free 实用工具函数释放 (释放AERT_Allocate函数锁定的) 内存,供音频处理对象用来处理音频数据。 |
ApoLog 记录 APO 事件。 |
APOProcess APOProcess 方法会导致 APO 进行处理传递。 |
CalcInputFrames CalcInputFrames 方法返回 APO 生成给定数量的输出帧所需的输入帧数。 |
CalcOutputFrames CalcOutputFrames 方法返回 APO 为给定数量的输入帧所需的输出帧数。 |
提交 进行更改后,此方法将保存更改。 |
CreateAudioMediaType CreateAudioMediaType 函数使用调用方指定的格式来创建描述音频格式的媒体类型对象。 |
CreateAudioMediaTypeFromUncompressedAudioFormat CreateAudioMediaTypeFromUncompressedAudioFormat 函数使用 UNCOMPRESSEDAUDIOFORMAT 结构中提供的信息来创建描述音频格式的媒体类型对象。 |
GetApoNotificationRegistrationInfo 由系统调用,以允许客户端注册以接收 APO 终结点和系统效果通知的通知回调。 |
GetApoNotificationRegistrationInfo2 由系统调用,以允许客户端注册以接收 APO 终结点和系统效果通知的通知回调。 此方法添加一个参数,该参数可用于确定当前设备上运行的 Windows 版本支持的通知类型。 |
GetAt 从项的属性数组中获取属性键。 |
GetAudioFormat GetAudioFormat 方法返回音频数据格式的 WAVEFORMATEX 结构。 |
GetControllableSystemEffectsList 由系统效果音频处理对象实现 (sAPO) 音频效果,以允许调用方获取当前效果列表。 |
GetCount 此方法返回附加到文件的属性数的计数。 |
GetDesiredReferenceStreamProperties 如果环回流在关联的音频终结点上受支持,则请求一组属性。 |
GetEffectsList GetEffectsList 方法用于检索当前处于活动状态的音频处理效果列表,并在列表更改时存储要发出信号的事件。 |
GetFormat GetFormat 方法检索自定义格式的 IAudioMediaType 表示形式。 |
GetFormatCount GetFormatCount 方法检索系统效果音频处理对象 (sAPO) 支持的自定义格式数。 |
GetFormatRepresentation GetFormatRepresentation 方法检索自定义格式的字符串表示形式,以便它可以显示在用户界面上。 |
GetInputChannelCount GetInputChannelCount 返回此 APO 的每帧样本) (输入通道计数。 |
GetLatency GetLatency 方法返回此 APO 的延迟。 延迟是指帧遍历 APO 的处理过程所花费的时间量。 |
GetPreferredInputFormat 回调函数,它允许 ADO 为提供的输出格式指定首选输入格式。 |
GetPreferredOutputFormat 回调函数,它允许 ADO 为提供的输入格式指定首选输出格式。 |
GetRealTimeWorkQueue 获取 APO 可用于计划需要以实时优先级运行的任务的工作队列的 ID。 |
GetRegistrationProperties GetRegistrationProperties 返回音频处理对象的注册属性 (APO) 。 |
GetUncompressedAudioFormat IAudioMediaType::GetUncompressedAudioFormat 返回有关音频数据格式的信息。 |
GetValue 此方法检索特定属性的数据。 |
HandleNotification 由系统调用,以通知客户端 APO 终结点或系统效果的更改。 |
初始化 Initialize 方法初始化 APO 并支持长度可变的数据。 |
IsCompressedFormat IsCompressedFormat 方法确定音频数据格式是否为压缩格式。 |
IsEqual IsEqual 方法比较两种媒体类型,并确定它们是否相同。 |
IsInputFormatSupported 验证 APO 是否支持特定的辅助输入格式。 |
IsInputFormatSupported 此方法与 Windows Vista 音频引擎协商,以建立音频数据流的数据格式。 |
IsOutputFormatSupported IsOutputFormatSupported 方法用于验证是否支持特定的输出格式。 |
LockForProcess LockForProcess 方法用于验证 APO 是否已锁定并准备好处理数据。 |
RemoveAuxiliaryInput 从 APO 中删除辅助输入。 |
重置 Reset 方法将 APO 重置为其原始状态。 此方法不会导致附加到 APO 的输入或输出的连接对象发生任何更改。 |
SetAudioDeviceModulesManager 由系统调用,用于将 IAudioDeviceModulesManager 的实例传递到实现 IAudioDeviceModulesClient 接口 (ADO) 音频处理对象。 |
SetAudioSystemEffectState 由系统效果音频处理对象实现 (sAPO) 音频效果,以允许调用方设置效果的状态。 |
SetValue 此方法设置属性值,或者替换或删除现有值。 |
UnlockForProcess UnlockForProcess 方法释放 LockForProcess 方法对 APO 施加的锁。 |
接口
IApoAcousticEchoCancellation 此接口由 ADO 实现,用于 (AEC) 方案启用回声消除。 |
IApoAcousticEchoCancellation2 扩展 IAcousticEchoCancellation 以允许 ADO 指定引用流的所需属性。 |
IApoAuxiliaryInputConfiguration 提供 ADO 可以实现的方法,以便音频引擎可以添加和删除辅助输入流。 |
IApoAuxiliaryInputRT 实时安全接口,用于驱动 APO 的辅助输入。 |
IAudioDeviceModulesClient 音频处理对象 (ASO) 实现此接口以获取对 IAudioDeviceModulesManager 实例的引用。 |
IAudioMediaType IAudioMediaType 接口公开的方法,这些方法允许 sAPO 获取用于与音频引擎协商的相应音频数据格式的信息。 |
IAudioProcessingObject 系统效果音频处理对象 (sAPOs) 通常用于实时进程线程或从实时进程线程调用。 |
IAudioProcessingObjectConfiguration IAudioProcessingObjectConfiguration 接口用于配置 APO。 此接口使用其方法来锁定和解锁 APO 进行处理。 |
IAudioProcessingObjectLoggingService 表示 ADO 的日志记录服务。 |
IAudioProcessingObjectNotifications 由客户端实现,用于注册和接收 APO 终结点和系统效果通知的常见音频相关通知。 |
IAudioProcessingObjectNotifications2 由客户端实现,用于注册和接收 APO 终结点和系统效果通知的常见音频相关通知。 此接口添加了确定当前设备上运行的 Windows 版本上支持的通知类型的功能。 |
IAudioProcessingObjectPreferredFormatSupport 此接口由 ADO 实现,以使它们能够指定首选的输入或输出格式。 |
IAudioProcessingObjectRT 此接口可以在实时模式下运行,其方法可以称为实时处理线程。 |
IAudioProcessingObjectRTQueueService 表示 ADO 的实时工作队列服务。 |
IAudioSystemEffects IAudioSystemEffects 接口使用从 IUnknown 继承的基本方法,并且必须实现 Initialize 方法。 |
IAudioSystemEffects2 IAudioSystemEffects2 接口与 Windows 8.1 一起引入,用于检索给定模式下处理对象的相关信息。 |
IAudioSystemEffects3 由需要将 APOInitSystemEffects3 结构传递到 IAudioProcessingObject::Initialize 方法的客户端实现。 |
IAudioSystemEffectsCustomFormats Windows Vista 和更高版本的 Windows 支持 IAudioSystemEffectsCustomFormats 接口。 |
IPropertyStore 此接口公开用于枚举和操作属性值的方法。 |
结构
AcousticEchoCanceller_Reference_Input 包含与当前回声消除 (AEC) 配置相关的扩展信息。 |
APO_NOTIFICATION 表示更改 APO 终结点或系统效果的通知。 |
APO_NOTIFICATION_DESCRIPTOR 指定请求的 APO 通知。 |
APO_REG_PROPERTIES IAudioProcessingObject::GetRegistrationProperties 使用 APO_REG_PROPERTIES 结构返回音频处理对象的注册属性, (APO) 。 |
APOInitBaseStruct APOInitBaseStruct 结构是必须在 IAudioProcessingObject::Initialize 中的其他初始化数据之前的基本初始化标头。 |
APOInitSystemEffects APOInitSystemEffects 结构将传递给系统效果 APO 进行初始化。 |
APOInitSystemEffects2 APOInitSystemEffects2 结构随 Windows 8.1 一起引入,以便向音频处理对象提供其他初始化上下文, (APO) 进行初始化。 |
APOInitSystemEffects3 提供 APO 初始化参数,扩展 APOInitSystemEffects2 以添加指定日志记录服务提供程序的功能。 |
AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR 指定终结点属性更改 APO 通知。 |
AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION 表示属性更改 APO 通知。 |
AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR 指定终结点卷 APO 通知。 |
AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION 表示音频终结点音量更改 APO 通知。 |
AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION2 表示音频终结点音量更改 APO 通知。 这是AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION的更新版本,提供有关卷更改事件的其他信息。 |
AUDIO_ENVIRONMENT_STATE_CHANGE_NOTIFICATION 表示音频环境更改 APO 通知。 |
AUDIO_MICROPHONE_BOOST_APO_NOTIFICATION_DESCRIPTOR 指定终结点麦克风提升 APO 通知。 |
AUDIO_MICROPHONE_BOOST_NOTIFICATION 表示音频麦克风提升 APO 通知。 |
AUDIO_SYSTEMEFFECT 表示 (sAPO) 音频效果的系统效果音频处理对象。 |
AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION 表示系统音频效果 APO 通知。 |
AUDIO_VOLUME_NOTIFICATION_DATA2 表示有关卷更改通知事件的信息。 此结构由 AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION2 结构使用。 |
KSP_PINMODE KSP_PINMODE结构指定引脚工厂的引脚属性和支持的音频处理模式。 |
MDEVICECAPSEX MDEVICECAPSEX 结构包含即插即用 (PnP) 设备驱动程序的设备功能信息。 |
MIDIOPENDESC MIDIOPENDESC 结构是一种客户端填充结构,可提供有关如何打开 MIDI 设备的信息。 |
UNCOMPRESSEDAUDIOFORMAT UNCOMPRESSEDAUDIOFORMAT 结构指定未压缩音频数据格式的帧速率、通道掩码和其他属性。 |
WAVEFORMATEX WAVEFORMATEX 结构指定波形音频流的数据格式。 |