다음을 통해 공유


Windows 7의 핵심 오디오 API의 새로운 기능

핵심 오디오 API는 Windows Vista에서 도입되었으며, 클라이언트 애플리케이션이 향상된 오디오 기능으로 오디오 스트림을 렌더링하거나 캡처하는 데 사용할 수 있는 새로운 사용자 모드 오디오 구성 요소 집합을 제공했습니다. 이 API 집합에 대한 일반적인 개요는 Windows Core 오디오 API 정보를 참조하세요.

핵심 오디오 API는 Windows 7에서 개선되었습니다. 다음 표에는 핵심 오디오 API의 새로운 기능과 향상된 기능이 요약되어 있습니다.

기능 Description
일반 개선 사항 Windows 7에서 개선된 기능은 다음과 같습니다.
  • Windows 7 공유 모드 스트림은 짧은 대기 시간 모드로 실행됩니다. 오디오 엔진은 대기 시간을 크게 줄인 끌어오기 모드로 실행됩니다. 이는 더 빠른 스트리밍을 위해 낮은 오디오 스트림 대기 시간이 필요한 통신 애플리케이션에 매우 유용합니다.
  • Windows 7은 새 디바이스가 시스템에 추가되면 더 나은 디바이스 역할 검색을 제공합니다. 자세한 내용은 디바이스 역할 작업을 참조하세요.
  • Windows 7에서는 컴퓨터 스피커를 통해 휴대용 미디어 플레이어의 음악을 들을 수 있습니다. 이 캡처 모니터 기능은 휴대용 미디어 플레이어를 아날로그 오디오 케이블로 컴퓨터에 연결하여 사용할 수 있습니다. 과거에 일부 OEM은 하드웨어 루프백을 사용하여 오디오 드라이버에서 이 기능을 제공했습니다. Windows 7에서는 이 기능이 운영 체제에 추가되었습니다. 드라이버가 아닌 시스템에 있으므로 USB 헤드셋과 같이 시스템에 연결된 다른 장치에 사용할 수 있습니다.
  • HDMI 오디오가 Windows 7에서 향상되어 고비트 속도 형식을 지원합니다. 이러한 향상된 기능을 통해 HDMI 커넥터를 통해 오디오 수신기에 대한 다중 채널 오디오 및 압축 오디오 형식을 지원할 수 있습니다.
  • Windows Vista에서 Windows 미디어 플레이어 사용자가 변경할 수 없는 기본 오디오 디바이스를 통해서만 음악을 재생합니다. Windows 미디어 플레이어 오디오를 특정 디바이스에 렌더링하려면 소리 제어판에서 기본 디바이스를 변경해야 합니다. Windows 7에서 Windows 미디어 플레이어 애플리케이션이 기본 디바이스뿐만 아니라 사용자가 선택한 모든 디바이스에 렌더링할 수 있도록 하는 API를 제공합니다.
  • Windows Vista에서 오디오를 재생하는 컴퓨터가 절전 모드로 전환되면 컴퓨터가 잠기고 사용자가 재생을 중단하려는 경우 사용자가 로그온하여 중지 키를 눌러 재생을 중지해야 합니다. Windows 7에서는 컴퓨터가 잠겨 있는 경우에도 키보드의 HID 컨트롤을 사용하여 재생을 제어할 수 있습니다.
  • Windows 7은 DirectSound 및 DirectShow를 사용하여 미디어를 렌더링하는 모든 애플리케이션의 전력 소비를 줄입니다. 또한 멀티미디어 클래스 스케줄러 서비스는 결함 복원력 있는 오디오를 사용하도록 설정하고 오디오 샘플이 생성되는 동안 더 적은 전력을 사용합니다.
