ISpatialAudioClient interface
[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]
The ISpatialAudioClient interface enables a client to create audio streams that emit audio from a position in 3D space. This interface is a part of Windows Sonic, Microsoft’s audio platform for more immersive audio which includes integrated spatial sound on Xbox and Windows.
Members
The ISpatialAudioClient interface inherits from the IUnknown interface. ISpatialAudioClient also has these types of members:
Methods
The ISpatialAudioClient interface has these methods.
| Method | Description |
|---|---|
| ActivateSpatialAudioStream |
Activates and initializes spatial audio stream using one of the spatial audio stream activation structures. |
| GetMaxDynamicObjectCount |
Gets the maximum number of dynamic audio objects for the spatial audio client. |
| GetMaxFrameCount |
Gets the maximum possible frame count per processing pass. This method can be used to determine the size of the source buffer that should be allocated to convey audio data for each processing pass. |
| GetNativeStaticObjectTypeMask |
Gets a channel mask which represents the subset of static speaker bed channels native to current rendering engine. |
| GetStaticObjectPosition |
Gets the position in 3D space of the specified static spatial audio channel. |
| GetSupportedAudioObjectFormatEnumerator |
Gets an IAudioFormatEnumerator that contains all supported audio formats for spatial audio objects, the first item in the list represents the most preferable format. |
| IsAudioObjectFormatSupported |
Gets a value indicating whether ISpatialAudioObjectRenderStream supports a the specified format. |
| IsSpatialAudioStreamAvailable |
When successful, gets a value indicating whether the currently active spatial rendering engine supports the specified spatial audio render stream. |
Remarks
Get an instance of this interface by calling ActivateAudioInterfaceAsync, using the __uuidof operator to get the class ID of the ISpatialAudioClient interface. The following example code shows how to initialize this interface.
PROPVARIANT var; PropVariantInit(&var); auto p = reinterpret_cast<SpatialAudioClientActivationParams *>(CoTaskMemAlloc(sizeof(SpatialAudioClientActivationParams))); if (nullptr == p) { ... } p->tracingContextId = /* context identifier */; p->appId = /* app identifier */; p->majorVersion = /* app version info */; p->majorVersionN = /* app version info */; var.vt = VT_BLOB; var.blob.cbSize = sizeof(*p); var.blob.pBlobData = reinterpret_cast<BYTE *>(p); hr = ActivateAudioInterfaceAsync(device, __uuidof(ISpatialAudioClient), &var, ...); // ... ropVariantClear(&var);
To access the ActivateAudioIntefaceAsync, you will need to link to mmdevapi.lib.
Requirements
|
Minimum supported client |
Windows 10, version 1703 [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2016 [desktop apps only] |
|
Header |
|