次の方法で共有


KSAUDIO_MICROPHONE_COORDINATES構造体 (ksmedia.h)

KSAUDIO_MICROPHONE_COORDINATES構造体は、マイク配列内の 1 つのマイクの種類と座標を指定します。

構文

typedef struct {
  USHORT usType;
  SHORT  wXCoord;
  SHORT  wYCoord;
  SHORT  wZCoord;
  SHORT  wVerticalAngle;
  SHORT  wHorizontalAngle;
} KSAUDIO_MICROPHONE_COORDINATES, *PKSAUDIO_MICROPHONE_COORDINATES;

メンバーズ

usType

この座標位置で使用するマイクの種類を指定します。 このメンバーの値は、次の表に示す KSMICARRAY_MICTYPE 列挙値のいずれかです。

価値 マイクの種類
KSMICARRAY_MICTYPE_OMNIDIRECTIONAL 全方向性
KSMICARRAY_MICTYPE_SUBCARDIOID Sub カーディオイド
KSMICARRAY_MICTYPE_CARDIOID カーディオイド
KSMICARRAY_MICTYPE_SUPERCARDIOID スーパーカーディオイド
KSMICARRAY_MICTYPE_HYPERCARDIOID Hyper カーディオイド
KSMICARRAY_MICTYPE_8SHAPED 8 字形
KSMICARRAY_MICTYPE_VENDORDEFINED 0x0F

マイクの種類がKSMICARRAY_MICTYPE_VENDORDEFINEDの場合は、値を 0x0F に設定する必要があります。 さらに、最上位ビットはマイクの種類をさらに定義します。

wXCoord

マイクの符号付き X 座標をミリメートル単位で指定します。 使用できる値の範囲は、-32768 ~ 32767 です。

wYCoord

マイクの符号付き Y 座標をミリメートル単位で指定します。 使用できる値の範囲は、-32768 ~ 32767 です。

wZCoord

マイクの符号付き Z 座標をミリメートル単位で指定します。 使用できる値の範囲は、-32768 ~ 32767 です。

wVerticalAngle

-15708 ~ +15708 の間の値を指定します。 10,000 で除算すると、ラジアン角度の測定値が得られます。

wHorizontalAngle

-31416 ~ +31416 の間の値を指定します。 10,000 で除算すると、ラジアン角度の測定値が得られます。

備考

wHorizontalAngle と wVerticalAngle の説明を理解するには、次の図を検討してください。

配列内の 3 つのマイク (マイク 1、マイク 2、マイク 3) を示す図。マイク 2 とマイク 3 は、x 軸に平行な中心線を持ち、向きに垂直な角度を持たない互いに平行です。マイク 1 には、x 軸と平行ではない中心線があり、その向きに対する垂直角度もあります。

x、マイク配列の中心からユーザーの最も可能性の高い場所 (画面に対して垂直) を指す軸にします。 肯定はユーザーに向かって、否定的は画面の後ろにあります。 y x 軸に垂直な横軸 (つまり、画面の左から右) で します。 肯定的なのはユーザーの権利です。負の値はユーザーの左側にあります。 z 縦軸にします。

次に、前の図に示すように、配列に 3 つのマイクがあるとします。 また、いずれかのマイク(マイク1)がx軸に平行でない水平方向に向けられていることを想定し、マイク1を通る青色の中心線で示される。 ここで、(x,y,z) 座標系の原点 (0,0,0) を通過し、Mic 1の中心線と平行な線を想像すると、正の x 軸とマイクの中心線の x-y 平面への投影の間に水平方向の角度があることがわかります。 この角度は、wHorizontalAngleで表されます。

マイク 1 など、マイクの 1 つが下にディッピングされたり、上がったりした場合、このマイクは、その中心線と x-y 平面への中心線の投影の間に垂直な角度を持ちます。 この角度は、wVerticalAngleで表されます。

Windows でマイク配列を処理する方法の詳細については、Windows ホワイト ペーパーの マイク配列のサポートを参照してください。

必要条件

要件 価値
ヘッダー ksmedia.h (Ksmedia.h を含む)