XAPO 개요
XAPO API를 사용하면 Windows 및 Xbox 360의 XAudio2에서 사용할 XAPO(플랫폼 간 오디오 처리 개체)를 만들 수 있습니다. XAPO는 들어오는 오디오 데이터를 가져와서 데이터를 전달하기 전에 일부 작업을 수행하는 개체입니다. XAPO를 사용하여 오디오 스트림에 반향을 추가하고 최대 볼륨 수준을 모니터링하는 등 다양한 작업을 수행할 수 있습니다.
새 XAPO 만들기
XAPO API는 새 XAPO 형식을 빌드하기 위한 IXAPO 인터페이스 및 CXAPOBase 클래스를 제공합니다. IXAPO 인터페이스에는 새 XAPO를 만들기 위해 구현해야 하는 모든 메서드가 포함되어 있습니다. CXAPOBase 클래스는 IXAPO 인터페이스의 기본 구현을 제공합니다. CXAPOBase는 각 XAPO에 고유한 IXAPO::P rocess 메서드를 제외한 모든 IXAPO 인터페이스 메서드를 구현합니다.
새 XAPO를 만드는 예제는 방법: XAPO 만들기를 참조하세요.
런타임 매개 변수를 허용하는 XAPO를 만드는 예제는 방법: XAPO에 런타임 매개 변수 지원 추가를 참조하세요.
XAPO 및 COM
XAPO는 IUnknown 인터페이스를 구현합니다. IXAPO 및 IXAPOParameters 인터페이스에는 QueryInterface, AddRef 및 Release의 세 가지 IUnknown 메서드가 포함됩니다. CXAPOBase 는 세 가지 IUnknown 메서드의 구현을 모두 제공합니다. CXAPOBase의 새 instance 참조 수는 1입니다. 참조 수가 0이 되면 제거됩니다. IXAPO 및 IXAPOParameters의 구현은 XAudio2와 함께 사용할 때 적절한 관리를 허용하기 위해 동일한 패턴을 따라야 합니다.
XAPO 인스턴스는 IUnknown 인터페이스로 XAudio2에 전달됩니다. XAudio2는 QueryInterface 를 사용하여 IXAPO 인터페이스를 획득하고 XAPO가 IXAPOParameters 인터페이스를 구현하는지 여부를 검색합니다. IXAPO 구현은 __uuidof(IXAPO)에 대한 요청을 수락해야 합니다. IXAPOParameters가 구현된 경우 __uuidof(IXAPOParameters)에 대한 요청도 수락해야 합니다.
XAudio2에서 XAPO 사용
XAPO는 XAudio2에서 음성에 연결하여 사용됩니다. 각 XAudio2 음성에는 0개 이상의 오디오 효과를 포함하는 효과 체인이 있습니다. 음성으로 전송된 오디오 데이터는 음성의 출력 대상으로 전송되기 전에 체인의 각 효과를 통해 전달됩니다. 데이터는 IXAPO::P rocess 메서드의 pInputProcessParameters 매개 변수를 사용하여 음성에서 각 효과로 전달됩니다. 그런 다음 pOutputProcessParameters 매개 변수를 사용하여 음성으로 반환됩니다. 음성은 각 효과의 출력을 받아 체인에 효과가 남아 있지 않을 때까지 체인의 다음 효과로 공급합니다.
XAudio2 효과 체인에 대한 자세한 내용은 XAudio2 오디오 효과를 참조하세요.
XAudio2에서 XAPO를 사용하는 예제는 방법: XAudio2에서 XAPO 사용을 참조하세요.
효과 라이브러리
XAPO 효과 라이브러리에는 여러 XAPO와 이를 인스턴스화하는 일반적인 방법이 포함되어 있습니다. XAPOFX에 대한 자세한 내용은 XAPOFX 개요를 참조하세요. 또한 XAudio2에는 기본 제공 반향 및 볼륨 미터 효과가 있습니다. 기본 제공 XAudio2 효과 에 대한 자세한 내용은 XAudio2 오디오 효과를 참조하세요.
관련 항목