다중 채널 오디오 읽기

Windows Media Audio 9 Professional 코덱은 다중 채널 오디오(두 개 이상의 채널)를 인코딩할 수 있습니다. 다중 채널 오디오를 사용하여 파일을 읽을 때 출력을 올바르게 구성해야 합니다. 그렇지 않으면 오디오가 낮은 품질과 스테레오로 전달됩니다. 다중 채널 오디오 배달에 대한 출력을 설정하려면 두 가지 출력 설정인 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_HEADPHONE 0x00000001 클라이언트 컴퓨터에는 헤드폰이 장착되어 있습니다.
DSSPEAKER_MONO 0x00000002 클라이언트 컴퓨터에는 모노럴 스피커가 장착되어 있습니다.
DSSPEAKER_QUAD 0x00000003 클라이언트 컴퓨터에는 쿼드라포닉 스피커가 장착되어 있습니다.
DSSPEAKER_STEREO 0x00000004 클라이언트 컴퓨터에 스테레오 스피커가 장착되어 있습니다.
DSSPEAKER_SURROUND 0x00000005 클라이언트 컴퓨터에는 4개 채널 서라운드 사운드 스피커가 장착되어 있습니다.
DSSPEAKER_5POINT1 0x00000006 클라이언트 컴퓨터에는 5개의 스피커와 서브우퍼가 장착되어 있습니다.
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 오디오 작업