核心音频 API

核心音频 API 技术概述。

若要开发核心音频 API,需要以下标头:

有关此技术的编程指南,请参阅:

枚举

 
_AUDCLNT_BUFFERFLAGS

_AUDCLNT_BUFFERFLAGS 枚举定义指示音频终结点缓冲区状态的标志。
AUDCLNT_SHAREMODE

AUDCLNT_SHAREMODE 枚举定义常量,这些常量指示音频流是在共享模式下运行还是以独占模式运行。
AUDCLNT_STREAMOPTIONS

定义描述音频流特征的值。
AUDIO_DUCKING_OPTIONS

指定音频躲避选项。 调用 IAudioClientDuckingControl::SetDuckingOptionsForCurrentStream 时,请使用此枚举中的值
AUDIO_EFFECT_STATE

指定音频效果的状态。
AUDIO_STREAM_CATEGORY

指定音频流的类别。
AUDIOCLIENT_ACTIVATION_TYPE

指定传递到 ActivateAudioInterfaceAsync 调用中的AUDIOCLIENT_ACTIVATION_PARAMS结构的激活类型。
AudioObjectType

指定 ISpatialAudioObject 的类型。
AudioSessionState

AudioSessionState 枚举定义指示音频会话当前状态的常量。
AudioStateMonitorSoundLevel

ConnectorType

ConnectorType 枚举指示连接器所属的连接类型。
数据流

数据流枚举指示音频流通过连接器的数据流方向。
EDataFlow

EDataFlow 枚举定义常量,这些常量指示音频数据在音频终结点设备和应用程序之间的流动方向。
EndpointFormFactor

EndpointFormFactor 枚举定义常量,这些常量指示音频终结点设备的常规物理属性。
ERole

ERole 枚举定义常量,这些常量指示系统已分配给音频终结点设备的角色。
KSJACK_SINK_CONNECTIONTYPE

KSJACK_SINK_CONNECTIONTYPE 枚举定义指定连接类型的常量。 这些值用于存储音频插孔接收器相关信息的 KSJACK_SINK_INFORMATION 结构中。
PartType

PartType 枚举定义常量,这些常量指示设备拓扑中的部件是连接器还是子单元。
PROCESS_LOOPBACK_MODE

指定传递到 ActivateAudioInterfaceAsync 调用中的AUDIOCLIENT_ACTIVATION_PARAMS结构的环回模式。
SPATIAL_AUDIO_STREAM_OPTIONS

指定用于调用 ActivateSpatialAudioStream 的音频流选项。
SpatialAudioHrtfDirectivityType

指定 ISpatialAudioObjectForHrtf 发出声音的形状。
SpatialAudioHrtfDistanceDecayType

指定从 ISpatialAudioObjectForHrtf 位置到侦听器位置的距离应用衰减的类型。
SpatialAudioHrtfEnvironmentType

指定在为 ISpatialAudioObjectForHrtf 处理音频时模拟的声学环境类型。
SpatialAudioMetadataCopyMode

指定调用 ISpatialAudioMetadataCopier::CopyMetadataForFrames 时使用的复制模式。
SpatialAudioMetadataWriterOverflowMode

指定 ISpatialAudioMetadataWriter 尝试将比初始化客户端时指定更多的项写入元数据缓冲区时所需的行为。

函数

 
激活

Activate 方法使用指定的接口创建 COM 对象。
激活

Activate 方法在连接器或子单元上激活特定于函数的接口。
ActivateAudioInterfaceAsync

使 Windows 应用商店应用能够访问 WASAPI 系列中预先存在的组件对象模型 (COM) 接口。
ActivateCompleted

指示 WASAPI 接口的激活已完成且结果可用。
ActivateSpatialAudioMetadataCopier

创建 ISpatialAudioMetadataWriter 对象,用于将空间音频元数据项从一个 ISpatialAudioMetadataItems 对象复制到另一个对象。
ActivateSpatialAudioMetadataItems

创建用于存储空间音频元数据项的 ISpatialAudioMetadataItems 对象。
ActivateSpatialAudioMetadataReader

创建 ISpatialAudioMetadataWriter 对象,用于从 ISpatialAudioMetadataItems 对象读取空间音频元数据项。
ActivateSpatialAudioMetadataWriter

创建 ISpatialAudioMetadataWriter 对象,用于将空间音频元数据项写入 ISpatialAudioMetadataItems 对象。
ActivateSpatialAudioObject

激活用于音频呈现的 ISpatialAudioObject。
ActivateSpatialAudioObjectForHrtf

激活用于音频呈现的 ISpatialAudioObjectForHrtf。
ActivateSpatialAudioObjectForMetadataCommands

激活 ISpatialAudioObjectForMetadataCommands 进行呈现。
ActivateSpatialAudioObjectForMetadataItems

激活 ISpatialAudioObjectForMetadataItems 进行呈现。
ActivateSpatialAudioStream

使用其中一个空间音频流激活结构激活和初始化空间音频流。
AttachToBuffer

附加调用方提供的内存,用于存储 ISpatialAudioMetadataItems 对象。
AttachToPopulatedBuffer

附加以前填充的缓冲区,用于存储 ISpatialAudioMetadataItems 对象。 保留缓冲区中已有的元数据项。
AudioStateMonitorCallback

当系统更改由 IAudioStreamStateMonitor 监视的音频流的音量时发生。
BeginUpdatingAudioObjects

将系统置于可以提交音频对象数据进行处理并可以修改 ISpatialAudioObject 状态的状态。
关闭

完成对 SpatialAudioMetadataItems 对象的任何必要操作并释放该对象。 (ISpatialAudioMetadataCopier.Close)
关闭

完成对 SpatialAudioMetadataItems 对象的任何必要操作并释放该对象。 (ISpatialAudioMetadataReader.Close)
关闭

在元数据缓冲区上完成任何所需的操作,并释放指定的 ISpatialAudioMetadataItems 对象。
ConnectTo

ConnectTo 方法将此连接器连接到另一个设备拓扑对象中的连接器。
CopyMetadataForFrames

将提供给 Open 方法的源 ISpatialAudioMetadataItems 中的元数据项复制到目标 ISpatialAudioMetadataItems 对象(使用 dstMetadataItems 参数指定)。
CreateCaptureAudioStateMonitor

