Share via


ISpatialAudioObjectForHrtf::SetPosition-Methode (spatialaudiohrtf.h)

Legt die Position im 3D-Raum relativ zum Listener fest, aus dem die ISpatialAudioObjectForHrtf-Audiodaten gerendert werden.

Syntax

HRESULT SetPosition(
  [in] float x,
  [in] float y,
  [in] float z
);

Parameter

[in] x

Die x-Position des Audioobjekts in Metern relativ zum Listener. Positive Werte befinden sich rechts neben dem Listener und negative Werte links.

[in] y

Die y-Position des Audioobjekts in Metern relativ zum Listener. Positive Werte liegen über dem Listener und negative Werte unten.

[in] z

Die z-Position des Audioobjekts in Metern relativ zum Listener. Positive Werte befinden sich hinter dem Listener und negative Werte vorn.

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Wenn ein Fehler auftritt, können mögliche Rückgabecodes die in der folgenden Tabelle gezeigten Werte umfassen, sind jedoch nicht darauf beschränkt.

Rückgabecode Beschreibung
SPTLAUDCLNT_E_OUT_OF_ORDER

ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects wurde vor dem Aufruf von SetPosition nicht aufgerufen.

SPTLAUDCLNT_E_RESOURCES_INVALIDATED

SetEndOfStream wurde in einem vorherigen Audioverarbeitungsdurchlauf explizit oder implizit aufgerufen. SetEndOfStream wird implizit vom System aufgerufen, wenn GetBuffer nicht innerhalb eines Audioverarbeitungsdurchlaufs aufgerufen wird (zwischen Aufrufen von ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects und ISpatialAudioObjectRenderStreamBase:EndUpdatingAudioObjects).

SPTLAUDCLNT_E_PROPERTY_NOT_SUPPORTED
ISpatialAudioObjectForHrtf ist nicht vom Typ AudioObjectType_Dynamic. Legen Sie den Typ des Audioobjekts mit dem type-Parameter auf die ISpatialAudioObjectRenderStreamBase::ActivateSpatialAudioObjectForHrtf-Methode fest.

Hinweise

Diese Methode kann nur für ein ISpatialAudioObjectForHrtf vom Typ AudioObjectType_Dynamic aufgerufen werden. Legen Sie den Typ des Audioobjekts mit dem type-Parameter auf die ISpatialAudioObjectRenderStreamForHrtf::ActivateSpatialAudioObjectForHrtf-Methode fest.

Positionswerte verwenden ein rechtshändiges kartesisches Koordinatensystem, wobei jede Einheit 1 Meter darstellt. Das Koordinatensystem ist relativ zum Listener, bei dem der Ursprung (x=0.0, y=0.0, z=0.0) den Mittelpunkt zwischen den Ohren des Listeners darstellt.

Wenn SetPosition nie aufgerufen wird, wird der Ursprung (x=0.0, y=0.0, z=0.0) als Standardposition verwendet. Nachdem SetPosition aufgerufen wurde, wird die festgelegte Position für das Audioobjekt verwendet, bis die Position mit einem weiteren Aufruf von SetPosition geändert wird.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile spatialaudiohrtf.h

Weitere Informationen

ISpatialAudioObjectForHrtf