ISpatialAudioMetadataWriter::WriteNextItem メソッド (spatialaudiometadata.h)
指定したオフセットで新しいメタデータ項目を開始します。
構文
HRESULT WriteNextItem(
[in] UINT16 frameOffset
);
パラメーター
[in] frameOffset
ActivateSpatialAudioMetadataItems に対する frameCount パラメーターで指定された範囲内の項目のフレーム オフセット。
戻り値
メソッドが成功した場合は、S_OK を返します。 失敗した場合、次の表に示す値が含まれますが、これに限定されません。
リターン コード | 説明 |
---|---|
|
ISpatialAudioMetadataItems が Open の呼び出しで書き込み用に開かっていないか、Close の呼び出しで書き込みのためにオブジェクトが閉じられました。 |
|
書き込みセッションで書き込まれたアイテムの数が、ISpatialAudioClient::ActivateSpatialAudioStream に渡される SpatialAudioObjectRenderStreamForMetadataActivationParam の MaxMetadataItemCount フィールドに指定された値よりも大きくなります。
frameCount 値が ActivateSpatialAudioMetadataItems の frameCount パラメーターの値より大きく、オーバーフロー モードが SpatialAudioMetadataWriterOverflow_Fail に設定されました。 |
|
frameOffset の値は、同じ書き込みセッション内で WriteNextItem を呼び出した前の呼び出しで指定した値より大きくはありません。 |
解説
WriteNextItem を呼び出す前に、オブジェクトの作成後と Close の呼び出し後に Open を呼び出して、書き込み用に ISpatialAudioMetadataWriterを開く必要があります。 Open と Close の呼び出しによって区切られた書き込みセッション中は、frameOffset パラメーターの値が前の呼び出しの値より大きい必要があります。
単一の書き込みセッションでは、WriteNextItem を使用して、ISpatialAudioClient::ActivateSpatialAudioStream に渡された SpatialAudioObjectRenderStreamForMetadataActivationParam の MaxMetadataItemCount フィールドに指定された値よりも多くの項目を書き込む必要があります。または、SPTLAUD_MD_CLNT_E_FRAMEOFFSET_OUT_OF_RANGE エラーが発生します。
オーバーフロー モードが SpatialAudioMetadataWriterOverflow_Fail に設定されている場合、frameOffset パラメーターの値は、activateSpatialAudioMetadataItems に対する frameCount パラメーターの値より小さくする必要があります。または、SPTLAUD_MD_CLNT_E_FRAMEOFFSET_OUT_OF_RANGE エラーが発生します。
WriteNextItem を呼び出した後、WriteNextItemCommand を呼び出して、アイテムのメタデータ コマンドと値データを書き込みます。
要件
対象プラットフォーム | Windows |
ヘッダー | spatialaudiometadata.h |