다음을 통해 공유


IAudioCaptureClient::GetNextPacketSize 메서드(audioclient.h)

GetNextPacketSize 메서드는 캡처 엔드포인트 버퍼의 다음 데이터 패킷에 있는 프레임 수를 검색합니다.

구문

HRESULT GetNextPacketSize(
  [out] UINT32 *pNumFramesInNextPacket
);

매개 변수

[out] pNumFramesInNextPacket

메서드가 프레임 수(다음 캡처 패킷의 오디오 프레임 수)를 쓰는 UINT32 변수에 대한 포인터입니다.

반환 값

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

반환 코드 설명
AUDCLNT_E_DEVICE_INVALIDATED
오디오 엔드포인트 디바이스가 분리되었거나 오디오 하드웨어 또는 관련 하드웨어 리소스가 다시 구성, 비활성화, 제거 또는 사용할 수 없게 되었습니다.
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 오디오 서비스가 실행되고 있지 않습니다.
E_POINTER
pNumFramesInNextPacket 매개 변수는 NULL입니다.

설명

공유 모드 스트림에서만 이 메서드를 사용합니다. 단독 모드 스트림에서는 작동하지 않습니다.

IAudioCaptureClient::GetBuffer 메서드를 호출하여 다음 데이터 패킷을 검색하기 전에 클라이언트는 GetNextPacketSize를 호출하여 다음 패킷의 오디오 프레임 수를 검색할 수 있습니다. GetNextPacketSize에서 보고한 개수는 GetNextPacketSize 호출 뒤에 있는 GetBuffer 호출(pNumFramesToRead 출력 매개 변수를 통해)에서 검색된 수와 일치합니다.

패킷은 항상 정수의 오디오 프레임으로 구성됩니다.

GetNextPacketSize 는 캡처 엔드포인트 버퍼에서 패킷을 가져와서 해제하는 GetBufferIAudioCaptureClient::ReleaseBuffer 메서드 호출과 동일한 스레드에서 호출되어야 합니다.

GetNextPacketSize 메서드를 사용하는 코드 예제는 Stream 캡처를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 audioclient.h

추가 정보

IAudioCaptureClient 인터페이스

IAudioCaptureClient::GetBuffer

IAudioCaptureClient::ReleaseBuffer

IAudioClient::GetCurrentPadding