为捕获流创建 IAudioStateMonitor 的新实例。
CreateCaptureAudioStateMonitorForCategory

为具有指定音频类别的捕获流创建 IAudioStateMonitor 的新实例。
CreateCaptureAudioStateMonitorForCategoryAndDeviceId

为具有指定音频类别和音频设备 ID 的捕获流创建 IAudioStateMonitor 的新实例。
CreateCaptureAudioStateMonitorForCategoryAndDeviceRole

为具有指定音频类别和音频设备角色的捕获流创建 IAudioStateMonitor 的新实例。
CreateRenderAudioStateMonitor

为呈现流创建 IAudioStateMonitor 的新实例。
CreateRenderAudioStateMonitorForCategory

为具有指定音频类别的呈现流创建 IAudioStateMonitor 的新实例。
CreateRenderAudioStateMonitorForCategoryAndDeviceId

为具有指定音频类别和音频设备 ID 的呈现流创建 IAudioStateMonitor 的新实例。
CreateRenderAudioStateMonitorForCategoryAndDeviceRole

为具有指定音频类别和音频设备角色的呈现流创建 IAudioStateMonitor 的新实例。
DetachBuffer

分离缓冲区。 内存一次只能附加到单个元数据项。
断开连接

Disconnect 方法将此连接器与另一个连接器断开连接。
EndUpdatingAudioObjects

通知系统应用已完成为使用 ActivateSpatialAudioObject 激活的空间音频对象提供音频数据。
EnumAudioEndpoints

EnumAudioEndpoints 方法生成满足指定条件的音频终结点设备的集合。
EnumPartsIncoming

EnumPartsIncoming 方法获取所有传入部件的列表,即驻留在此部件上游的数据路径上的部件。
EnumPartsOutgoing

EnumPartsOutgoing 方法检索所有传出部件的列表,即驻留在此部件下游的数据路径上的部件。
Get4BRange

Get4BRange 方法获取特定于设备的属性值的 4 字节范围。
GetActivateResult

获取调用 ActivateAudioInterfaceAsync 函数的应用程序启动的 WASAPI 接口异步激活的结果。
GetAllVolumes

GetAllVolumes 方法检索音频流中所有声道的音量级别。
GetAllVolumes

GetAllVolumes 方法检索音频会话中所有声道的音量级别。
GetAudioEffects

获取关联音频流的音频效果的当前列表。
GetAudioObjectType

获取一个值,该值指定由 ISpatialAudioObject 表示的音频对象的类型。
GetAudioSessionControl

GetAudioSessionControl 方法检索音频会话控件。
GetAvailableDynamicObjectCount

获取当前可用的动态空间音频对象的数量。
GetAvailableOffloadConnectorCount

GetAvailableOffloadConnectorCount 方法检索可处理硬件音频引擎上卸载的流的可用终结点的数量。
GetBuffer

获取用于为 ISpatialAudioObject 提供音频数据的缓冲区。
GetBuffer

检索指向捕获终结点缓冲区中下一个可用数据包的指针。
GetBuffer

检索指向呈现终结点缓冲区中下一个可用空间的指针,调用方可以在其中写入数据包。
GetBufferSize

GetBufferSize 方法检索终结点缓冲区的大小 (最大容量) 。
GetBufferSizeLimits

GetBufferSizeLimits 方法以 100 纳秒为单位返回硬件音频引擎的缓冲区大小限制。
GetChannelConfig

GetChannelConfig 方法从通道配置控件获取当前通道配置掩码。
GetChannelCount

GetChannelCount 方法获取音频流中的声道数。 (IAudioPeakMeter.GetChannelCount)
GetChannelCount

GetChannelCount 方法获取音频流中的声道数。 (IPerChannelDbLevel.GetChannelCount)
GetChannelCount

GetChannelCount 方法检索音频流中的声道数。
GetChannelCount

GetChannelCount 方法检索音频会话的流格式的通道数。
GetChannelCount

GetChannelCount 方法获取音频流中进入或离开音频终结点设备的通道计数。
GetChannelsPeakValues

GetChannelsPeakValues 方法获取音频流中所有声道的峰值样本值。
GetChannelVolume

GetChannelVolume 方法检索音频流中指定声道的音量级别。
GetChannelVolume

GetChannelVolume 方法检索音频会话中指定声道的音量级别。
GetChannelVolumeLevel

GetChannelVolumeLevel 方法获取进入或离开音频终结点设备的音频流中指定声道的音量级别(以分贝为单位)。
GetChannelVolumeLevelScalar

GetChannelVolumeLevelScalar 方法获取进入或离开音频终结点设备的指定音频流的指定声道的规范化音频带音量级别。
GetChannelVolumes

GetChannelVolumes 方法检索卸载流中各种音频通道的音量级别。
GetCharacteristics

GetCharacteristics 方法保留供将来使用。
GetConnectedTo

GetConnectedTo 方法获取此连接器连接到的连接器。
GetConnector

GetConnector 方法获取由连接器编号指定的连接器。
GetConnectorCount

GetConnectorCount 方法获取设备拓扑对象中的连接器数。
GetConnectorIdConnectedTo

GetConnectorIdConnectedTo 方法获取此连接器连接到的连接器的全局 ID(如果有)。
GetControlInterface

GetControlInterface 方法获取对指定控件接口的引用(如果此部分支持)。
GetControlInterfaceCount

GetControlInterfaceCount 方法获取此部件支持的控件接口数。
GetCount

获取列表中支持的音频格式的数量。
GetCount

GetCount 方法检索设备集合中的设备计数。
GetCount

GetCount 方法获取部件列表中的部件数。
GetCount

GetCount 方法获取音频设备上打开的音频会话总数。
GetCurrentPadding

GetCurrentPadding 方法检索终结点缓冲区中填充的帧数。
GetCurrentSharedModeEnginePeriod

返回音频引擎的当前格式和周期。
GetDataFlow

GetDataFlow 方法指示音频终结点设备是呈现设备还是捕获设备。
GetDataFlow

GetDataFlow 方法获取通过此连接器的数据流方向。
GetDefaultAudioEndpoint

