Share via


ISpatialAudioMetadataReader::ReadNextItemCommand メソッド (spatialaudiometadata.h)

現在のアイテムのメタデータ コマンドと値データを読み取ります。

構文

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

パラメーター

[out] commandID

現在のコマンドのコマンド ID を受け取ります。

[in] valueBuffer

メタデータ形式定義で指定されたコマンドに固有のデータを受け取るバッファーへのポインター。 すべてのコマンドを正常に取得できるようにするには、バッファーを maxValueBufferLength 以上にする必要があります。

[in] maxValueBufferLength

コマンド値の最大サイズ。

[out] valueBufferLength

valueBuffer パラメーターに書き込まれたデータのサイズ (バイト単位)。

戻り値

メソッドが成功した場合は、S_OK を返します。 エラーが発生した場合、次の表に示す値が、可能なリターン コードに含まれますが、これらに限定されません。

リターン コード 説明
SPTLAUD_MD_CLNT_E_NO_ITEMS_OPEN
ISpatialAudioMetadataItemsOpen の呼び出しで読み取り用に開かれていません。または、Close の呼び出しでオブジェクトが書き込みのために閉じられました。
E_INVALIDARG
指定されたポインターの 1 つが無効です。

注釈

ReadNextItem を呼び出す前に、オブジェクトの作成後と Close の呼び出し後に Open を呼び出して、読み取り用に ISpatialAudioMetadataReader開く必要があります。 ReadItemCountInFrames を呼び出し、ReadNextItem を呼び出す前に ReadNextItem を呼び出す必要もあります。

ISpatialAudioMetadataReader は、リーダーが関連付けられている ISpatialAudioMetadataItems に含まれるフレームの合計範囲内の現在位置への内部ポインターを保持します。 このメソッドを呼び出すたびに、 readFrameCount パラメーターで指定されたフレーム数だけポインターが拡張されます。

コマンドと関連する値を読み取るプロセスは再帰的です。 ReadItemCountInFrames を呼び出すたびに ReadNextItem を呼び出して、次の項目のコマンドの数を取得します。 ReadNextItem を呼び出すたびに ReadNextItemCommand を呼び出して、アイテムの各コマンドを読み取る。 ISpatialAudioMetadataItems のフレーム範囲全体が読み取られるまで、このプロセスを繰り返します。

要件

要件
対象プラットフォーム Windows
ヘッダー spatialaudiometadata.h

こちらもご覧ください

ISpatialAudioMetadataReader