다음을 통해 공유


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 호출을 사용하여 읽기 위해 열리지 않았거나 닫기 호출을 사용하여 쓰기 위해 개체가 닫혔습니다.
E_INVALIDARG
제공된 포인터 중 하나가 잘못되었습니다.

설명

ReadNextItem을 호출하기 전에 개체를 만든 후 Close가 호출된 후 Open을 호출하여 읽기 위해 ISpatialAudioMetadataReader를 열어야 합니다. ReadItemCountInFrames를 호출한 다음 ReadNextItem을 호출하기 전에 ReadNextItem을 호출해야 합니다.

ISpatialAudioMetadataReader는 판독기가 연결된 ISpatialAudioMetadataItems에 포함된 프레임의 총 범위 내에서 현재 위치에 대한 내부 포인터를 유지합니다. 이 메서드를 호출할 때마다 readFrameCount 매개 변수에 지정된 프레임 수만큼 포인터가 고급화됩니다.

명령 및 관련 값을 읽는 프로세스는 재귀적입니다. ReadItemCountInFrames를 호출할 때마다 ReadNextItem을 호출하여 다음 항목의 명령 수를 가져옵니다. ReadNextItem을 호출할 때마다 ReadNextItemCommand를 호출하여 항목에 대한 각 명령을 읽습니다. ISpatialAudioMetadataItems의 전체 프레임 범위를 읽을 때까지 이 프로세스를 반복합니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 spatialaudiometadata.h

추가 정보

ISpatialAudioMetadataReader