Partager via


Méthode ISpatialAudioClient::ActivateSpatialAudioStream (spatialaudioclient.h)

Active et initialise le flux audio spatial à l’aide de l’une des structures d’activation de flux audio spatial.

Syntaxe

HRESULT ActivateSpatialAudioStream(
  [in]  const PROPVARIANT *activationParams,
  [in]  REFIID            riid,
  [out] void              **stream
);

Paramètres

[in] activationParams

Structure définissant les paramètres d’activation pour le flux audio spatial. Le champ vt doit être défini sur VT_BLOB et le champ d’objet blob doit être rempli avec un SpatialAudioObjectRenderStreamActivationParams ou un SpatialAudioObjectRenderStreamForMetadataActivationParams.

[in] riid

UUID de l’interface de flux audio spatial à activer.

[out] stream

Pointeur vers le pointeur qui reçoit l’interface audio spatiale activée.

Valeur retournée

Si la méthode réussit, retourne S_OK.

Remarques

Cette méthode prend en charge l’activation des interfaces de flux audio spatial suivantes :

ISpatialAudioObjectRenderStream

ISpatialAudioObjectRenderStreamForMetadata

Exemples

Microsoft::WRL::ComPtr<ISpatialAudioClient> spatialAudioClient;

// Activate ISpatialAudioClient on the desired audio-device 
hr = defaultDevice->Activate(__uuidof(ISpatialAudioClient), CLSCTX_INPROC_SERVER, nullptr, (void**)&spatialAudioClient);

hr = spatialAudioClient->IsAudioObjectFormatSupported(&format);

// Create the event that will be used to signal the client for more data
HANDLE bufferCompletionEvent = CreateEvent(nullptr, FALSE, FALSE, nullptr);

SpatialAudioObjectRenderStreamActivationParams streamParams;
streamParams.ObjectFormat = &format;
streamParams.StaticObjectTypeMask = ChannelMask_Stereo;
streamParams.MinDynamicObjectCount = 0;
streamParams.MaxDynamicObjectCount = 0;
streamParams.Category = AudioCategory_SoundEffects;
streamParams.EventHandle = bufferCompletionEvent;
streamParams.NotifyObject = nullptr;

PROPVARIANT activationParams;
PropVariantInit(&activationParams);
activationParams.vt = VT_BLOB;
activationParams.blob.cbSize = sizeof(streamParams);
activationParams.blob.pBlobData = reinterpret_cast<BYTE *>(&streamParams);

Microsoft::WRL::ComPtr<ISpatialAudioObjectRenderStream> spatialAudioStream;
hr = spatialAudioClient->ActivateSpatialAudioStream(&activationParams, __uuidof(spatialAudioStream), (void**)&spatialAudioStream);

Configuration requise

   
Plateforme cible Windows
En-tête spatialaudioclient.h

Voir aussi

ISpatialAudioClient

SpatialAudioObjectRenderStreamActivationParams

SpatialAudioObjectRenderStreamForMetadataActivationParams