Share via


SpatialAudioHrtfActivationParams2-Struktur (spatialaudiohrtf.h)

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

Syntax

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;

Member

ObjectFormat

Formatdeskriptor für räumliche Audioobjekte, die dem Stream zugeordnet sind. Alle Objekte müssen das gleiche Format haben und 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, werden keine dynamischen Audioobjekte aktiviert.

MaxDynamicObjectCount

Die maximale Anzahl gleichzeitiger dynamischer Objekte, die mit ISpatialAudioRenderStreamForHrtf 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.

NotifyObject

Das -Objekt, das Benachrichtigungen für räumliche Audioclients bereitstellt, um auf Änderungen im Zustand eines ISpatialAudioRenderStreamForHrtf 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.

DistanceDecay

Optionaler Standardwert für das Verfallsmodell, das für ISpatialAudioObjectForHrtf-Objekte verwendet wird, die dem Stream zugeordnet sind. nullptr , wenn nicht verwendet.

Directivity

Optionaler Standardwert für das räumliche Audiodirektivitätsmodell, das für ISpatialAudioObjectForHrtf-Objekte verwendet wird, die dem Stream zugeordnet sind. nullptr , wenn nicht verwendet.

Environment

Optionaler Standardwert für den Typ der Umgebung, der bei der Verarbeitung von Audiodaten für dem Stream zugeordnete ISpatialAudioObjectForHrtf-Objekte simuliert wird. nullptr , wenn nicht verwendet.

Orientation

Optionaler Standardwert für die Ausrichtung von ISpatialAudioObjectForHrtf-Objekten , die dem Stream zugeordnet sind. nullptr , wenn nicht verwendet.

Options

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

Hinweise

Im folgenden Beispiel wird die Aktivierung eines räumlichen Audiorenderingstreams für HRTF mit Streamoptionen veranschaulicht.

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

Anforderungen

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