High-Resolution PCM 오디오 작업

[이 페이지와 연결된 기능인 Windows Media Format 11 SDK는 레거시 기능입니다. 원본 판독기 및 싱크 작성기에 의해 대체되었습니다. 원본 판독기 및 싱크 작성기는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 Windows Media Format 11 SDK 대신 소스 판독기 및 싱크 기록기를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

Windows Media Audio 9 Professional 코덱 및 Windows Media Audio 9 무손실 코덱의 입력 형식 중 일부는 고해상도 PCM 형식입니다. 두 개 이상의 채널이 있거나 샘플당 16비트 이상인 PCM 형식입니다(채널이 두 개 이상인 오디오를 다중 채널 오디오라고도 함).

이러한 형식은 WAVEFORMATEXTENSIBLE이라는 WAVEFORMATEX 구조체의 구조화된 확장을 사용하여 구성됩니다. WAVEFORMATEXTENSIBLE 구조체에는 오디오에 포함된 채널에 대한 정보가 포함됩니다. 일부 Windows API는 고해상도 값을 포함하는 WAVEFORMATEX 구조를 허용하지 않으므로 이 구조는 고해상도 PCM 오디오를 사용할 때 필요합니다.

고해상도 PCM 형식에는 WAVEFORMATEX 구조체의 cbSize 멤버에 지정된 22바이트의 확장 데이터가 있습니다. 고해상도 Windows Media 오디오 형식은 WAVEFORMATEXTENSIBLE 구조를 사용하지 않지만 WAVEFORMATEX 구조체에 확장된 데이터가 추가되어 있습니다.

Windows Media 오디오 코덱은 애플리케이션이 Windows XP 이상에서 실행되는 경우에만 고해상도 PCM 형식으로 디코딩을 지원합니다. 이전 버전의 Microsoft Windows에서 코덱은 샘플당 최대 16비트와 2개의 채널이 있는 형식으로 디코딩됩니다. 또한 IWMReaderAdvanced2::SetOutputSetting 메서드를 사용하여 g_wszEnableDiscreteOutput 출력 설정을 TRUE로 설정하여 코덱이 고화질 PCM으로 디코딩되도록 지정해야 합니다. 이 호출을 수행한 후 판독기가 열거한 출력에는 고화질 형식이 포함됩니다.

다중 채널 오디오에는 더 많은 구성이 필요합니다. 자세한 내용은 다중 채널 오디오 읽기를 참조하세요.

입력 작업