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가 반환되고, 실패할 경우 가능한 반환 코드에는 다음 표에 표시된 값이 포함되지만 이에 국한되지는 않습니다.
반환 코드 | 설명 |
---|---|
|
ISpatialAudioMetadataItems가 Open 호출을 사용하여 읽기 위해 열리지 않았거나 닫기 호출을 사용하여 쓰기 위해 개체가 닫혔습니다. |
|
제공된 포인터 중 하나가 잘못되었습니다. |
설명
ReadNextItem을 호출하기 전에 개체를 만든 후 Close가 호출된 후 Open을 호출하여 읽기 위해 ISpatialAudioMetadataReader를 열어야 합니다. ReadItemCountInFrames를 호출한 다음 ReadNextItem을 호출하기 전에 ReadNextItem을 호출해야 합니다.
ISpatialAudioMetadataReader는 판독기가 연결된 ISpatialAudioMetadataItems에 포함된 프레임의 총 범위 내에서 현재 위치에 대한 내부 포인터를 유지합니다. 이 메서드를 호출할 때마다 readFrameCount 매개 변수에 지정된 프레임 수만큼 포인터가 고급화됩니다.
명령 및 관련 값을 읽는 프로세스는 재귀적입니다. ReadItemCountInFrames를 호출할 때마다 ReadNextItem을 호출하여 다음 항목의 명령 수를 가져옵니다. ReadNextItem을 호출할 때마다 ReadNextItemCommand를 호출하여 항목에 대한 각 명령을 읽습니다. ISpatialAudioMetadataItems의 전체 프레임 범위를 읽을 때까지 이 프로세스를 반복합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | spatialaudiometadata.h |