통신 디바이스(신규) 이 릴리스에서는 소리 제어판: 통신 디바이스에 새 디바이스 유형 추가되었습니다. 이 장치는 주로 통신, 즉 컴퓨터에서 전화를 받거나 받는 데 사용됩니다. 통신 애플리케이션은 핵심 오디오 구성 요소를 사용하여 기본 통신 디바이스의 엔드포인트에 대한 참조를 얻고 통신 목적으로 오디오 스트림을 렌더링할 수 있습니다. 운영 체제는 통신 디바이스에서 열린 스트림을 통신 스트림으로 간주합니다. 통신 스트림의 WASAPI 작업은 다른 오디오 스트림과 유사합니다. 자세한 내용은 디바이스 역할 작업을 참조하세요.
스트림 감쇠 또는 오디오 더킹(신규) 자동 더킹 또는 스트림 감쇠 는 VoIP 및 통합 통신 애플리케이션을 위한 Windows 7의 새로운 기능입니다. 기본적으로 운영 체제는 컴퓨터를 통해 통신 장치에서 전화 통화와 같은 통신 스트림을 수신할 때 오디오 스트림의 강도를 줄입니다. 볼륨 옵션은 사용자가 소리 제어판에서 설정합니다. 애플리케이션이 기본 더킹 동작을 대체할 수 있도록 하는 새 API가 Windows SDK에 추가되었습니다. 사용자 지정 더킹 기능을 구현하는 방법에 대한 자세한 내용은 사용자 지정 더킹 동작 제공을 참조하세요.
스트림 라우팅(신규) Windows 7에서는 기존 디바이스에서 새 기본 오디오 엔드포인트로 오디오 스트림을 원활하게 전송하도록 핵심 오디오 API가 개선되었습니다. Media Foundation, DirectSound 및 WAVE API와 같은 핵심 오디오 API를 사용하는 고급 오디오 API 집합은 스트림 라우팅 기능을 구현합니다. 이러한 API 집합을 사용하여 스트림을 재생하거나 캡처하는 미디어 애플리케이션은 기본 구현을 사용하며 애플리케이션을 수정할 필요가 없습니다. 그러나 미디어 애플리케이션이 핵심 오디오 API를 직접 사용하는 경우 애플리케이션은 스트림 라우팅 구현을 제공해야 합니다. 이렇게 하려면 애플리케이션은 기본 디바이스가 연결되거나 제거될 때 WASAPI 클라이언트에 알리는 추가된 새 이벤트를 처리해야 합니다. 이 기능에 대한 자세한 내용은 스트림 라우팅을 참조하세요.
보호된 PUMA(사용자 모드 오디오)(개선됨) 다음 기능을 제공하기 위해 Windows 7용 PUMA가 업데이트되었습니다.
  • S/PDIF 엔드포인트에서 SCMS(직렬 복사 관리 시스템) 비트 및 HDMI(High-Definition 멀티미디어 인터페이스) 엔드포인트에서 HDCP(High-Bandwidth Digital Content Protection) 비트를 설정합니다.
  • PE(보호 환경) 외부에서 SCMS 및 HDMI 보호 컨트롤을 사용하도록 설정합니다.
향상된 기능에 대한 자세한 내용은 PUMA(보호된 사용자 모드 오디오)를 참조하세요.
WAVEFORMATEXTENSIBLE 구조체가 WAVEFORMATEXTENSIBLE_IEC61937 구조체(New)로 확장되었습니다. Windows 7에서는 IEC 61937 전송을 지원하기 위해 새로운 구조가 추가되었습니다. WAVEFORMATEXTENSIBLE_IEC61937WAVEFORMATEXTENSIBLE 구조를 확장하여 두 가지 오디오 스트림 특성 집합, 즉 전송 전 인코딩된 오디오 형식과 디코딩된 후 오디오 스트림의 특성을 저장합니다. 새 구조체는 PCM이 아닌 형식의 유효 채널 수, 샘플 크기 및 데이터 속도를 명시적으로 지정합니다. 이 정보를 사용하면 애플리케이션이 압축 해제되고 재생된 후 PCM이 아닌 스트림의 품질 수준을 유추할 수 있습니다. 자세한 내용은 IEC 61937 Transmissions에 대한 형식 표시를 참조하세요.
IAudioClient::Initialize (개선됨) 오디오 스트림을 여는 동안 발생할 수 있는 특정 오류를 나타내기 위해 IAudioClient::Initialize 메서드가 개선되었습니다. 새 오류 코드는 다음과 같습니다.
  • AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED
  • AUDCLNT_E_BUFFER_SIZE_ERROR
  • AUDCLNT_E_INVALID_DEVICE_PERIOD
이러한 오류에 대한 자세한 내용은 IAudioClient::Initialize의 반환 값 섹션을 참조하세요.
IAudioCaptureClient::GetBufferIAudioRenderClient::GetBuffer (개선됨) IAudioCaptureClient::GetBufferIAudioRenderClient::GetBuffer 메서드가 개선되어 단독 모드의 엔드포인트 버퍼가 검색되지 않음을 나타내는 AUDCLNT_E_BUFFER_ERROR 오류 코드를 반환합니다. 자세한 내용은 IAudioCaptureClient::GetBufferIAudioRenderClient::GetBuffer의 설명을 참조하세요.
잭 검색 기능(개선됨) Windows 7 IKsJackDescription2의 새 인터페이스는 IKsJackDescription을 확장합니다. 새 인터페이스를 사용하면 오디오 스택 또는 애플리케이션에서 추가 잭 정보를 가져올 수 있습니다. 여기에는 잭의 검색 기능과 디바이스 형식이 동적으로 변경되었는지 여부가 포함됩니다.
Windows 샘플(신규) 핵심 오디오 API의 사용을 보여 주는 새 샘플이 Windows SDK에 추가되었습니다. 자세한 내용은 핵심 오디오 API를 사용하는 SDK 샘플을 참조하세요.

 

주요 새 인터페이스

Windows 7의 새로운 인터페이스는 다음과 같습니다.

Windows Core 오디오 API 정보