Share via


ISpatialAudioMetadataWriter::WriteNextItem 메서드(spatialaudiometadata.h)

지정된 오프셋에서 새 메타데이터 항목을 시작합니다.

구문

HRESULT WriteNextItem(
  [in] UINT16 frameOffset
);

매개 변수

[in] frameOffset

ActivateSpatialAudioMetadataItems대한 frameCount 매개 변수로 지정된 범위 내 항목의 프레임 오프셋입니다.

반환 값

메서드가 성공하면 S_OK가 반환되고, 실패할 경우 가능한 반환 코드는 다음 표에 표시된 값을 포함하지만 이에 국한되지 않습니다.

반환 코드 설명
SPTLAUD_MD_CLNT_E_NO_ITEMS_OPEN
ISpatialAudioMetadataItemsOpen 호출을 사용하여 쓰기 위해 열리지 않았거나 닫기 호출로 쓰기 위해 개체가 닫혔습니다.
SPTLAUD_MD_CLNT_E_FRAMEOFFSET_OUT_OF_RANGE
쓰기 세션에서 작성된 항목 수가 ISpatialAudioClient::ActivateSpatialAudioStream에 전달된 SpatialAudioObjectRenderStreamForMetadataActivationParamMaxMetadataItemCount 필드에 제공된 값보다 큽니다.

frameCount 값이 activateSpatialAudioMetadataItems에 대한 frameCount 매개 변수 값보다 크며 오버플로 모드가 SpatialAudioMetadataWriterOverflow_Fail 설정되었습니다.

E_INVALIDARG
frameOffset의 값은 동일한 쓰기 세션 내에서 WriteNextItem에 대한 이전 호출에서 제공된 값보다 크지 않습니다.

설명

WriteNextItem을 호출하기 전에 개체를 만든 후 Close가 호출된 후Open을 호출하여 쓰기를 위해 ISpatialAudioMetadataWriter를 열어야 합니다. OpenClose 호출로 구분된 쓰기 세션 중에 frameOffset 매개 변수의 값은 이전 호출의 값보다 커야 합니다.

단일 쓰기 세션 내에서 WriteNextItem을 사용하여 ISpatialAudioClient::ActivateSpatialAudioStream에 전달된 SpatialAudioObjectRenderStreamForMetadataActivationParamMaxMetadataItemCount 필드에 제공된 값보다 많은 항목을 작성하면 안 됩니다. 그렇지 않으면 SPTLAUD_MD_CLNT_E_FRAMEOFFSET_OUT_OF_RANGE 오류가 발생합니다.

오버플로 모드가 SpatialAudioMetadataWriterOverflow_Fail 설정된 경우 frameOffset 매개 변수의 값이 activateSpatialAudioMetadataItems에 대한 frameCount 매개 변수 값보다 작아야 합니다. 그렇지 않으면 SPTLAUD_MD_CLNT_E_FRAMEOFFSET_OUT_OF_RANGE 오류가 발생합니다.

WriteNextItem을 호출한 후 WriteNextItemCommand를 호출하여 항목에 대한 메타데이터 명령 및 값 데이터를 작성합니다.

요구 사항

   
대상 플랫폼 Windows
헤더 spatialaudiometadata.h

추가 정보

ISpatialAudioMetadataWriter