ISpatialAudioClient 接口 (spatialaudioclient.h)

ISpatialAudioClient 接口使客户端能够创建从 3D 空间中某个位置发出音频的音频流。 此界面是 Windows Sonic(Microsoft 的音频平台)的一部分,提供更身临其境的音频,包括 Xbox 和 Windows 上的集成空间音效。

继承

ISpatialAudioClient 接口继承自 IUnknown 接口。 ISpatialAudioClient 也有以下类型的成员:

方法

ISpatialAudioClient 接口具有这些方法。

 
ISpatialAudioClient::ActivateSpatialAudioStream

使用空间音频流激活结构之一激活和初始化空间音频流。
ISpatialAudioClient::GetMaxDynamicObjectCount

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

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

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

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

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

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

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

注解

以下示例代码演示如何使用 IMMDevice 初始化此接口。

HRESULT hr;
Microsoft::WRL::ComPtr<IMMDeviceEnumerator> deviceEnum;
Microsoft::WRL::ComPtr<IMMDevice> defaultDevice;

hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), nullptr, CLSCTX_ALL, __uuidof(IMMDeviceEnumerator), (void**)&deviceEnum);
hr = deviceEnum->GetDefaultAudioEndpoint(EDataFlow::eRender, eMultimedia, &defaultDevice);

Microsoft::WRL::ComPtr<ISpatialAudioClient> spatialAudioClient;
hr = defaultDevice->Activate(__uuidof(ISpatialAudioClient), CLSCTX_INPROC_SERVER, nullptr, (void**)&spatialAudioClient);

对于无权访问 IMMDevice 的 UWP 应用,应通过调用 ActivateAudioInterfaceAsync 获取 ISpatialAudioClient 的实例。 有关示例,请参阅 WindowsAudioSession 示例

注意 在 Xbox One 开发工具包上使用 ISpatialAudioClient 接口 (XDK) 游戏时,必须先调用 EnableSpatialAudio ,然后再调用 IMMDeviceEnumerator::EnumAudioEndpointsIMMDeviceEnumerator::GetDefaultAudioEndpoint。 如果不这样做,将导致调用激活时返回E_NOINTERFACE错误。 EnableSpatialAudio 仅适用于 XDK 游戏,无需为 Xbox One 上运行的通用 Windows 平台应用或任何非 Xbox One 设备调用。
 
若要访问 ActivateAudioIntefaceAsync,需要链接到 mmdevapi.lib。

要求

要求
最低受支持的客户端 Windows 10版本 1703 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
目标平台 Windows
标头 spatialaudioclient.h