XAudio2 주요 개념
이 개요에서는 XAudio2를 사용하기 위한 몇 가지 주요 개념을 소개합니다.
XAudio2 엔진
IXAudio2 인터페이스는 XAudio2 엔진의 핵심입니다. IXAudio2 인터페이스의 instance 만들면 클라이언트가 사용 가능한 오디오 디바이스를 열거하고, 전역 API 속성을 구성하고, 음성을 만들고, 성능을 모니터링할 수 있습니다. XAudio2Create 도우미 함수는 XAudio2에 대한 인스턴스화 및 초기화 작업을 수행합니다.
단일 프로세스 내에서 XAudio2 인스턴스를 여러 번 만들 수 있습니다. 각 XAudio2 개체는 독립적으로 작동하며 자체 오디오 처리 스레드가 있습니다. 디버그 설정만 공유됩니다. 이는 여러 구성 요소가 단일 프로세스에서 로드될 수 있는 Windows에서 중요합니다. 예를 들어 인터넷 Explorer 여러 XAudio2 구성 요소를 동시에 사용할 수 있습니다. 단일 클라이언트 애플리케이션 내에서 여러 XAudio2 엔진 개체를 만들 수 있지만 해당 그래프 간에 정보를 전달해서는 안 됩니다.
XAudio2 엔진을 초기화하는 예제는 방법: XAudio2 초기화를 참조하세요.
음성
음성은 XAudio2에서 오디오 데이터를 처리, 조작 및 재생하는 데 사용하는 개체입니다. XAudio2에는 세 가지 유형의 음성이 있습니다.
-
원본 음성은 오디오 데이터의 스트림을 나타냅니다. 원본 음성은 데이터를 다른 유형의 음성으로 보냅니다.
-
서브믹스 음성은 수신하는 오디오 데이터의 일부 조작을 수행합니다. 오디오 데이터 조작의 한 가지 예는 샘플 속도 변환일 수 있습니다. 서브믹스 음성이 데이터를 처리한 후 해당 데이터를 다른 서브믹스 음성 또는 master 음성에 전달합니다.
-
마스터 음성은 원본 및 서브믹스 음성의 데이터를 결합하고 해당 데이터를 오디오 하드웨어에 보냅니다.
XAudio2 음성에 대한 개요는 XAudio2 음성을 참조하세요.
오디오 그래프
오디오 그래프는 XAudio2 음성의 컬렉션입니다. 오디오는 원본 음성으로 오디오 그래프의 한 쪽에서 시작되고, 필요에 따라 하나 이상의 서브믹스 음성을 통과하며, 마스터링 음성으로 끝납니다. 오디오 그래프에는 현재 재생 중인 각 사운드에 대한 원본 음성, 0개 이상의 서브믹스 음성 및 하나의 마스터링 음성이 포함됩니다. 가장 간단한 오디오 그래프 및 XAudio2에서 노이즈를 만드는 데 필요한 최소값은 마스터 음성으로 직접 출력되는 단일 원본 음성입니다. XAudio2를 사용하여 소리를 재생하는 데 필요한 최소 단계의 예는 방법: XAudio2로 소리 재생을 참조하세요.
XAudio2 오디오 그래프에 대한 개요는 XAudio2 오디오 그래프를 참조하세요.
콜백
콜백은 XAudio2가 음성 또는 엔진 개체에서 일부 이벤트가 발생했음을 클라이언트 코드에 알리는 데 사용하는 메커니즘입니다. 오디오 재생은 XAudio2 엔진에서 비동기적이므로 콜백은 사운드 재생이 완료된 시기를 결정하는 유일한 방법을 제공합니다.
XAudio2 콜백에 대한 개요는 XAudio2 콜백을 참조하세요.
관련 항목