다음을 통해 공유


XAudio2 주요 개념

이 개요에서는 XAudio2를 사용하기 위한 몇 가지 주요 개념을 소개합니다.

XAudio2 엔진

IXAudio2 인터페이스는 XAudio2 엔진의 핵심입니다. IXAudio2 인터페이스의 인스턴스를 만들면 클라이언트가 사용 가능한 오디오 디바이스를 열거하고, 전역 API 속성을 구성하고, 음성을 만들고, 성능을 모니터링할 수 있습니다. XAudio2Create 도우미 함수는 XAudio2에 대한 인스턴스화 및 초기화 작업을 수행합니다.

단일 프로세스 내에서 XAudio2 인스턴스를 여러 번 만들 수 있습니다. 각 XAudio2 개체는 독립적으로 작동하며 자체 오디오 처리 스레드가 있습니다. 디버그 설정만 공유됩니다. 이는 여러 구성 요소가 단일 프로세스에서 로드될 수 있는 Windows에서 중요합니다. 예를 들어 Internet Explorer는 여러 XAudio2 구성 요소를 동시에 사용할 수 있습니다. 단일 클라이언트 애플리케이션 내에서 여러 XAudio2 엔진 개체를 만들 수 있지만 해당 그래프 간에 정보를 전달해서는 안 됩니다.

XAudio2 엔진을 초기화하는 예제는 방법: XAudio2초기화를 참조하세요.

목소리

음성은 XAudio2가 오디오 데이터를 처리, 조작 및 재생하는 데 사용하는 개체입니다. XAudio2에는 세 가지 유형의 음성이 있습니다.

  • 소스 음성

    원본 음성은 오디오 데이터의 스트림을 나타냅니다. 원본 음성은 데이터를 다른 유형의 음성으로 보냅니다.

  • 서브믹스 음성

    서브믹스 음성은 수신하는 오디오 데이터의 일부 조작을 수행합니다. 오디오 데이터 조작의 한 가지 예는 샘플 속도 변환일 수 있습니다. 서브믹스 음성이 데이터를 처리한 후 해당 데이터를 다른 서브믹스 음성 또는 마스터 음성에 전달합니다.

  • 음성 마스터링

    마스터 음성은 원본 음성 및 서브믹스 음성에서 데이터를 수신하고 해당 데이터를 오디오 하드웨어로 보냅니다.

XAudio2 음성에 대한 개요는 XAudio2 음성을 참조하세요.

오디오 그래프

오디오 그래프는 XAudio2 음성의 컬렉션입니다. 오디오는 원본 음성에서 오디오 그래프의 한쪽에서 시작하고, 필요에 따라 하나 이상의 서브믹스 음성을 통과하고, 마스터링 음성으로 끝납니다. 오디오 그래프에는 현재 재생 중인 각 소리에 대한 원본 음성, 0개 이상의 서브믹스 음성 및 하나의 마스터링 음성이 포함됩니다. 가장 간단한 오디오 그래프와 XAudio2에서 노이즈를 만드는 데 필요한 최소값은 마스터링 음성으로 직접 출력되는 단일 소스 음성입니다. 방법: XAudio2를 사용하여 사운드 재생 XAudio2를 사용하여 사운드를 재생하는 데 필요한 최소 단계의 예를 참조하세요.

XAudio2 오디오 그래프 개요는 XAudio2 오디오 그래프 참조하세요.

콜백

콜백은 XAudio2가 음성 또는 엔진 개체에서 일부 이벤트가 발생했음을 클라이언트 코드에 알리는 데 사용하는 메커니즘입니다. 오디오 재생은 XAudio2 엔진에서 비동기이므로 콜백은 소리 재생이 완료되는 시기를 결정하는 유일한 방법을 제공합니다.

XAudio2 콜백에 대한 개요는 XAudio2 콜백 참조하세요.

시작하기

XAudio2 버전

사용 방법: XAudio2 초기화

XAudio2로 소리 재생 방법