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。 若無法這麼做,會導致從呼叫 Activate 傳回E_NOINTERFACE錯誤。 EnableSpatialAudio 僅適用於 XDK 標題,不需要針對在 Xbox One 上執行的 通用 Windows 平台 應用程式呼叫,也不需要針對任何非 Xbox One 裝置呼叫。
 
若要存取 ActivateAudioIntefaceAsync,您必須連結至 mmdevapi.lib。

規格需求

需求
最低支援的用戶端 Windows 10 版本 1703 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2016 [僅限傳統型應用程式]
目標平台 Windows
標頭 spatialaudioclient.h