Struktur SpatialAudioHrtfActivationParams2 (spatialaudiohrtf.h)
Mewakili parameter aktivasi untuk aliran render audio spasial, memperluas SpatialAudioHrtfActivationParams (spatialaudiohrtf.h) dengan kemampuan untuk menentukan opsi streaming.
Sintaks
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;
Anggota
ObjectFormat
Format deskriptor untuk objek audio spasial yang terkait dengan aliran. Semua objek harus memiliki format yang sama dan harus berjenis WAVEFORMATEX atau WAVEFORMATEXTENSIBLE.
StaticObjectTypeMask
Kombinasi bitwise dari nilai AudioObjectType yang menunjukkan kumpulan saluran audio spasial statis yang akan diizinkan oleh aliran yang diaktifkan.
MinDynamicObjectCount
Jumlah minimum objek dinamis bersamaan. Jika jumlah objek audio dinamis ini tidak dapat diaktifkan secara bersamaan, tidak ada objek audio dinamis yang akan diaktifkan.
MaxDynamicObjectCount
Jumlah maksimum objek dinamis bersamaan yang dapat diaktifkan dengan ISpatialAudioRenderStreamForHrtf.
Category
Kategori aliran audio dan objek audio spasialnya.
EventHandle
Peristiwa yang akan memberi sinyal kepada klien untuk memberikan lebih banyak data audio. Handel ini akan diduplikasi secara internal sebelum digunakan.
NotifyObject
Objek yang menyediakan pemberitahuan untuk klien audio spasial untuk merespons perubahan status ISpatialAudioRenderStreamForHrtf. Objek ini digunakan untuk memberi tahu klien bahwa jumlah objek audio spasial dinamis yang dapat diaktifkan secara bersamaan akan berubah.
DistanceDecay
Nilai default opsional untuk model pembuangan yang digunakan untuk objek ISpatialAudioObjectForHrtf yang terkait dengan aliran. nullptr jika tidak digunakan.
Directivity
Nilai default opsional untuk model directivitas audio spasial yang digunakan untuk objek ISpatialAudioObjectForHrtf yang terkait dengan aliran. nullptr jika tidak digunakan.
Environment
Nilai default opsional untuk jenis lingkungan yang disimulasikan saat audio diproses untuk objek ISpatialAudioObjectForHrtf yang terkait dengan aliran. nullptr jika tidak digunakan.
Orientation
Nilai default opsional untuk orientasi objek ISpatialAudioObjectForHrtf yang terkait dengan aliran. nullptr jika tidak digunakan.
Options
Anggota emumerasi SPATIAL_AUDIO_STREAM_OPTIONS , menentukan opsi untuk aliran audio yang diaktifkan.
Keterangan
Contoh berikut mendemostrasi pengaktifan aliran render audio spasial untuk HRTF dengan opsi streaming.
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)));
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Build 22000 |
Header | spatialaudiohrtf.h |