다중 채널 오디오 읽기

Windows Media Audio 9 Professional 코덱은 다중 채널 오디오(2개 이상의 채널)를 인코딩할 수 있습니다. 다중 채널 오디오가 있는 파일을 읽을 때 출력을 제대로 구성해야 합니다. 그렇지 않으면 오디오가 더 낮은 품질과 스테레오로 전달됩니다. 다중 채널 오디오 배달에 대한 출력을 설정하려면 두 가지 출력 설정 g _ wszEnableDiscreteOutput 및 g _ wszSpeakerConfig를 설정해야 합니다.

g _ wszEnableDiscreteOutput을 TRUE로 설정하여 고화질 오디오 출력을 제공하도록 코덱을 설정합니다. 고화질 오디오는 스테레오 또는 여러 채널의 24비트 샘플이 있는 Windows Media Audio 9 코덱으로 인코딩됩니다. 이 설정이 FALSE이면 16비트 스테레오 출력만 배달됩니다.

재생 중인 컴퓨터의 화자 수는 g _ wszSpeakerConfig로 설정됩니다. 이 설정은 다음 표에 나열된 DirectSound 화자 상수 중 하나로 설정된 DWORD 값입니다. 컴파일러에 대한 이러한 상수 이름을 확인하려면 dsound.h를 포함해야 합니다.

상수 Description
DSSPEAKER _ DIRECTOUT 0x00000000 오디오는 스피커용으로 구성되지 않고 직접 전달됩니다.
DSSPEAKER _ 한정자 0x00000001 클라이언트 컴퓨터에는 액세서리가 설치되어 있습니다.
DSSPEAKER _ MONO 0x00000002 클라이언트 컴퓨터에는 모노럴 화자가 설치되어 있습니다.
DSSPEAKER _ QUAD 0x00000003 클라이언트 컴퓨터에는 사분면 화자가 설치되어 있습니다.
DSSPEAKER _ 스테레오 0x00000004 클라이언트 컴퓨터에 스테레오 스피커가 설치되어 있습니다.
DSSPEAKER _ SURROUND 0x00000005 클라이언트 컴퓨터에는 4채널 서라운드 사운드 스피커가 설치되어 있습니다.
DSSPEAKER _ 5POINT1 0x00000006 클라이언트 컴퓨터에는 5개의 스피커와 1개의 서브워퍼가 있습니다.
DSSPEAKER _ 7POINT1 0x00000007 클라이언트 컴퓨터에는 7개의 스피커와 서브워퍼가 있습니다.

이러한 설정을 지정하려면 IWMReaderAdvanced2::SetOutputSetting을사용합니다.

마지막으로 스테레오로 폴딩하지 않고 채널을 불연속적으로 출력하려면 다음 단계를 수행하여 출력에 올바른 미디어 형식을 설정해야 합니다.

  1. IWMReader::GetOutputFormatCount를 호출하여 관련 오디오 출력에 대해 지원되는 형식의 수를 얻습니다. 출력 형식 인덱스는 0을 기반으로 합니다.
  2. 지원되는 각 형식에 대해 IWMReader::GetOutputFormat을 호출하여 출력 미디어 속성 개체에서 IWMOutputMediaProps 인터페이스를 검색합니다.
  3. IWMMediaProps::GetMediaType을 호출하여 미디어 유형을 검색합니다.
  4. 검색된 미디어 형식이 원하는 다중 채널 형식인 경우 IWMReader::SetOutputProps를 호출하여 설정합니다.

불연속 출력 및 화자 구성을 설정한 후 판독기에서 열거한 출력 형식에는 WAVEFORMATEXTENSIBLE 구조를 사용하는 다중 채널 형식이 포함되어야 합니다. 속성을 설정하기 전에 출력 형식을 열거하는 경우 채널이 1개 또는 2개이고 채널당 최대 16비트인 형식만 포함됩니다. 다른 오디오 형식과 마찬가지로 판독기에서 열거한 형식만 사용해야 합니다. 은 사용자 고유의 구성을 수행하지 않습니다.

참고

애플리케이션이 Microsoft Windows XP 이상 버전의 Microsoft Windows 실행되는 경우에만 다중 채널 오디오를 출력할 수 있습니다.

입력, 스트림 및 출력

ASF 파일 읽기

출력 설정

High-Resolution PCM 오디오 작업