다음을 통해 공유


Windows 오디오 아키텍처

이 항목에서는 Windows 10/11 오디오 아키텍처에 대한 대략적인 요약을 제공했습니다.

Windows 10/11 오디오 스택 다이어그램

이 다이어그램은 Windows 10/11 오디오 스택의 주요 요소에 대한 요약을 제공합니다.

앱, 오디오 엔진, 드라이버 및 하드웨어를 포함한 Windows 10/11 오디오 스택을 보여 주는 다이어그램

API

최상위 API

최상위 API는 애플리케이션 개발에 사용됩니다. 이러한 API는 현재 사용 중이며 지원됩니다.

이러한 이전 API는 더 이상 사용되지 않습니다.

하위 수준 API

이러한 하위 수준 API는 오디오 스트리밍에 권장됩니다.

  • WASAPI (고성능이지만 더 복잡함)
  • IXAudio2 (일반적으로 게임에 사용됨)
  • MIDI

이 하위 수준 API는 열거형에 권장됩니다.

이러한 API는 Windows 애플리케이션에는 권장되지 않습니다.

오디오 엔진

오디오 엔진은 오디오 엔진(audioeng.dll)을 로드하는 두 개의 관련 구성 요소인 audiodg.exe(오디오 장치 그래프)로 구성됩니다.

오디오 엔진:

  • 오디오 스트림을 혼합하고 처리합니다. 오디오 엔진이 버퍼를 사용하여 오디오를 전송하는 방법에 대한 자세한 내용은 WaveRT 포트 드라이버 이해를 참조하세요.
  • 오디오 신호를 처리하는 H/W 관련 플러그 인인 API(오디오 처리 개체)를 로드합니다. API에 대한 자세한 내용은 Windows 오디오 처리 개체를 참조 하세요.

오디오 서비스(audiosrv.dll)

오디오 서비스:

  • 오디오 스트림을 설정 및 제어하는 데 사용됩니다.
  • 백그라운드 오디오 재생, 더킹 등에 대한 Windows 정책을 구현합니다.

오디오 엔드포인트 작성기(audioendpointbuilder.exe)

오디오 엔드포인트 작성기(audioendpointbuilder.exe):

  • 새 오디오 디바이스를 검색하고 소프트웨어 오디오 엔드포인트를 만드는 데 사용됩니다. 사용되는 알고리즘에 대한 자세한 내용은 오디오 엔드포인트 작성기 알고리즘을 참조하세요.

오디오 드라이버

오디오 드라이버:

  • 포트 미니포트 모델을 따릅니다. 자세한 내용은 WDM 오디오 용어WaveRT 미니포트 드라이버 개발을 참조하세요.
  • 오디오 스택이 통합 스피커 및 마이크, 헤드셋/헤드폰, USB 장치, Bluetooth 장치, HDMI 등 여러 오디오 장치에서 오디오를 렌더링하고 캡처하도록 허용합니다.
  • 포트 미니포트 모델은 고급 Linux 사운드 아키텍처 ALSA에 해당합니다.
  • 샘플 드라이버 코드에 대한 자세한 내용은 샘플 오디오 드라이버를 참조 하세요.

하드웨어

지정된 디바이스에 있는 오디오 하드웨어는 다양하지만 다음을 포함할 수 있습니다.

  • 오디오 코덱
  • DSP(선택 사항)
  • 통합 스피커, 마이크 등
  • 외부 디바이스: USB 오디오 장치, Bluetooth 오디오 디바이스, HDMI 오디오 등
  • 신호 처리는 API 대신 또는 API 외에 H/W(예: 코덱 또는 DSP)에서 구현할 수도 있습니다.