GetDefaultAudioEndpoint 方法检索指定数据流方向和角色的默认音频终结点。
GetDevice

GetDevice 方法检索由终结点 ID 字符串标识的音频终结点设备。
GetDeviceId

GetDeviceId 方法获取设备拓扑对象表示的设备的设备标识符。
GetDeviceIdConnectedTo

GetDeviceIdConnectedTo 方法获取此连接器连接到的音频设备的设备标识符(如果有)。
GetDevicePeriod

GetDevicePeriod 方法检索音频引擎对终结点缓冲区中数据的连续处理传递分隔的定期间隔的长度。
GetDevicePosition

GetDevicePosition 方法直接从硬件获取当前设备位置(以帧为单位)。
GetDevicePreferredFormat

GetDevicePreferredFormat 方法获取连接的首选音频流格式。
GetDisplayName

GetDisplayName 方法检索音频会话的显示名称。
GetEnabled

GetEnabled 方法获取当前状态, (AGC) 启用或禁用。
GetEnabled

GetEnabled 方法获取当前状态 (响度控件) 启用或禁用。
GetEngineFormat

GetEngineFormat 方法检索卸载的音频流的当前数据格式。
GetFormat

获取列表中具有指定索引的格式。 格式按重要性顺序列出。 最可取的格式是列表中的第一个格式。
GetFrameCount

获取定义有效项偏移量的 ISpatialAudioMetadataItems 的总帧计数。
GetFrequency

GetFrequency 方法获取设备频率。
GetGfxState

GetGfxState 方法检索卸载的音频流的 GFX 状态。
GetGlobalId

GetGlobalId 方法获取此部件的全局 ID。
GetGroupingParam

GetGroupingParam 方法检索音频会话的分组参数。
GetIconPath

GetIconPath 方法检索音频会话的显示图标的路径。
GetId

GetId 方法检索标识音频终结点设备的终结点 ID 字符串。
GetIID

GetIID 方法获取部件的特定于函数的控件接口的接口 ID。
GetInfo

获取定义有效项偏移量的 ISpatialAudioMetadataItems 的总帧计数。
GetItemCount

ISpatialAudioMetadataItems 存储的当前项数。
GetJackCount

GetJackCount 方法获取连接到音频终结点设备所需的插孔数。
GetJackCount

GetJackCount 方法获取连接器上连接到终结点设备所需的插孔数。
GetJackDescription

GetJackDescription 方法获取音频插孔的说明。
GetJackDescription2

GetJackDescription2 方法获取指定音频插孔的说明。
GetJackSinkInformation

GetJackSinkInformation 方法检索指定插孔的接收器信息。
GetLevel

GetLevel 方法获取指定通道的峰值计量记录的峰值级别,因为此前已读取该通道的峰值级别。
GetLevel

GetLevel 方法获取指定通道的音量级别(以分贝为单位)。
GetLevelRange

GetLevelRange 方法获取指定通道的音量级别的范围(以分贝为单位)。
GetLocalEffectsState

GetLocalEffectsState 方法检索当前应用于卸载的音频流的本地效果状态。
GetLocalId

GetLocalId 方法获取此部件的本地 ID。
GetMasterVolume

GetMasterVolume 方法检索音频会话的客户端音量级别。
GetMasterVolumeLevel

GetMasterVolumeLevel 方法获取进入或离开音频终结点设备的音频流的主音量级别(以分贝为单位)。
GetMasterVolumeLevelScalar

GetMasterVolumeLevelScalar 方法获取进入或离开音频终结点设备的音频流的主音量级别。 音量级别表示为 0.0 到 1.0 范围内的规范化音频磁带值。
GetMaxDynamicObjectCount

获取空间音频客户端的最大动态音频对象数。
GetMaxFrameCount

获取每个处理过程的最大可能帧计数。 此方法可用于确定应分配的源缓冲区的大小,以便传输每个处理通道的音频数据。
GetMaxFrameCountForCategory

获取每个处理过程支持的最大帧计数。
GetMaxItemCount

创建对象时定义的 ISpatialAudioMetadataItems 允许的最大项数。
GetMaxValueBufferLength

由 ISpatialAudioMetadataItems 的元数据格式定义的最大命令值的大小。
GetMeterChannelCount

获取可按流量计费的卸载流中可用音频通道的数量。
GetMeteringChannelCount

GetMeteringChannelCount 方法获取音频流中由峰值计量器监视的通道数。
GetMeteringData

GetMeteringData 方法检索有关卸载流中可用音频通道的常规信息。
GetMixFormat

GetMixFormat 方法检索音频引擎用于内部处理共享模式流的流格式。
GetMute

GetMute 方法检索卸载的音频流的静音状态。
GetMute

GetMute 方法获取当前状态 (静音控件) 启用或禁用。
GetMute

GetMute 方法检索音频会话的当前静音状态。
GetMute

GetMute 方法获取进入或离开音频终结点设备的音频流的静音状态。
GetName

GetName 方法获取控件接口封装的音频函数的友好名称。
GetName

GetName 方法获取此部件的友好名称。
GetNativeStaticObjectTypeMask

获取一个通道掩码,该掩码表示当前呈现引擎原生的静态扬声器床声道的子集。
GetNextPacketSize

GetNextPacketSize 方法检索捕获终结点缓冲区中下一个数据包中的帧数。
GetPart

GetPart 方法从部件列表中获取部件。
GetPartById

GetPartById 方法获取由其本地 ID 标识的部件。
GetPartType

GetPartType 方法获取此部件的部件类型。
GetPeakValue

GetPeakValue 方法获取音频流中通道的峰值采样值。
GetPosition

GetPosition 方法获取当前设备位置。
GetProcessId

GetProcessId 方法检索音频会话的进程标识符。
GetSelection

GetSelection 方法获取连接到当前所选的选择器输入的部件的本地 ID。
GetSelection

GetSelection 方法获取连接到当前所选的选择器输出的部件的本地 ID。
GetService

从 ISpatialAudioObjectRenderStream 获取其他服务。
GetService

GetService 方法从音频客户端对象访问其他服务。
GetSession

GetSession 方法获取由音频会话编号指定的音频会话。
GetSessionEnumerator

