다음을 통해 공유


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
ISpatialAudioMetadataItemsOpen 호출을 사용하여 읽기 위해 열리지 않았거나 닫기 호출을 사용하여 쓰기 위해 개체가 닫혔습니다.
SPTLAUD_MD_CLNT_E_NO_MORE_ITEMS
ReadItemCountInFrames 호출에 지정된 프레임 범위에 더 이상 메타데이터 항목이 없습니다.
E_INVALIDARG
제공된 포인터 중 하나가 잘못되었습니다.

설명

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

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

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

요구 사항

   
대상 플랫폼 Windows
헤더 spatialaudiometadata.h

추가 정보

ISpatialAudioMetadataReader