Struktur SpatialAudioObjectRenderStreamForMetadataActivationParams2 (spatialaudiometadata.h)

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