Share via


ISpatialAudioObject::SetPosition-Methode (spatialaudioclient.h)

Legt die Position im 3D-Raum relativ zum Listener fest, von dem die ISpatialAudioObject-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 vom Listener und negative Werte auf der linken Seite.

[in] y

Die y-Position des Audioobjekts in Metern relativ zum Listener. Positive Werte befinden sich über dem Listener und negative Werte darunter.

[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, umfassen mögliche Rückgabecodes die in der folgenden Tabelle gezeigten Werte, 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 entweder explizit oder implizit aufgerufen. SetEndOfStream wird implizit vom System aufgerufen, wenn GetBuffer nicht innerhalb eines Audioverarbeitungsdurchlaufs (zwischen Aufrufen von ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects und ISpatialAudioObjectRenderStreamBase::EndUpdatingAudioObjects) aufgerufen wird.

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

Hinweise

Diese Methode kann nur für ein ISpatialAudioObject-Objekt vom Typ AudioObjectType_Dynamic aufgerufen werden. Legen Sie den Typ des Audioobjekts mit dem type-Parameter auf die ISpatialAudioObjectRenderStreamBase::ActivateSpatialAudioObject-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 spatialaudioclient.h

Weitere Informationen

ISpatialAudioObject