KSAUDIO_CHANNEL_CONFIG 구조체(ksmedia.h)
KSAUDIO_CHANNEL_CONFIG 구조는 오디오 스트림의 데이터 형식 내에서 채널의 구성을 지정합니다.
구문
typedef struct {
LONG ActiveSpeakerPositions;
} KSAUDIO_CHANNEL_CONFIG, *PKSAUDIO_CHANNEL_CONFIG;
구성원
ActiveSpeakerPositions
채널 수와 해당 채널을 화자 위치에 할당하도록 지정합니다. 이 멤버는 마스크 내의 각 비트가 특정 화자 위치에 해당하는 비트 마스크입니다. 마스크 비트가 설정된 경우 오디오 스트림에는 마스크 비트가 나타내는 스피커 위치에 할당된 채널이 포함됩니다. 스트림의 채널 수는 비트 마스크에 표시되는 개수 수를 계산하여 가져옵니다. 자세한 내용은 아래 설명 부분을 참조하십시오.
설명
이 구조체는 KSPROPERTY_AUDIO_CHANNEL_CONFIG 속성에 대한 데이터 값을 설정하거나 가져오는 데 사용됩니다.
다음 표에서는 ActiveSpeakerPositions 멤버에 대해 정의된 플래그 비트를 보여 줍니다.
| 화자 위치 | 플래그 비트 |
|---|---|
| SPEAKER_FRONT_LEFT | 0x1 |
| SPEAKER_FRONT_RIGHT | 0x2 |
| SPEAKER_FRONT_CENTER | 0x4 |
| SPEAKER_LOW_FREQUENCY | 0x8 |
| SPEAKER_BACK_LEFT | 0x10 |
| SPEAKER_BACK_RIGHT | 0x20 |
| SPEAKER_FRONT_LEFT_OF_CENTER | 0x40 |
| SPEAKER_FRONT_RIGHT_OF_CENTER | 0x80 |
| SPEAKER_BACK_CENTER | 0x100 |
| SPEAKER_SIDE_LEFT | 0x200 |
| SPEAKER_SIDE_RIGHT | 0x400 |
| SPEAKER_TOP_CENTER | 0x800 |
| SPEAKER_TOP_FRONT_LEFT | 0x1000 |
| SPEAKER_TOP_FRONT_CENTER | 0x2000 |
| SPEAKER_TOP_FRONT_RIGHT | 0x4000 |
| SPEAKER_TOP_BACK_LEFT | 0x8000 |
| SPEAKER_TOP_BACK_CENTER | 0x10000 |
| SPEAKER_TOP_BACK_RIGHT | 0x20000 |
각 오디오 데이터 형식에는 이전 스피커 위치 중 하나 이상에 대한 채널이 포함됩니다. 채널 수는 ActiveSpeakerPositions 멤버의 0이 아닌 플래그 비트 수와 같습니다.
오디오 데이터의 각 블록 내에서 채널의 상대 위치는 항상 이전 표의 플래그 비트와 동일한 상대 순서를 따릅니다. 예를 들어 ActiveSpeakerPositions 에 0x00000033 값이 포함된 경우 이 형식은 각각 왼쪽 앞, 오른쪽 앞, 뒤로, 오른쪽 뒤 스피커로 재생하도록 할당된 4개의 오디오 채널을 정의합니다. 채널 데이터는 각 블록 내에서 해당 순서로 인터리브되어야 합니다. 다음 두 테이블 중 두 번째 테이블에 표시되는 KSAUDIO_SPEAKER_QUAD 구성입니다.
다음 표에서는 DVD에 대해 정의된 화자 구성을 보여 줍니다.
| 구성 | 화자 위치 |
|---|---|
| KSAUDIO_SPEAKER_GROUND_FRONT_LEFT | SPEAKER_FRONT_LEFT |
| KSAUDIO_SPEAKER_GROUND_FRONT_CENTER | SPEAKER_FRONT_CENTER |
| KSAUDIO_SPEAKER_GROUND_FRONT_RIGHT | SPEAKER_FRONT_RIGHT |
| KSAUDIO_SPEAKER_GROUND_REAR_LEFT | SPEAKER_BACK_LEFT |
| KSAUDIO_SPEAKER_GROUND_REAR_RIGHT | SPEAKER_BACK_RIGHT |
| KSAUDIO_SPEAKER_TOP_MIDDLE | SPEAKER_TOP_CENTER |
| KSAUDIO_SPEAKER_SUPER_WOOFER | SPEAKER_LOW_FREQUENCY |
다음 표에서는 DirectSound에 대해 정의된 화자 구성을 보여 줍니다.
| 구성 | 화자 위치 |
|---|---|
| KSAUDIO_SPEAKER_DIRECTOUT | 0(스피커 없음) |
| KSAUDIO_SPEAKER_MONO | (SPEAKER_FRONT_CENTER) |
| KSAUDIO_SPEAKER_STEREO | (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT) |
| KSAUDIO_SPEAKER_QUAD | (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT) |
| KSAUDIO_SPEAKER_SURROUND | (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_BACK_CENTER) |
| KSAUDIO_SPEAKER_5POINT1 | (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT) |
| KSAUDIO_SPEAKER_5POINT1_SURROUND |
(SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT |
SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT) |
| KSAUDIO_SPEAKER_7POINT1 | (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | SPEAKER_FRONT_LEFT_OF_CENTER | SPEAKER_FRONT_RIGHT_OF_CENTER) |
| KSAUDIO_SPEAKER_7POINT1_SURROUND |
(SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT |
SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT) |
5.1 채널 서라운드 형식에 대한 스피커 구성은 앞의 표의 상수 KSAUDIO_SPEAKER_5POINT1_SURROUND 의해 정의됩니다. 다음 그림에서는 스피커의 기하학적 레이아웃을 보여 줍니다. 이 그림에서는 프런트-왼쪽, 앞-오른쪽, 전면 중심, 왼쪽 및 오른쪽 스피커의 위치를 보여 줍니다. 이 그림은 비방향이기 때문에 저주파 스피커를 생략합니다.

이 예제의 경우 다음 목록에서는 오디오 데이터의 각 블록 내에서 6개 채널의 순서를 보여 줍니다.
- SPEAKER_FRONT_LEFT
- SPEAKER_FRONT_RIGHT
- SPEAKER_FRONT_CENTER
- SPEAKER_LOW_FREQUENCY
- SPEAKER_SIDE_LEFT
- SPEAKER_SIDE_RIGHT
| Byte | 오디오 데이터 |
|---|---|
| 0 | 왼쪽 앞면(8LSB) |
| 1 | 왼쪽 앞면(8MB) |
| 2 | 오른쪽 앞(8LSB) |
| 3 | 오른쪽 앞(8MB) |
| 4 | 프런트 센터(8LSB) |
| 5 | 프런트 센터(8MB) |
| 6 | 낮은 프레크(8LSB) |
| 7 | 낮은 Freq(8MB) |
| 8 | 왼쪽(8LSB) |
| 9 | 왼쪽(8MB) |
| 10 | 오른쪽 측면(8LSB) |
| 11 | 오른쪽(8MB) |
요구 사항
| 헤더 | ksmedia.h(Ksmedia.h 포함) |
참조
피드백
다음에 대한 사용자 의견 제출 및 보기