Поделиться через


Метод 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. В случае сбоя возможные коды возврата включают, но не ограничиваются ими, значения, показанные в следующей таблице.

Код возврата Описание
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
Header spatialaudiometadata.h

См. также раздел

ISpatialAudioMetadataReader