KSAUDIO_MICROPHONE_COORDINATES 結構 (ksmedia.h)

KSAUDIO_MICROPHONE_COORDINATES 結構會指定麥克風數位中單一麥克風的類型和座標。

語法

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 Subid
KSMICARRAY_MICTYPE_CARDIOID 布裡那那
KSMICARRAY_MICTYPE_SUPERCARDIOID 超級
KSMICARRAY_MICTYPE_HYPERCARDIOID 超強型
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 時,它會提供弧度角度測量。

備註

若要進一步瞭解 wHorizontalAnglewVerticalAngle 的描述,請考慮下圖:

此圖顯示陣列中三個麥克風 (Mic 1、Mic 2 和 Mic 3) 。Mic 2 和 Mic 3 彼此平行,其中心線與 x 軸平行,且沒有垂直角度。Mic 1 的中央線與 x 軸不平行,而且也有其方向的垂直角度。

x 成為從麥克風陣列中央指向使用者最可能位置的座標軸,也就是垂直於螢幕。 正向用戶,負數位於畫面後方。 讓 水平 軸垂直於 x 軸的 y,也就是從畫面左邊到右邊。 正面是用戶的權利;負值是使用者的左邊。 讓 z 成為垂直軸。

現在假設陣列中有三個麥克風,如上圖所示。 此外,假設其中一個麥克風 (Mic 1) 以與 x 軸平行的水準方向指向,如透過 Mic 1 的藍色中心線所表示。 現在,當您想像一條透過 (x,y,z) 坐標系統的原點 (0,0,0,0) ,且與 Mic 1 的中心線平行時,您會發現正 X 軸與麥克風中心線在 x-y 平面上的投影之間有水準角度。 這個角度是以 wHorizontalAngle 表示。

如果其中一個麥克風,例如 Mic 1,就會向下切入或向上向上,則此麥克風也會在其中心線與其中心線投影到 x-y 平面之間有垂直角度。 這個角度是以 wVerticalAngle 表示。

如需如何在 Windows 中處理麥克風陣列的詳細資訊,請參閱 Windows 白皮書中的麥克風陣列支援

規格需求

需求
標頭 ksmedia.h (包含 Ksmedia.h)