GetSessionEnumerator 方法获取指向音频会话枚举器对象的指针。
GetSessionIdentifier

GetSessionIdentifier 方法检索音频会话标识符。
GetSessionInstanceIdentifier

GetSessionInstanceIdentifier 方法检索音频会话实例的标识符。
GetSharedModeEnginePeriod

返回引擎支持的指定流格式的周期范围。
GetSignalPath

GetSignalPath 方法获取信号路径中链接两个部分(如果该路径存在)的部件列表。
GetSimpleAudioVolume

GetSimpleAudioVolume 方法检索简单的音量控件。
GetSoundLevel

获取与 IAudioStateMonitor 关联的音频流的当前声音级别。
GetSpatialAudioMetadataItems

获取指向 ISpatialAudioMetadataItems 对象的指针,该对象存储 ISpatialAudioObjectForMetadataItems 的元数据项。
GetSpatialAudioMetadataItemsBufferLength

获取存储指定数量的空间音频元数据项所需的缓冲区长度。
GetState

GetState 方法检索当前设备状态。
GetState

GetState 方法检索音频会话的当前状态。
GetStaticObjectPosition

获取指定静态空间音频通道的 3D 空间中的位置。
GetStreamLatency

GetStreamLatency 方法检索当前流的最大延迟,并且可以在初始化流后随时调用。
GetSubType

GetSubType 方法获取此部件的部件子类型。
GetSubunit

GetSubunit 方法获取由子单位编号指定的子单位。
GetSubunitCount

GetSubunitCount 方法获取设备拓扑中的子单元数。
GetSupportedAudioObjectFormatEnumerator

获取包含空间音频对象支持的所有音频格式的 IAudioFormatEnumerator,列表中的第一项表示最可取的格式。
GetTopologyObject

GetTopologyObject 方法获取对包含此部分的设备拓扑对象的 IDeviceTopology 接口的引用。
GetType

GetType 方法获取此连接器的类型。
GetType

GetType 方法获取特定于设备的属性值的数据类型。
GetValue

GetValue 方法获取特定于设备的属性的当前值。
GetVolumeChannelCount

GetVolumeChannelCount 方法检索卸载流中的可用音频通道数。
GetVolumeRange

GetVolumeRange 方法获取进入或离开音频终结点设备的音频流的音量范围(以分贝为单位)。
GetVolumeRangeChannel

GetVolumeRangeChannel 方法获取指定通道的音量范围。
GetVolumeStepInfo

GetVolumeStepInfo 方法获取有关卷范围内当前步骤的信息。
初始化

Initialize 方法初始化音频流。
InitializeSharedAudioStream

使用指定的周期初始化共享流。
IsActive

获取一个布尔值,该值指示 ISpatialAudioObject 是否有效。
IsAudioObjectFormatSupported

获取一个值,该值指示 ISpatialAudioObjectRenderStream 是否支持指定格式。
IsConnected

IsConnected 方法指示此连接器是否连接到另一个连接器。
IsFormatSupported

IsFormatSupported 方法指示音频终结点设备是否支持指定的音频流格式。
IsFormatSupported

IsFormatSupported 方法指示音频终结点设备是否支持特定的流格式。
IsLastBufferControlSupported

指示是否支持最后一个缓冲区控制。
IsOffloadCapable

查询创建 ISpatialAudioClient2 的音频呈现终结点是否支持硬件卸载的音频处理。
IsOffloadCapable

IsOffloadCapable 方法检索有关创建流的终结点是否能够支持卸载的音频流的信息。
IsSpatialAudioStreamAvailable

成功后,获取一个值,该值指示当前活动的空间呈现引擎是否支持指定的空间音频呈现流。
IsSystemSoundsSession

IsSystemSoundsSession 方法指示会话是否为系统声音会话。
项目

Item 方法检索指向设备集合中指定项的指针。
OnAudioEffectsChanged

当音频效果列表更改或启用效果所需的资源发生更改时,由系统调用。
OnAvailableDynamicObjectCountChange

当 ISpatialAudioObjectRenderStream 的呈现容量即将更改时,通知空间音频客户端,指定发生更改的时间,并指定更改后可用的动态音频对象数。
OnChannelVolumeChanged

OnChannelVolumeChanged 方法通知客户端会话子混合中音频通道的音量级别已更改。
OnDefaultDeviceChanged

OnDefaultDeviceChanged 方法通知客户端特定设备角色的默认音频终结点设备已更改。
OnDeviceAdded

OnDeviceAdded 方法指示已添加新的音频终结点设备。
OnDeviceRemoved

OnDeviceRemoved 方法指示已删除音频终结点设备。
OnDeviceStateChanged

OnDeviceStateChanged 方法指示音频终结点设备的状态已更改。
OnDisplayNameChanged

OnDisplayNameChanged 方法通知客户端会话的显示名称已更改。
OnGroupingParamChanged

OnGroupingParamChanged 方法通知客户端会话的分组参数已更改。
OnIconPathChanged

OnIconPathChanged 方法通知客户端会话的显示图标已更改。
OnNotify

当连接器或子单元的状态发生更改时,OnNotify 方法会通知客户端。
OnNotify

OnNotify 方法通知客户端音频终结点设备的音量级别或静音状态已更改。
OnPropertyValueChanged

OnPropertyValueChanged 方法指示属于音频终结点设备的属性的值已更改。
OnSessionCreated

OnSessionCreated 方法通知已注册的进程音频会话已创建。
OnSessionDisconnected

OnSessionDisconnected 方法通知客户端音频会话已断开连接。
OnSimpleVolumeChanged

OnSimpleVolumeChanged 方法通知客户端音频会话的音量级别或静音状态已更改。
OnStateChanged

OnStateChanged 方法通知客户端会话的流活动状态已更改。
OnVolumeDuckNotification

OnVolumeDuckNotification 方法发送有关挂起的系统躲避事件的通知。
OnVolumeUnduckNotification

OnVolumeUnduckNotification 方法发送有关挂起的系统解压缩事件的通知。
打开

打开 ISpatialAudioMetadataItems 对象进行复制。
打开

打开 ISpatialAudioMetadataItems 对象以供读取。
打开

