ISpatialAudioObjectRenderStream::ActivateSpatialAudioObject 方法 (spatialaudioclient.h)

激活用于音频呈现 的 ISpatialAudioObject

语法

HRESULT ActivateSpatialAudioObject(
  [in]  AudioObjectType     type,
  [out] ISpatialAudioObject **audioObject
);

参数

[in] type

要激活的音频对象的类型。 对于动态音频对象,此值必须 AudioObjectType_Dynamic。 对于静态音频对象,请指定枚举中的一个静态音频通道值。 指定 AudioObjectType_None 将生成未空间化的音频对象。

[out] audioObject

接收指向已激活接口的指针。

返回值

如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。

返回代码 说明
SPTLAUDCLNT_E_NO_MORE_OBJECTS
系统已达到同时音频对象的最大数目。
SPTLAUDCLNT_E_DESTROYED
与空间音频流关联的 ISpatialAudioClient 已销毁。
AUDCLNT_E_DEVICE_INVALIDATED
音频终结点设备已拔出,或者音频硬件或关联的硬件资源已重新配置、禁用、删除或以其他方式不可用。
SPTLAUDCLNT_E_INTERNAL
发生了内部错误。
AUDCLNT_E_UNSUPPORTED_FORMAT
与空间音频流关联的媒体使用不受支持的格式。

注解

动态 ISpatialAudioObject 是通过将 type 参数设置为 ActivateSpatialAudioObject 方法激活 AudioObjectType_Dynamic。 客户端对一次可激活的动态空间音频对象的最大数目有限制。 达到限制后,尝试激活其他音频对象将导致此方法返回SPTLAUDCLNT_E_NO_MORE_OBJECTS错误。 若要避免此问题,请在不再使用每个动态 ISpatialAudioObject 来释放资源以便重新分配资源后,对该动态 ISpatialAudioObject 调用 Release。 有关管理空间音频对象的生存期的详细信息,请参阅 ISpatialAudioObject::IsActiveISpatialAudioObject::SetEndOfStream

要求

要求
目标平台 Windows
标头 spatialaudioclient.h

另请参阅

ISpatialAudioObjectRenderStream