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 時,它會提供弧度角度測量。
備註
若要進一步瞭解 wHorizontalAngle 和 wVerticalAngle 的描述,請考慮下圖:
讓 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) |