打开 ISpatialAudioMetadataItems 对象以供写入。
OpenPropertyStore

OpenPropertyStore 方法检索设备属性存储的接口。
QueryHardwareSupport

QueryHardwareSupport 方法查询音频终结点设备的硬件支持的功能。 (IAudioEndpointVolume.QueryHardwareSupport)
QueryHardwareSupport

QueryHardwareSupport 方法查询音频终结点设备的硬件支持的功能。 (IAudioMeterInformation.QueryHardwareSupport)
ReadNextItem

获取要读取的元数据项的命令数和示例偏移量。
ReadNextItemCommand

读取当前项的元数据命令和值数据。
RegisterAudioEffectsChangedNotificationCallback

注册 AudioEffectsChangedNotificationClient 接口。
RegisterAudioSessionNotification

RegisterAudioSessionNotification 方法注册客户端以接收会话事件的通知,包括流状态的更改。
RegisterCallback

注册 AudioStateMonitorCallback 的实现,当系统更改由 IAudioStateMonitor 监视的音频流的声音级别时调用该实现。
RegisterControlChangeCallback

RegisterControlChangeCallback 方法注册 IControlChangeNotify 接口,客户端实现该接口以接收此部分中的状态更改通知。
RegisterControlChangeNotify

RegisterControlChangeNotify 方法注册客户端的通知回调接口。
RegisterDuckNotification

RegisterDuckNotification 方法向会话管理器注册应用程序以接收躲避通知。
RegisterEndpointNotificationCallback

RegisterEndpointNotificationCallback 方法注册客户端的通知回调接口。
RegisterSessionNotification

RegisterSessionNotification 方法注册应用程序,以在创建会话时接收通知。
ReleaseBuffer

ReleaseBuffer 方法释放缓冲区。
ReleaseBuffer

ReleaseBuffer 方法释放在对 IAudioRenderClient::GetBuffer 方法的上一次调用中获取的缓冲区空间。
ReleaseOutputDataPointerForLastBuffer

释放最后一个缓冲区的输出数据指针。
重置

重置已停止的音频流。
重置

Reset 方法重置音频流。
ResetToDefault

将格式重置为设备制造商提供的默认设置。
SetAllVolumes

SetAllVolumes 方法设置音频流中所有通道的单个音量级别。
SetAllVolumes

SetAllVolumes 方法为音频会话中的所有通道设置单独的音量级别。
SetAudioStreamWindow

将指定的 HWND 窗口句柄与音频流相关联。
SetChannelConfig

SetChannelConfig 方法在通道配置控件中设置通道配置掩码。
SetChannelVolume

SetChannelVolume 方法设置音频流中指定通道的音量级别。
SetChannelVolume

SetChannelVolume 方法设置音频会话中指定通道的音量级别。
SetChannelVolumeLevel

SetChannelVolumeLevel 方法设置进入或离开音频终结点设备的指定音频流的音量级别(以分贝为单位)。
SetChannelVolumeLevelScalar

SetChannelVolumeLevelScalar 方法设置进入或离开音频终结点设备的音频流中指定通道的规范化音频锥度音量。
SetChannelVolumes

SetChannelVolumes 方法设置卸载流中各种音频通道的音量级别。
SetClientProperties

通过填充 AudioClientProperties 结构来设置音频流的属性。
SetDirectivity

设置 ISpatialAudioObjectForHrtf 的空间音频指向性模型。
SetDisplayName

SetDisplayName 方法将显示名称分配给当前会话。
SetDistanceDecay

将应用于距离 ISpatialAudioObjectForHrtf 位置的衰减模型设置为侦听器的位置。
SetDuckingOptionsForCurrentStream

设置音频呈现流的音频躲避选项。
SetDuckingPreference

SetDuckingPreference 方法启用或禁用默认流衰减体验, (系统提供的自动躲避) 。
SetEchoCancellationRenderEndpoint

