XAudio2CreateWithSharedContexts
새 XAudio2 개체를 만들고 해당 IXAudio2 인터페이스에 대한 포인터를 반환합니다.구문
매개 변수
ppXAudio2 _Outptr_형식: IXAudio2** 작업이 성공하면 IXAudio2 개체에 대한 포인터를 반환합니다. Flags _In_
형식: UINT32 IXAudio2 개체의 동작을 지정하는 플래그입니다.
XAudio2Processor _In_
형식: XAUDIO2_PROCESSOR 사용할 CPU를 지정하는 XAUDIO2_PROCESSOR 형식 값입니다. XAUDIO2_USE_DEFAULT_PROCESSOR를 전달하면 XAudio2가 런타임에 최적의 프로세서를 선택할 수 있습니다. 프로세서를 지정하면 스케줄러가 스레드를 프로세서 간에 효과적으로 스케줄링하는 능력이 저하될 수 있습니다. 대신 XAUDIO2_USE_DEFAULT_PROCESSOR 값을 전달하세요. SharedShapeContexts _In_
형식: PXAUDIO2_SHARED_SHAPE_CONTEXTS SHARED_SHAPE_CONTEXTS에 대한 포인터입니다. 이 매개 변수는 XBOX One에 특정하며, 타이틀이 XAudio2와 SHAPE 및 XMA 리소스를 공유할 수 있게 합니다. 기본값은 NULL입니다.
반환 값
형식: XAUDIO2_STDAPI 함수가 성공하면S_OK를 반환합니다. 인수 중 하나 이상이 유효하지 않은 경우 함수는 오류 코드를 반환합니다.
설명
XAudio2CreateWithSharedContexts는 XAudio2Create 함수와 동일한 방식으로 작동합니다. XBOX One의 Scalable Hardware Audio Processing Engine(SHAPE) 상태를 여러 IXAudio2 인스턴스 간에 공유할 수 있도록 추가 매개 변수를 하나 더 사용합니다. PXAUDIO2_SHARED_SHAPE_CONTEXTS는 공유 상태에 대한 포인터입니다. XAudio2는 XMA 재생에 SHAPE 컨텍스트를 사용합니다. XMA는 XBOX 360에서 도입된 기능입니다. 게임의 XBOX 360 버전이나 이전의 XBOX One 소프트웨어 개발 키트를 기반으로 하는 XBOX One 게임에서 XMA 오디오를 재생하기 위해 XAudio2를 사용하는 경우, Microsoft Game Development Kit(GDK)가 여전히 XMA 및 SHAPE 컨텍스트를 지원한다는 점을 아는 것이 중요합니다.
XMA 형식의 오디오를 재생하기 위해 앱은 XAudio2CreateWithSharedContexts 플래그를 사용할 필요가 없습니다. XAudio2 인스턴스가 자체적으로 SHAPE 컨텍스트를 만들기 때문입니다. XAudio2CreateWithSharedContexts는 여러 XAudio2 인스턴스를 갖는 앱에 최적화되어 있습니다. 앱이 단일 세트의 SHAPE 컨텍스트를 할당하고 이를 인스턴스 간에 효율적으로 공유할 수 있게 합니다.
XAudio2Processor 매개 변수는 앱이 특정 프로세서를 선택하도록 설계된 경우가 아니라면 시스템이 적절한 프로세서 선택을 하도록 XAUDIO2_USE_DEFAULT_PROCESSOR 포인터를 사용해야 합니다.XAudio2Create 매개 변수와 XAudio2CreateWithSharedContexts 함수는 XMA 형식의 오디오만 재생하는 게임에 적용 가능한 플래그를 사용합니다. XAUDIO2_DO_NOT_USE_SHAPE 플래그를 사용하면 앱은 XMA 콘텐츠 재생에 실패합니다. XBOX 360에서는 XMA 오디오가 소프트웨어 또는 하드웨어에서 디코딩되며 이는 SHAPE 컨텍스트를 필요로 합니다. Microsoft Game Development Kit(GDK)의 새 버전은 하드웨어에서 XMA 디코딩을 지원합니다. 이 플래그를 지정하면 XMA 재생이 사실상 중단됩니다.
함수가 자체 SHAPE 컨텍스트를 호출하는 경우, XAUDIO2_DO_NOT_SHARE_SHAPE_CONTEXTS 플래그를 사용하여 SHAPE 컨텍스트가 해당 XAudio2 인스턴스의 독점적 사용을 위한 것임을 지정합니다. XAudio2가 자체 SHAPE 컨텍스트를 만들 때는 컨텍스트가 공유되므로, SHAPE 컨텍스트를 제공하지 않을 때(예: XAudio2Create를 호출하여) 이 플래그를 지정하는 것은 권장되지 않습니다.
XAUDIO2_EXCLUDE_FROM_GAME_DVR_CAPTURE 플래그도 사용할 수 있습니다. 이 플래그를 설정하면 게임 DVR이 마스터링 음성의 오디오를 녹화하는 것을 방지합니다.
헤더는 또한 AUDCLNT_STREAMFLAGS_EXCLUDE_FROM_GAME_DVR_CAPTURE 플래그를 정의합니다. 이 플래그를 IAudioClient::Initialize에 전달하여 해당 IAudioClient가 재생하는 오디오를 게임 DVR이 녹화하지 못하도록 비활성화하세요. 게임이 XAudio2를 사용하는 경우, 이 목적으로는 XAUDIO2_EXCLUDE_FROM_GAME_DVR_CAPTURE 플래그를 대신 사용하세요.
자세한 내용은 XAudio2 시작하기를 참조하세요.
요구 사항
헤더: xaudio2Xbox.h 라이브러리: xaudio2.lib 지원 플랫폼: XBOX One 제품군 콘솔 및 XBOX Series 콘솔개념 설명서
관련 항목
XAudio2 개요XAudio2 주요 개념
xaudio2xbox
