Share via


Método ISpatialAudioMetadataReader::ReadNextItemCommand (spatialaudiometadata.h)

Lê comandos de metadados e dados de valor para o item atual.

Sintaxe

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

Parâmetros

[out] commandID

Recebe a ID do comando atual.

[in] valueBuffer

Um ponteiro para um buffer que recebe dados específicos para o comando, conforme especificado pela definição de formato de metadados. O buffer deve ser pelo menos maxValueBufferLength para garantir que todos os comandos possam ser recuperados com êxito.

[in] maxValueBufferLength

O tamanho máximo de um valor de comando.

[out] valueBufferLength

O tamanho, em bytes, dos dados gravados no parâmetro valueBuffer .

Retornar valor

Se o método for bem-sucedido, retornará S_OK. Se falhar, os códigos de retorno possíveis incluem, mas não se limitam a, os valores mostrados na tabela a seguir.

Código de retorno Descrição
SPTLAUD_MD_CLNT_E_NO_ITEMS_OPEN
O ISpatialAudioMetadataItems não foi aberto para leitura com uma chamada para Open ou o objeto foi fechado para gravação com uma chamada para Fechar.
E_INVALIDARG
Um dos ponteiros fornecidos não é válido.

Comentários

Antes de chamar ReadNextItem, você deve abrir o ISpatialAudioMetadataReader para leitura chamando Open depois que o objeto for criado e depois que Close tiver sido chamado. Você também deve chamar ReadItemCountInFrames e, em seguida, chamar ReadNextItem antes de chamar ReadNextItem.

O ISpatialAudioMetadataReader mantém um ponteiro interno para a posição atual dentro do intervalo total de quadros contidos pelo ISpatialAudioMetadataItems ao qual o leitor está associado. Cada chamada a esse método faz com que o ponteiro seja avançado pelo número de quadros especificado no parâmetro readFrameCount .

O processo para ler comandos e os valores associados é recursivo. Após cada chamada para ReadItemCountInFrames, chame ReadNextItem para obter o número de comandos no próximo item. Após cada chamada para ReadNextItem, chame ReadNextItemCommand para ler cada comando do item. Repita esse processo até que todo o intervalo de quadros do ISpatialAudioMetadataItems seja lido.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho spatialaudiometadata.h

Confira também

ISpatialAudioMetadataReader