次の方法で共有


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 Speaker Configuration」を参照してください。

5.1 チャネルのサラウンド形式のスピーカー構成は、前の表の定数KSAUDIO_SPEAKER_5POINT1_SURROUNDによって定義されています。 スピーカーの幾何学的なレイアウトを次の図に示します。これは、フロントレフト、フロントライト、フロントセンター、サイドレフト、およびサイドライトスピーカーの位置を示しています。 この図では、非方向性であるため、低周波数スピーカーは省略されています。

5.1チャンネルのサラウンドスピーカー構成を示す図。低周波数スピーカーは表示されません。

この例では、次の一覧に、オーディオ データの各ブロック内の 6 つのチャネルの順序を示します。

  1. SPEAKER_FRONT_LEFT

  2. SPEAKER_FRONT_RIGHT

  3. SPEAKER_FRONT_CENTER

  4. SPEAKER_LOW_FREQUENCY

  5. SPEAKER_SIDE_LEFT

  6. SPEAKER_SIDE_RIGHT

16 ビットのサンプル サイズを持つ PCM 形式の場合、オーディオ データの各ブロックは 12 バイトを占有します。これは、次の表に示すように順序付けされています。

Byte 音声データ
0 Front Left (8 LSB)
1 Front Left (8 MSB)
2 Front Right (8 LSB)
3 Front Right (8 MSB)
4 フロント センター (8 LSB)
5 フロント センター (8 MB)
6 Low Freq (8 LSB)
7 Low Freq (8 MSB)
8 Side Left (8 LSB)
9 Side Left (8 MSB)
10 Side Right (8 LSB)
11 Side Right (8 MSB)

要件

要件
Header ksmedia.h (Ksmedia.h を含む)

こちらもご覧ください

KSPROPERTY_AUDIO_CHANNEL_CONFIG

WAVEFORMATEXTENSIBLE