ISpatialAudioMetadataReader::ReadNextItem 方法 (spatialaudiometadata.h)

获取要读取的元数据项的命令数和样本偏移量。

语法

HRESULT ReadNextItem(
  [out] UINT8  *commandCount,
  [out] UINT16 *frameOffset
);

参数

[out] commandCount

接收正在读取的元数据项中的命令/值对数。

[out] frameOffset

获取与正在读取的元数据项关联的帧偏移量。

返回值

如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。

返回代码 说明
SPTLAUD_MD_CLNT_E_NO_ITEMS_OPEN
尚未打开 ISpatialAudioMetadataItems 以使用对 Open 的调用进行读取,或者已关闭对象以使用对 Close 的调用进行写入。
SPTLAUD_MD_CLNT_E_NO_MORE_ITEMS
在对 ReadItemCountInFrames 的调用中指定的帧范围内没有更多的元数据项。
E_INVALIDARG
提供的指针之一无效。

注解

在调用 ReadNextItem 之前,必须打开 ISpatialAudioMetadataReader 进行读取,方法是在创建对象后和调用 Close 之后调用 Open。 在调用 ReadNextItem 之前,还必须调用 ReadItemCountInFrames。

ISpatialAudioMetadataReader 保留指向与读取器关联的 ISpatialAudioMetadataItems 包含的总帧范围内的当前位置的内部指针。 每次调用此方法都会导致指针按 readFrameCount 参数中指定的帧数提前。

读取命令和关联值的过程是递归的。 每次调用 ReadItemCountInFrames 后,调用 ReadNextItem 以获取下一项中的命令数。 每次调用 ReadNextItem 后,调用 ReadNextItemCommand 以读取项的每个命令。 重复此过程,直到读取 ISpatialAudioMetadataItems 的整个帧范围。

要求

   
目标平台 Windows
标头 spatialaudiometadata.h

另请参阅

ISpatialAudioMetadataReader