Interface ISpatialAudioClient (spatialaudioclient.h)
L’interface ISpatialAudioClient permet à un client de créer des flux audio qui émettent de l’audio à partir d’une position dans l’espace 3D. Cette interface fait partie de Windows Sonic, la plateforme audio de Microsoft pour un son plus immersif qui inclut un son spatial intégré sur Xbox et Windows.
Héritage
L’interface ISpatialAudioClient hérite de l’interface IUnknown . ISpatialAudioClient a également les types de membres suivants :
Méthodes
L’interface ISpatialAudioClient a ces méthodes.
ISpatialAudioClient ::ActivateSpatialAudioStream Active et initialise le flux audio spatial à l’aide de l’une des structures d’activation de flux audio spatial. |
ISpatialAudioClient ::GetMaxDynamicObjectCount Obtient le nombre maximal d’objets audio dynamiques pour le client audio spatial. |
ISpatialAudioClient ::GetMaxFrameCount Obtient le nombre maximal possible de trames par passe de traitement. Cette méthode peut être utilisée pour déterminer la taille de la mémoire tampon source qui doit être allouée pour transmettre des données audio pour chaque passe de traitement. |
ISpatialAudioClient ::GetNativeStaticObjectTypeMask Obtient un masque de canal qui représente le sous-ensemble des canaux de lit d’orateur statiques natifs du moteur de rendu actuel. |
ISpatialAudioClient ::GetStaticObjectPosition Obtient la position dans l’espace 3D du canal audio spatial statique spécifié. |
ISpatialAudioClient ::GetSupportedAudioObjectFormatEnumerator Obtient un IAudioFormatEnumerator qui contient tous les formats audio pris en charge pour les objets audio spatiaux. Le premier élément de la liste représente le format le plus préférable. |
ISpatialAudioClient ::IsAudioObjectFormatSupported Obtient une valeur indiquant si ISpatialAudioObjectRenderStream prend en charge un format spécifié. |
ISpatialAudioClient ::IsspatialAudioStreamAvailable En cas de réussite, obtient une valeur indiquant si le moteur de rendu spatial actuellement actif prend en charge le flux de rendu audio spatial spécifié. |
Remarques
L’exemple de code suivant montre comment initialiser cette interface à l’aide d’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);
Pour les applications UWP qui n’ont pas accès à IMMDevice, vous devez obtenir une instance de ISpatialAudioClient en appelant ActivateAudioInterfaceAsync. Pour obtenir un exemple, consultez l’exemple WindowsAudioSession.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10, version 1703 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2016 (applications de bureau uniquement) |
Plateforme cible | Windows |
En-tête | spatialaudioclient.h |