Interfaccia ISpatialAudioClient (spatialaudioclient.h)
L'interfaccia ISpatialAudioClient consente a un client di creare flussi audio che generano audio da una posizione nello spazio 3D. Questa interfaccia fa parte di Windows Sonic, la piattaforma audio di Microsoft per un audio più immersivo che include audio spaziale integrato su Xbox e Windows.
Ereditarietà
L'interfaccia ISpatialAudioClient eredita dall'interfaccia IUnknown . ISpatialAudioClient include anche questi tipi di membri:
Metodi
L'interfaccia ISpatialAudioClient include questi metodi.
ISpatialAudioClient::ActivateSpatialAudioStream Attiva e inizializza il flusso audio spaziale usando una delle strutture di attivazione del flusso audio spaziale. |
ISpatialAudioClient::GetMaxDynamicObjectCount Ottiene il numero massimo di oggetti audio dinamici per il client audio spaziale. |
ISpatialAudioClient::GetMaxFrameCount Ottiene il numero massimo di fotogrammi possibile per ogni passaggio di elaborazione. Questo metodo può essere usato per determinare le dimensioni del buffer di origine allocato per trasmettere dati audio per ogni passaggio di elaborazione. |
ISpatialAudioClient::GetNativeStaticObjectTypeMask Ottiene una maschera di canale che rappresenta il sottoinsieme dei canali del letto di altoparlanti statici nativi al motore di rendering corrente. |
ISpatialAudioClient::GetStaticObjectPosition Ottiene la posizione nello spazio 3D del canale audio spaziale statico specificato. |
ISpatialAudioClient::GetSupportedAudioObjectFormatEnumerator Ottiene un IAudioFormatEnumerator che contiene tutti i formati audio supportati per gli oggetti audio spaziali, il primo elemento nell'elenco rappresenta il formato più preferibile. |
ISpatialAudioClient::IsAudioObjectFormatSupported Ottiene un valore che indica se ISpatialAudioObjectRenderStream supporta un formato specificato. |
ISpatialAudioClient::IsSpatialAudioStreamAvailable In caso di esito positivo, ottiene un valore che indica se il motore di rendering spaziale attualmente attivo supporta il flusso di rendering audio spaziale specificato. |
Commenti
Il codice di esempio seguente illustra come inizializzare questa interfaccia usando 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);
Per le app UWP che non hanno accesso a IMMDevice, è necessario ottenere un'istanza di ISpatialAudioClient chiamando ActivateAudioInterfaceAsync. Per un esempio, vedere l'esempio WindowsAudioSession.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 versione 1703 [solo app desktop] |
Server minimo supportato | Windows Server 2016 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | spatialaudioclient.h |