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 |
各オーディオ データ形式には、上記のスピーカー位置の 1 つ以上のチャネルが含まれています。 チャネルの数は、ActiveSpeakerPositions メンバー内の 0 以外のフラグ ビットの数と単に等しくなります。
オーディオ データの各ブロック内のチャネルの相対位置は、前の表のフラグ ビットと同じ相対順序に常に従います。 たとえば、ActiveSpeakerPositions に0x00000033値が含まれている場合、フォーマットでは、再生用に割り当てられる 4 つのオーディオ チャネルが、それぞれフロントレフ、フロントライト、バック左、およびバック右のスピーカーに定義されます。 チャネル データは、各ブロック内でその順序でインターリーブする必要があります。 (これは、次の 2 つの表の 2 番目に表示される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 |
KSAUDIO_SPEAKER_7POINT1スピーカーの構成は廃止され、サポートされなくなりました。
前の表では、定数KSAUDIO_SPEAKER_DIRECTOUTの値は 0 です。これは、マルチチャネル ストリーム内のチャネルにスピーカーの位置が割り当てられていないことを意味します。 たとえば、チャネル 0 はパーカッションを表し、チャネル 1 はラッパを表し、チャネル 2 は音声を表します。 この構成では、入力ストリーム内のチャネルは、変更を加えずに、スピーカーの位置として解釈されることなく、ハードウェアに直接出力されます。 詳細については、「スピーカー構成 DSSPEAKER_DIRECTOUT を参照してください。
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
16 ビットのサンプル サイズを持つ PCM 形式の場合、オーディオ データの各ブロックは 12 バイトを占有します。これは、次の表に示すように順序付けられています。
バイト | オーディオ データ |
---|---|
0 | 左前 (8 LSB) |
1 | 左前面 (8 MB) |
2 | 前面右 (8 LSB) |
3 | 前面右 (8 MB) |
4 | フロント センター (8 LSB) |
5 | フロント センター (8 MB) |
6 | Low Freq (8 LSB) |
7 | Low Freq (8 MSB) |
8 | 左側 (8 LSB) |
9 | 左側 (8 MB) |
10 | 右側 (8 LSB) |
11 | 右側 (8 MB) |
必要条件
要件 | 価値 |
---|---|
ヘッダー | ksmedia.h (Ksmedia.h を含む) |