다음을 통해 공유


IAudioClient::Start 메서드(audioclient.h)

Start 메서드는 오디오 스트림을 시작합니다.

구문

HRESULT Start();

반환 값

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

반환 코드 설명
AUDCLNT_E_NOT_INITIALIZED
오디오 스트림이 성공적으로 초기화되지 않았습니다.
AUDCLNT_E_NOT_STOPPED
시작 호출 시 오디오 스트림이 중지되지 않았습니다.
AUDCLNT_E_EVENTHANDLE_NOT_SET
오디오 스트림은 이벤트 기반 버퍼링을 사용하도록 구성되었지만 호출자가 IAudioClient::SetEventHandle 을 호출하여 스트림에서 이벤트 핸들을 설정하지 않았습니다.
AUDCLNT_E_DEVICE_INVALIDATED
오디오 엔드포인트 디바이스가 분리되었거나 오디오 하드웨어 또는 관련 하드웨어 리소스가 다시 구성, 비활성화, 제거 또는 사용할 수 없게 되었습니다.
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 오디오 서비스가 실행되고 있지 않습니다.

설명

이 메서드를 사용하려면 IAudioClient 인터페이스를 미리 초기화해야 합니다. 이 메서드에 대한 모든 호출은 클라이언트가 IAudioClient::Initialize 메서드를 성공적으로 호출하여 오디오 스트림을 초기화할 때까지 오류 AUDCLNT_E_NOT_INITIALIZED 실패합니다.

Start 는 클라이언트가 오디오 스트림을 시작하기 위해 호출하는 제어 메서드입니다. 스트림을 시작하면 IAudioClient 개체가 엔드포인트 버퍼와 오디오 엔진 간에 데이터 스트리밍을 시작합니다. 또한 스트림의 오디오 클록이 현재 위치에서 계산을 다시 시작하도록 합니다.

스트림을 초기화한 후 이 메서드를 처음 호출하면 IAudioClient 개체의 스트림 위치 카운터가 0에서 시작됩니다. 그렇지 않으면 스트림이 마지막으로 중지된 시점의 위치에서 시계가 다시 시작됩니다. 스트림을 다시 설정하면 스트림 위치가 0으로 다시 설정됩니다.

렌더링 스트림의 시작 결함을 방지하기 위해 클라이언트는 렌더링 인터페이스에서 IAudioRenderClient::GetBuffer 및 IAudioRenderClient::ReleaseBuffer 메서드를 호출하여 오디오 엔진이 처음에 데이터로 로드될 때까지 Start를 호출하지 않아야 합니다.

Start 메서드를 호출하는 코드 예제는 다음 topics 참조하세요.

요구 사항

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

추가 정보

IAudioClient 인터페이스

IAudioClient::Initialize

IAudioRenderClient::GetBuffer

IAudioRenderClient::ReleaseBuffer