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::EnumAudioEndpoints 或 IMMDeviceEnumerator::GetDefaultAudioEndpoint。 如果不这样做,将导致调用激活时返回E_NOINTERFACE错误。 EnableSpatialAudio 仅适用于 XDK 游戏,无需为 Xbox One 上运行的通用 Windows 平台应用或任何非 Xbox One 设备调用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10版本 1703 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2016 [仅限桌面应用] |
目标平台 | Windows |
标头 | spatialaudioclient.h |