ISpatialAudioMetadataReader::ReadNextItemCommand 方法 (spatialaudiometadata.h)

讀取目前專案的元數據命令和值數據。

語法

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

參數

[out] commandID

接收目前命令的命令標識碼。

[in] valueBuffer

緩衝區的指標,這個緩衝區會接收元數據格式定義所指定之命令特有的數據。 緩衝區至少必須是 maxValueBufferLength ,以確保可以成功擷取所有命令。

[in] maxValueBufferLength

命令值的大小上限。

[out] valueBufferLength

寫入 valueBuffer 參數的數據大小,以位元組為單位。

傳回值

如果方法成功,它會傳回 S_OK。 如果失敗,可能的傳回碼包括,但不限於下表所示的值。

傳回碼 Description
SPTLAUD_MD_CLNT_E_NO_ITEMS_OPEN
ISpatialAudioMetadataItems 尚未開啟以呼叫 Open 讀取,或對象已關閉以呼叫 Close 寫入。
E_INVALIDARG
其中一個提供的指標無效。

備註

呼叫 ReadNextItem 之前,您必須開啟 ISpatialAudioMetadataReader 以供讀取,方法是在建立對象之後呼叫 Open ,並在呼叫 Close 之後呼叫。 您也必須呼叫 ReadItemCountInFrames,然後在呼叫 ReadNextItem 之前呼叫 ReadNextItem

ISpatialAudioMetadataReader 會將目前位置的內部指標保留在與讀取器相關聯之 ISpatialAudioMetadataItems 所包含之畫面的總計範圍內。 每次呼叫這個方法時,指標都會由 readFrameCount 參數中指定的框架數目進階。

讀取命令和相關聯值的程式會遞歸。 每次呼叫 ReadItemCountInFrames 之後,請呼叫 ReadNextItem 以取得下一個專案中的命令數目。 每次呼叫 ReadNextItem 之後,呼叫 ReadNextItemCommand 以讀取專案的每個命令。 重複此程式,直到讀取 ISpatialAudioMetadataItems 的整個框架範圍為止。

規格需求

需求
目標平台 Windows
標頭 spatialaudiometadata.h

另請參閱

ISpatialAudioMetadataReader