共用方式為


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 子心形
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 為從麥克風陣列中央指向使用者最可能位置的座標軸,也就是與螢幕垂直。 正向為使用者,負數位於畫面後方。 讓 y 垂直於 x 軸的水平軸 - 也就是從螢幕左側到右邊。 正數是用戶的權利;負數是使用者的左邊。 讓 z 為垂直軸。

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

例如,如果其中一個麥克風,例如 Mic 1,恰好向下切入或向上傾斜,則此麥克風的中心線與其中心線投影到 x-y 平面上也會有垂直角度。 這個角度是由 wVerticalAngle 來表示。

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

要求

要求 價值
標頭 ksmedia.h (包括 Ksmedia.h)