Share via


SpatialAudioObjectRenderStreamForMetadataActivationParams2-Struktur (spatialaudiometadata.h)

Stellt Aktivierungsparameter für einen räumlichen Audiorenderingstream für Metadaten dar und erweitert SpatialAudioObjectRenderStreamForMetadataActivationParams (spatialaudiometadata.h) mit der Möglichkeit, Streamoptionen anzugeben.

Syntax

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;

Member

ObjectFormat

Formatdeskriptor für ein einzelnes räumliches Audioobjekt. Alle vom Stream verwendeten Objekte müssen das gleiche Format aufweisen, und das Format muss vom Typ WAVEFORMATEX oder WAVEFORMATEXTENSIBLE sein.

StaticObjectTypeMask

Eine bitweise Kombination von AudioObjectType-Werten , die den Satz von statischen räumlichen Audiokanälen angibt, die vom aktivierten Stream zugelassen werden.

MinDynamicObjectCount

Die Mindestanzahl gleichzeitiger dynamischer Objekte. Wenn diese Anzahl dynamischer Audioobjekte nicht gleichzeitig aktiviert werden kann, schlägt ISpatialAudioClient::ActivateSpatialAudioStream mit diesem Fehler SPTLAUDCLNT_E_NO_MORE_OBJECTS fehl.

MaxDynamicObjectCount

Die maximale Anzahl gleichzeitiger dynamischer Objekte, die mit ISpatialAudioObjectRenderStream aktiviert werden können.

Category

Die Kategorie des Audiostreams und seiner räumlichen Audioobjekte.

EventHandle

Das Ereignis, das dem Client signalisiert, weitere Audiodaten bereitzustellen. Dieses Handle wird intern dupliziert, bevor es verwendet wird.

MetadataFormatId

Der Bezeichner des Metadatenformats für die derzeit aktive Räumliche Rendering-Engine.

MaxMetadataItemCount

Die maximale Anzahl von Metadatenelementen pro Frame.

MetadataActivationParams

Zusätzliche Aktivierungsparameter.

NotifyObject

Das Objekt, das Benachrichtigungen für räumliche Audioclients bereitstellt, um auf Änderungen im Zustand eines ISpatialAudioObjectRenderStream zu reagieren. Dieses Objekt wird verwendet, um Clients zu benachrichtigen, dass sich die Anzahl dynamischer räumlicher Audioobjekte, die gleichzeitig aktiviert werden können, ändern wird.

Options

Ein Mitglied der SPATIAL_AUDIO_STREAM_OPTIONS Emumeration, wobei Optionen für den aktivierten Audiostream angegeben werden.

Hinweise

Das folgende Beispiel zeigt, wie Sie einen Metadatenstream mit Streamoptionen aktivieren.

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)));
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Build 22000
Kopfzeile spatialaudiometadata.h