Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mewakili parameter aktivasi untuk aliran render audio spasial untuk metadata, memperluas SpatialAudioObjectRenderStreamForMetadataActivationParams (spatialaudiometadata.h) dengan kemampuan untuk menentukan opsi streaming.
Sintaks
typedef struct SpatialAudioObjectRenderStreamForMetadataActivationParams2 {
const WAVEFORMATEX *ObjectFormat;
AudioObjectType StaticObjectTypeMask;
UINT32 MinDynamicObjectCount;
UINT32 MaxDynamicObjectCount;
AUDIO_STREAM_CATEGORY Category;
HANDLE EventHandle;
GUID MetadataFormatId;
UINT32 MaxMetadataItemCount;
const PROPVARIANT *MetadataActivationParams;
ISpatialAudioObjectRenderStreamNotify *NotifyObject;
SPATIAL_AUDIO_STREAM_OPTIONS Options;
} SpatialAudioObjectRenderStreamForMetadataActivationParams2;
Anggota
ObjectFormat
Format deskriptor untuk satu objek audio spasial. Semua objek yang digunakan oleh aliran harus memiliki format yang sama dan formatnya 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, ISpatialAudioClient::ActivateSpatialAudioStream akan gagal dengan kesalahan ini SPTLAUDCLNT_E_NO_MORE_OBJECTS.
MaxDynamicObjectCount
Jumlah maksimum objek dinamis bersamaan yang dapat diaktifkan dengan ISpatialAudioObjectRenderStream.
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.
MetadataFormatId
Pengidentifikasi format metadata untuk mesin penyajian spasial yang saat ini aktif.
MaxMetadataItemCount
Jumlah maksimum item metadata per bingkai.
MetadataActivationParams
Parameter aktivasi tambahan.
NotifyObject
Objek yang menyediakan pemberitahuan bagi klien audio spasial untuk merespons perubahan status ISpatialAudioObjectRenderStream. Objek ini digunakan untuk memberi tahu klien bahwa jumlah objek audio spasial dinamis yang dapat diaktifkan secara bersamaan akan berubah.
Options
Anggota emumerasi SPATIAL_AUDIO_STREAM_OPTIONS , menentukan opsi untuk aliran audio yang diaktifkan.
Keterangan
Contoh berikut menunjukkan cara mengaktifkan aliran metadata dengan opsi streaming.
void CreateSpatialAudioObjectRenderStreamForMetadata(
_In_ ISpatialAudioClient2* spatialAudioClient,
_In_ WAVEFORMATEX const* objectFormat,
AudioObjectType staticObjectTypeMask,
UINT32 minDynamicObjectCount,
UINT32 maxDynamicObjectCount,
AUDIO_STREAM_CATEGORY streamCategory,
_In_ HANDLE eventHandle,
REFGUID metadataFormatId,
UINT32 maxMetadataItemCount,
_In_opt_ PROPVARIANT const* metadataActivationParams,
_In_opt_ ISpatialAudioObjectRenderStreamNotify* notifyObject,
bool enableOffload,
_COM_Outptr_ ISpatialAudioObjectRenderStreamForMetadata** stream)
{
SpatialAudioObjectRenderStreamForMetadataActivationParams2 streamActivationParams =
{
objectFormat,
staticObjectTypeMask,
minDynamicObjectCount,
maxDynamicObjectCount,
streamCategory,
eventHandle,
metadataFormatId,
maxMetadataItemCount,
metadataActivationParams,
notifyObject,
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 | spatialaudiometadata.h |