设置音频呈现终结点,该终结点应用作 AEC) 声学回声消除的参考流 (。
SetEnabled

SetEnabled 方法启用或禁用 AGC。
SetEnabled

SetEnabled 方法启用或禁用响度控件。
SetEndOfStream

指示系统已为 ISpatialAudioObject 提交了音频数据的最终块,以便可以停用对象并重复使用其资源。
SetEngineDeviceFormat

SetEngineDeviceFormat 方法设置硬件音频引擎的波形音频格式。
SetEnvironment

设置处理 ISpatialAudioObjectForHrtf 音频时模拟的声学环境类型。
SetEventHandle

SetEventHandle 方法设置当音频缓冲区可供客户端处理时系统发出信号的事件句柄。
SetGain

设置 ISpatialAudioObjectForHrtf 的增益。
SetGfxState

SetGfxState 方法设置卸载的音频流的 GFX 状态。
SetGroupingParam

SetGroupingParam 方法将会话分配给会话分组。
SetIconPath

SetIconPath 方法将显示图标分配给当前会话。
SetLevel

SetLevel 方法设置指定通道的音量级别(以分贝为单位)。
SetLevelAllChannels

SetLevelAllChannels 方法设置音频流中所有通道的音量级别(以分贝为单位)。
SetLevelUniform

SetLevelUniform 方法将音频流中的所有通道设置为相同的统一音量级别(以分贝为单位)。
SetLocalEffectsState

SetLocalEffectsState 方法设置要应用于卸载的音频流的本地效果状态。
SetMasterVolume

SetMasterVolume 方法设置音频会话的主音量级别。
SetMasterVolumeLevel

SetMasterVolumeLevel 方法设置进入或离开音频终结点设备的音频流的主音量级别(以分贝为单位)。
SetMasterVolumeLevelScalar

SetMasterVolumeLevelScalar 方法设置进入或离开音频终结点设备的音频流的主音量级别。 音量级别表示为 0.0 到 1.0 范围内的规范化音频磁带值。
SetMute

SetMute 方法设置卸载的音频流的静音状态。
SetMute

SetMute 方法启用或禁用静音控件。
SetMute

SetMute 方法设置音频会话的静音状态。
SetMute

SetMute 方法设置进入或离开音频终结点设备的音频流的静音状态。
SetOrientation

设置 3D 空间中相对于侦听器的引用框架的方向,ISpatialAudioObjectForHrtf 音频数据将从该帧呈现。
SetPosition

设置相对于侦听器的 3D 空间中的位置,从中呈现 ISpatialAudioObjectForHrtf 音频数据。
SetPosition

设置 3D 空间中相对于侦听器的位置,从中呈现 ISpatialAudioObject 音频数据。
SetSampleRate

SetSampleRate 方法设置流的采样率。
SetSelection

SetSelection 方法选择输入选择器的输入之一。
SetSelection

SetSelection 方法选择输出选择器的输出之一。
SetValue

SetValue 方法设置特定于设备的属性的值。
SetVolume

设置音频振幅乘数,该乘数将在提交到音频呈现引擎之前应用于 ISpatialAudioObject 提供的音频数据。
Start

启动空间音频流。
Start

Start 方法启动音频流。
停止

停止正在运行的音频流。
停止

Stop 方法停止音频流。
UnregisterAudioEffectsChangedNotificationCallback

取消注册 IAudioEffectsChangedNotificationClient 接口。
UnregisterAudioSessionNotification

UnregisterAudioSessionNotification 方法删除客户端先前的注册以接收通知。
UnregisterCallback

注销以前通过调用 IAudioStateMonitor::RegisterCallback 注册的 AudioStateMonitorCallback。
UnregisterControlChangeCallback

UnregisterControlChangeCallback 方法删除客户端之前通过调用 IPart::RegisterControlChangeCallback 方法注册的 IControlChangeNotify 接口的注册。
UnregisterControlChangeNotify

UnregisterControlChangeNotify 方法删除客户端在上一次调用 IAudioEndpointVolume::RegisterControlChangeNotify 方法中注册的客户端通知回调接口的注册。
UnregisterDuckNotification

UnregisterDuckNotification 方法删除应用程序以前的注册以接收通知。
UnregisterEndpointNotificationCallback

UnregisterEndpointNotificationCallback 方法删除客户端在上一次调用 IMMDeviceEnumerator::RegisterEndpointNotificationCallback 方法中注册的通知接口的注册。
UnregisterSessionNotification

UnregisterSessionNotification 方法删除注册,以在创建会话时接收通知。
VolumeStepDown

VolumeStepDown 方法将进入或离开音频终结点设备的音频流的音量级别递减一步。
VolumeStepUp

VolumeStepUp 方法将进入或离开音频终结点设备的音频流的音量级别递增一步。
WriteNextItem

在指定的偏移量处启动新的元数据项。
WriteNextItemCommand

将元数据命令和值数据写入当前项。
WriteNextMetadataCommand

将元数据命令写入空间音频对象,每个处理周期的每个对象只能添加一次。

接口

 
IAcousticEchoCancellationControl

提供一种机制,用于确定音频捕获终结点是否支持 AEC) (回声消除,如果支持,则允许客户端设置应用作引用流的音频呈现终结点。
IActivateAudioInterfaceAsyncOperation

表示激活 WASAPI 接口的异步操作,并提供检索激活结果的方法。
IActivateAudioInterfaceCompletionHandler

提供回调以指示 WASAPI 接口的激活已完成。
IAudioAutoGainControl

IAudioAutoGainControl 接口提供对硬件自动增益控制 (AGC) 的访问。
IAudioBass

IAudioBass 接口提供对硬件低音级控件的访问。
IAudioCaptureClient

IAudioCaptureClient 接口使客户端能够从捕获终结点缓冲区读取输入数据。
IAudioChannelConfig

IAudioChannelConfig 接口提供对硬件通道配置控件的访问。
IAudioClient

IAudioClient 接口使客户端能够在音频应用程序与音频引擎之间创建和初始化音频流, (共享模式流) 或音频终结点设备的硬件缓冲区, (独占模式流) 。
IAudioClient2

IAudioClient2 接口派生自 IAudioClient 接口,其中包含一组附加方法,这些方法使 Windows 音频会话 API (WASAPI) 音频客户端执行以下操作:_opt 中卸载、查询流属性,并从处理卸载的硬件获取信息。如果基础终结点支持硬件音频引擎,并且音频系统已枚举并发现该终结点,并且终结点上仍有可用的卸载引脚实例,则音频客户端可以成功创建卸载流。
IAudioClient3

IAudioClient3 接口派生自 IAudioClient2 接口,其中包含一组附加方法,使 Windows 音频会话 API (WASAPI) 音频客户端能够查询音频引擎支持的周期和当前周期,以及请求初始化具有指定周期的共享音频流。
IAudioClientDuckingControl

提供一个 SetDuckingOptionsForCurrentStream 方法,该方法允许应用指定当应用的音频呈现流处于活动状态时,系统不应躲避其他流的音频。
IAudioClock

IAudioClock 接口使客户端能够监视流的数据速率和流中的当前位置。
IAudioClock2

IAudioClock2 接口用于获取当前设备位置。
IAudioClockAdjustment

IAudioClockAdjustment 接口用于调整流的采样率。
IAudioEffectsChangedNotificationClient

回调接口允许应用程序在音频效果列表更改或启用效果更改所需的资源时接收通知。
IAudioEffectsManager

为音频效果管道提供管理功能
IAudioEndpointFormatControl

用于重置当前音频终结点设备格式。
IAudioEndpointLastBufferControl

提供允许卸载流客户端通知终结点已发送最后一个缓冲区仅部分填充的功能。
IAudioEndpointOffloadStreamMeter

IAudioEndpointOffloadStreamMeter 接口检索有关卸载音频流中音频声道的常规信息。
IAudioEndpointOffloadStreamMute

IAudioEndpointOffloadStreamMute 接口允许客户端操作卸载音频流的静音状态。
IAudioEndpointOffloadStreamVolume

IAudioEndpointOffloadStreamVolume 接口允许客户端应用程序操作卸载音频流的音量级别。
IAudioEndpointVolume

IAudioEndpointVolume 接口表示音频流与音频终结点设备的音量控制。
IAudioEndpointVolumeCallback

IAudioEndpointVolumeCallback 接口提供音频终结点设备的音量级别和静音状态更改通知。
IAudioEndpointVolumeEx

IAudioEndpointVolumeEx 接口为音频流提供与设备终结点的音量控制。
IAudioFormatEnumerator

提供支持的音频格式的列表。 列表中的第一个格式是首选格式。 通过调用 ISpatialAudioClient::GetSupportedAudioObjectFormatEnumerator 获取对此接口的引用。
IAudioInputSelector

IAudioInputSelector 接口提供对硬件多路复用器控件的访问, (输入选择器) 。
IAudioLfxControl

IAudioLfxControl 接口允许客户端从卸载的音频流中应用或删除本地效果。
IAudioLoudness

IAudioLoudness 接口提供对“响度”补偿控制的访问权限。
IAudioMeterInformation

IAudioMeterInformation 接口表示音频流与音频终结点设备之间的峰值计量。
IAudioMidrange

IAudioMidrange 接口提供对硬件中端级别控件的访问。
IAudioMute

IAudioMute 接口提供对硬件静音控件的访问。
IAudioOutputSelector

IAudioOutputSelector 接口提供对硬件多路复用器控件的访问, (输出选择器) 。
IAudioPeakMeter

IAudioPeakMeter 接口提供对硬件峰值计量控件的访问。
IAudioRenderClient

IAudioRenderClient 接口使客户端能够将输出数据写入呈现终结点缓冲区。
IAudioSessionControl

IAudioSessionControl 接口使客户端能够配置音频会话的控制参数并监视会话中的事件。
IAudioSessionControl2

客户端可以使用 IAudioSessionControl2 接口获取有关音频会话的信息。
IAudioSessionEnumerator

IAudioSessionEnumerator 接口枚举音频设备上的音频会话。
IAudioSessionEvents

IAudioSessionEvents 接口提供与会话相关的事件的通知,例如卷级别、显示名称和会话状态的更改。
IAudioSessionManager

IAudioSessionManager 接口使客户端能够访问跨进程和特定于进程的音频会话的会话控件和音量控件。
IAudioSessionManager2

IAudioSessionManager2 接口使应用程序能够管理音频设备的子混合。
IAudioSessionNotification

IAudioSessionNotification 接口在创建音频会话时提供通知。
IAudioStateMonitor

提供 API,用于查询音频流的声音级别,以及用于在声音级别更改时接收通知。
IAudioStreamVolume

IAudioStreamVolume 接口使客户端能够控制和监视音频流中所有声道的音量级别。
IAudioTreble

IAudioTreble 接口提供对硬件高音级别控件的访问。
IAudioViewManagerService

提供用于将 HWND 与音频流关联的 API。
IAudioVolumeDuckNotification

系统使用 IAudioVolumeDuckNotification 接口发送有关流衰减更改的通知。流衰减(或躲避)是 Windows 7 中引入的一项功能,在 Windows 7 中,系统会在打开新的通信流时调整非通信流的音量。 有关此功能的详细信息,请参阅默认躲避体验。
IAudioVolumeLevel

IAudioVolumeLevel 接口提供对硬件音量控制的访问权限。
IChannelAudioVolume

IChannelAudioVolume 接口使客户端能够控制和监视流所属的音频会话中所有声道的音量级别。
IConnector

IConnector 接口表示组件之间的连接点。
IControlChangeNotify

当连接器或子单元 (部件的状态) 更改时,IControlChangeNotify 接口提供通知。
IControlInterface

IControlInterface 接口表示设备拓扑中 (连接器或子单元) 部件上的控制接口。 客户端通过调用 IPart::GetControlInterface 方法获取对部件的 IControlInterface 接口的引用。
IDeviceSpecificProperty

IDeviceSpecificProperty 接口提供对设备特定硬件控件的控制值的访问权限。
IDeviceTopology

IDeviceTopology 接口提供对音频设备拓扑的访问。
IHardwareAudioEngineBase

IHardwareAudioEngineBase 接口由音频堆栈的音频终结点实现,用于配置和检索有关硬件音频引擎的信息。
IKsFormatSupport

IKsFormatSupport 接口提供有关软件配置的 I/O 连接支持的音频数据格式的信息, (通常是音频适配器设备和系统内存之间的 DMA 通道) 。
IKsJackDescription

IKsJackDescription 接口提供有关插孔或内部连接器的信息,这些插孔或内部连接器在音频适配器上的设备与外部或内部终结点设备之间提供物理连接 (例如麦克风或 CD 播放器) 。
IKsJackDescription2

IKsJackDescription2 接口提供有关插孔或内部连接器的信息,这些插孔或内部连接器在音频适配器上的设备与外部或内部终结点设备之间提供物理连接, (例如麦克风或 CD 播放器) 。
IKsJackSinkInformation

如果硬件支持插孔,则 IKsJackSinkInformation 接口提供对插孔接收器信息的访问权限。
IMMDevice

IMMDevice 接口封装多媒体设备资源的一般功能。
IMMDeviceCollection

IMMDeviceCollection 接口表示多媒体设备资源的集合。
IMMDeviceEnumerator

IMMDeviceEnumerator 接口提供用于枚举多媒体设备资源的方法。
IMMEndpoint

IMMEndpoint 接口表示音频终结点设备。
IMMNotificationClient

当添加或删除音频终结点设备、终结点设备的状态或属性发生更改或分配给终结点设备的默认角色发生更改时,IMMNotificationClient 接口会提供通知。
IPart

IPart 接口表示设备拓扑 (连接器或子单元) 部分。
IPartsList

IPartsList 接口表示部件列表,其中每个部分都是具有表示连接器或子单元的 IPart 接口的对象。
IPerChannelDbLevel

IPerChannelDbLevel 接口表示一个泛型子单元控制接口,该接口对音频流或音频流中某个频带的音量级别(以分贝为单位)提供按声道控制。
ISimpleAudioVolume

ISimpleAudioVolume 接口使客户端能够控制音频会话的主音量级别。
ISpatialAudioClient

ISpatialAudioClient 接口使客户端能够创建从 3D 空间中某个位置发出音频的音频流。
ISpatialAudioClient2

ISpatialAudioClient2 接口继承自 ISpatialAudioClient,并添加了方法以查询对卸载大型音频缓冲区的支持。
ISpatialAudioMetadataClient

提供用于创建 ISpatialAudioMetadataItems、ISpatialAudioMetadataWriter、ISpatialAudioMetadataReader 和 ISpatialAudioMetadataCopier 对象的类工厂。
ISpatialAudioMetadataCopier

提供用于将所有或部分元数据项从源 SpatialAudioMetadataItems 复制到目标 SpatialAudioMetadataItems 的方法。
ISpatialAudioMetadataItems

表示空间音频元数据项的缓冲区。
ISpatialAudioMetadataItemsBuffer

提供将缓冲区附加到 SpatialAudioMetadataItems 的方法,以便就地存储数据。
ISpatialAudioMetadataReader

提供用于从 ISpatialAudioMetadataItems 对象中提取空间音频元数据项和项命令值对的方法。
ISpatialAudioMetadataWriter

提供用于存储位于相应音频帧范围内的空间音频元数据项的方法。
ISpatialAudioObject

表示一个 对象,该对象提供要从 3D 空间中相对于用户的位置呈现的音频数据。
ISpatialAudioObjectBase

基本接口,表示一个对象,该对象提供要从 3D 空间中相对于用户的位置呈现的音频数据。
ISpatialAudioObjectForHrtf

表示一个 对象,该对象提供要从 3D 空间中相对于用户的位置呈现的音频数据、头部相对传输函数 (HRTF) 。
ISpatialAudioObjectForMetadataCommands

用于编写空间音频的元数据命令。
ISpatialAudioObjectForMetadataItems

用于为需要每个缓冲区多个元数据项且具有帧准确放置的应用程序编写空间音频元数据。
ISpatialAudioObjectRenderStream

提供用于控制空间音频对象呈现流的方法,包括启动、停止和重置流。
ISpatialAudioObjectRenderStreamBase

基本接口,提供用于控制空间音频对象呈现流的方法,包括启动、停止和重置流。
ISpatialAudioObjectRenderStreamForHrtf

提供用于控制 Hrtf 空间音频对象呈现流的方法,包括启动、停止和重置流。
ISpatialAudioObjectRenderStreamForMetadata

提供用于控制元数据的空间音频对象呈现流的方法,包括启动、停止和重置流。
ISpatialAudioObjectRenderStreamNotify

为空间音频客户端提供通知,以响应 ISpatialAudioObjectRenderStream 的状态更改。
ISubunit

ISubunit 接口表示硬件子单元 (例如,位于客户端和音频终结点设备之间的数据路径中的音量控制) 。

结构

 
AUDIO_EFFECT

表示音频效果。
AUDIO_VOLUME_NOTIFICATION_DATA

AUDIO_VOLUME_NOTIFICATION_DATA结构描述音频终结点设备的音量级别或静音状态的变化。
AUDIOCLIENT_ACTIVATION_PARAMS

指定对 ActivateAudioInterfaceAsync 的调用的激活参数。
AUDIOCLIENT_PROCESS_LOOPBACK_PARAMS

指定调用 ActivateAudioInterfaceAsync 的参数,其中请求了环回激活。
AudioExtensionParams

此结构通过 IShellPropSheetExt::AddPages 传递到 控制面板 Endpoint Extension 属性页,并用于创建终结点 PropertyPages。
DIRECTX_AUDIO_ACTIVATION_PARAMS

DIRECTX_AUDIO_ACTIVATION_PARAMS 结构指定 DirectSound 流的初始化参数。
KSJACK_DESCRIPTION

KSJACK_DESCRIPTION结构描述音频插孔。
KSJACK_DESCRIPTION2

KSJACK_DESCRIPTION2结构描述音频插孔。若要获取连接器音频插孔的说明,请调用 IKsJackDescription2::GetJackDescription2。
KSJACK_SINK_INFORMATION

KSJACK_SINK_INFORMATION结构存储有关音频插孔接收器的信息。
LUID

LUID 结构存储视频端口标识符。 此结构存储在 KSJACK_SINK_INFORMATION 结构的 PortId 成员中。
SpatialAudioClientActivationParams

表示空间音频呈现流的可选激活参数。 激活 ISpatialAudioClient 接口时,将此结构传递给 ActivateAudioInterfaceAsync。
SpatialAudioHrtfActivationParams

指定 ISpatialAudioRenderStreamForHrtf 的激活参数。
SpatialAudioHrtfActivationParams2

表示空间音频呈现流的激活参数,扩展 SpatialAudioHrtfActivationParams 并能够指定流选项。
SpatialAudioHrtfDirectivity

表示 ISpatialAudioObjectForHrtf 的全向模型。 全向发射根据“缩放”字段的值与“类型”字段中指定的指向性模型进行线性内插。
SpatialAudioHrtfDirectivityCardioid

表示 ISpatialAudioObjectForHrtf 的心形指向性模型。
SpatialAudioHrtfDirectivityCone

表示 ISpatialAudioObjectForHrtf 的圆锥形指向性模型。
SpatialAudioHrtfDirectivityUnion

为 ISpatialAudioObjectForHrtf 定义空间音频指向性模型。
SpatialAudioHrtfDistanceDecay

表示从 ISpatialAudioObjectForHrtf 的位置到侦听器位置的距离应用的衰减模型。
SpatialAudioMetadataItemsInfo

提供有关 ISpatialAudioMetadataItems 对象的信息。 通过调用 GetInfo 获取此结构的副本。
SpatialAudioObjectRenderStreamActivationParams

表示空间音频呈现流的激活参数。 激活流时,将此结构传递给 ISpatialAudioClient::ActivateSpatialAudioStream。
SpatialAudioObjectRenderStreamActivationParams2

表示空间音频呈现流的激活参数,扩展 SpatialAudioObjectRenderStreamActivationParams 并能够指定流选项。
SpatialAudioObjectRenderStreamForMetadataActivationParams

表示元数据的空间音频呈现流的激活参数。 激活流时,将此结构传递给 ISpatialAudioClient::ActivateSpatialAudioStream。
SpatialAudioObjectRenderStreamForMetadataActivationParams2

表示元数据的空间音频呈现流的激活参数,扩展 SpatialAudioObjectRenderStreamForMetadataActivationParams 并指定流选项。