Share via


ISpatialAudioMetadataReader::ReadNextItemCommand-Methode (spatialaudiometadata.h)

Liest Metadatenbefehle und Wertdaten für das aktuelle Element.

Syntax

HRESULT ReadNextItemCommand(
  [out] BYTE   *commandID,
  [in]  void   *valueBuffer,
  [in]  UINT32 maxValueBufferLength,
  [out] UINT32 *valueBufferLength
);

Parameter

[out] commandID

Empfängt die Befehls-ID für den aktuellen Befehl.

[in] valueBuffer

Ein Zeiger auf einen Puffer, der spezifische Daten für den Befehl empfängt, wie in der Metadatenformatdefinition angegeben. Der Puffer muss mindestens maxValueBufferLength sein, um sicherzustellen, dass alle Befehle erfolgreich abgerufen werden können.

[in] maxValueBufferLength

Die maximale Größe eines Befehlswerts.

[out] valueBufferLength

Die Größe der In den valueBuffer-Parameter geschriebenen Daten in Bytes.

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
SPTLAUD_MD_CLNT_E_NO_ITEMS_OPEN
ISpatialAudioMetadataItems wurde nicht zum Lesen mit einem Aufruf von Open geöffnet, oder das Objekt wurde zum Schreiben mit einem Aufruf von Close geschlossen.
E_INVALIDARG
Einer der bereitgestellten Zeiger ist ungültig.

Hinweise

Vor dem Aufrufen von ReadNextItem müssen Sie den ISpatialAudioMetadataReader zum Lesen öffnen, indem Sie Open aufrufen, nachdem das Objekt erstellt wurde und nachdem Close aufgerufen wurde. Sie müssen auch ReadItemCountInFrames und dann ReadNextItem aufrufen, bevor Sie ReadNextItem aufrufen.

Der ISpatialAudioMetadataReader behält einen internen Zeiger auf die aktuelle Position innerhalb des Gesamtbereichs der Frames bei, die von den ISpatialAudioMetadataItems enthalten sind, denen der Reader zugeordnet ist. Jeder Aufruf dieser Methode bewirkt, dass der Zeiger um die Anzahl von Frames erweitert wird, die im readFrameCount-Parameter angegeben ist.

Der Prozess zum Lesen von Befehlen und den zugeordneten Werten ist rekursiv. Rufen Sie nach jedem Aufruf von ReadItemCountInFramesReadNextItem auf, um die Anzahl der Befehle im nächsten Element abzurufen. Rufen Sie nach jedem Aufruf von ReadNextItemReadNextItemCommand auf, um jeden Befehl für das Element zu lesen. Wiederholen Sie diesen Vorgang, bis der gesamte Framebereich von ISpatialAudioMetadataItems gelesen wurde.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile spatialaudiometadata.h

Weitere Informationen

ISpatialAudioMetadataReader