Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft einen Puffer ab, der zum Bereitstellen der Audiodaten für das ISpatialAudioObject verwendet wird.
Syntax
HRESULT GetBuffer(
[out] BYTE **buffer,
[out] UINT32 *bufferLength
);
Parameter
[out] buffer
Der Puffer, in den Audiodaten geschrieben werden.
[out] bufferLength
Die Länge des Puffers in Bytes. Diese Länge ist der Wert, der im frameCountPerBuffer-Parameter an ISpatialAudioObjectRenderStream::BeginUpdatingAudioObjects zurückgegeben wird, multipliziert mit dem Wert des Felds nBlockAlign der WAVEFORMATEX-Struktur, die in SpatialAudioObjectRenderStreamActivationParams übergeben wird.
parameter to ISpatialAudioClient::ActivateSpatialAudioStream.
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 |
|---|---|
|
ISpatialAudioObjectRenderStream::BeginUpdatingAudioObjects wurde vor dem Aufruf von GetBuffer nicht aufgerufen. Diese Methode muss vor dem ersten Aufruf von GetBuffer und nach jedem nachfolgenden Aufruf von ISpatialAudioObjectRenderStream::EndUpdatingAudioObjects aufgerufen werden. |
|
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 ISpatialAudioObjectRenderStream::BeginUpdatingAudioObjects und ISpatialAudioObjectRenderStream::EndUpdatingAudioObjects) aufgerufen wird. |
Hinweise
Wenn GetBuffer zum ersten Mal aufgerufen wird, nachdem ISpatialAudioObject mit einem Aufruf von ISpatialAudioObjectRenderStream::ActivateSpatialAudioObject aktiviert wurde,
Die Lebensdauer des räumlichen Audioobjekts beginnt.
Damit das räumliche Audioobjekt danach erhalten bleibt, muss dieser GetBuffer bei jedem Verarbeitungsdurchlauf (zwischen Aufrufen von ISpatialAudioObjectRenderStream::BeginUpdatingAudioObjects und ISpatialAudioObjectRenderStream::EndUpdatingAudioObjects) aufgerufen werden. Wenn GetBuffer nicht innerhalb eines Audioverarbeitungsdurchlaufs aufgerufen wird, wird SetEndOfStream implizit für das zu deaktivierende Audioobjekt aufgerufen, und das Audioobjekt kann nur wiederverwendet werden , nachdem Release für das Objekt aufgerufen wurde und das Objekt dann durch erneutes Aufrufen von ActivateSpatialAudioObject reaktiviert wird.
Die von GetBuffer abgerufenen Zeiger sollten nach nicht verwendet werden.
ISpatialAudioObjectRenderStream::EndUpdatingAudioObjects wurde aufgerufen.
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform | Windows |
| Kopfzeile | spatialaudioclient.h |