Struttura SpatialAudioHrtfActivationParams2 (spatialaudiohrtf.h)
Rappresenta i parametri di attivazione per un flusso di rendering audio spaziale, estendendo SpatialAudioHrtfActivationParams (spatialaudiohrtf.h) con la possibilità di specificare le opzioni di flusso.
Sintassi
typedef struct SpatialAudioHrtfActivationParams2 {
const WAVEFORMATEX *ObjectFormat;
AudioObjectType StaticObjectTypeMask;
UINT32 MinDynamicObjectCount;
UINT32 MaxDynamicObjectCount;
AUDIO_STREAM_CATEGORY Category;
HANDLE EventHandle;
ISpatialAudioObjectRenderStreamNotify *NotifyObject;
SpatialAudioHrtfDistanceDecay *DistanceDecay;
SpatialAudioHrtfDirectivityUnion *Directivity;
SpatialAudioHrtfEnvironmentType *Environment;
SpatialAudioHrtfOrientation *Orientation;
SPATIAL_AUDIO_STREAM_OPTIONS Options;
} SpatialAudioHrtfActivationParams2;
Members
ObjectFormat
Descrittore di formato per gli oggetti audio spaziali associati al flusso. Tutti gli oggetti devono avere lo stesso formato e devono essere di tipo WAVEFORMATEX o WAVEFORMATEXTENSIBLE.
StaticObjectTypeMask
Combinazione bit per bit dei valori AudioObjectType che indicano il set di canali audio spaziali statici che saranno consentiti dal flusso attivato.
MinDynamicObjectCount
Numero minimo di oggetti dinamici simultanei. Se questo numero di oggetti audio dinamici non può essere attivato contemporaneamente, non verranno attivati oggetti audio dinamici.
MaxDynamicObjectCount
Numero massimo di oggetti dinamici simultanei che possono essere attivati con ISpatialAudioRenderStreamForHrtf.
Category
Categoria del flusso audio e dei relativi oggetti audio spaziali.
EventHandle
Evento che segnalerà il client per fornire altri dati audio. Questo handle verrà duplicato internamente prima di usarlo.
NotifyObject
Oggetto che fornisce notifiche per i client audio spaziali per rispondere alle modifiche nello stato di un ISpatialAudioRenderStreamForHrtf. Questo oggetto viene usato per notificare ai client che il numero di oggetti audio spaziali dinamici che possono essere attivati simultaneamente sta per cambiare.
DistanceDecay
Valore predefinito facoltativo per il modello di decadimento usato per gli oggetti ISpatialAudioObjectForHrtf associati al flusso. Nullptr se inutilizzato.
Directivity
Valore predefinito facoltativo per il modello di directività audio spaziale usato per gli oggetti ISpatialAudioObjectForHrtf associati al flusso. Nullptr se inutilizzato.
Environment
Valore predefinito facoltativo per il tipo di ambiente simulato quando l'audio viene elaborato per gli oggetti ISpatialAudioObjectForHrtf associati al flusso. Nullptr se inutilizzato.
Orientation
Valore predefinito facoltativo per l'orientamento degli oggetti ISpatialAudioObjectForHrtf associati al flusso. Nullptr se inutilizzato.
Options
Membro dell'emulazione SPATIAL_AUDIO_STREAM_OPTIONS , specificando le opzioni per il flusso audio attivato.
Commenti
L'esempio seguente mostra l'attivazione di un flusso di rendering audio spaziale per HRTF con opzioni di flusso.
void CreateSpatialAudioObjectRenderStreamForHrtf(
_In_ ISpatialAudioClient2* spatialAudioClient,
_In_ WAVEFORMATEX const* objectFormat,
AudioObjectType staticObjectTypeMask,
UINT32 minDynamicObjectCount,
UINT32 maxDynamicObjectCount,
AUDIO_STREAM_CATEGORY streamCategory,
_In_ HANDLE eventHandle,
_In_opt_ ISpatialAudioObjectRenderStreamNotify* notifyObject,
_In_opt_ SpatialAudioHrtfDistanceDecay* distanceDecay,
_In_opt_ SpatialAudioHrtfDirectivityUnion* directivity,
_In_opt_ SpatialAudioHrtfEnvironmentType* environment,
_In_opt_ SpatialAudioHrtfOrientation* orientation,
bool enableOffload,
_COM_Outptr_ ISpatialAudioObjectRenderStreamForHrtf** stream)
{
SpatialAudioHrtfActivationParams2 streamActivationParams =
{
objectFormat,
staticObjectTypeMask,
minDynamicObjectCount,
maxDynamicObjectCount,
streamCategory,
eventHandle,
notifyObject,
distanceDecay,
directivity,
environment,
orientation,
enableOffload ? SPATIAL_AUDIO_STREAM_OPTIONS_OFFLOAD : SPATIAL_AUDIO_STREAM_OPTIONS_NONE
};
PROPVARIANT activateParamsPropVariant = {};
activateParamsPropVariant.vt = VT_BLOB;
activateParamsPropVariant.blob.cbSize = sizeof(streamActivationParams);
activateParamsPropVariant.blob.pBlobData = reinterpret_cast<BYTE*>(&streamActivationParams);
*stream = nullptr;
THROW_IF_FAILED(spatialAudioClient->ActivateSpatialAudioStream(&activateParamsPropVariant, IID_PPV_ARGS(stream)));
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Build 22000 |
Intestazione | spatialaudiohrtf.h |