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 | Sub 心形 |
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(包括 32767)。
wYCoord
指定麦克风的有符号 Y 坐标(以毫米为单位)。 可接受的值范围为 -32768 到 32767(包括 32767)。
wZCoord
指定麦克风的有符号 Z 坐标(以毫米为单位)。 可接受的值范围为 -32768 到 32767(包括 32767)。
wVerticalAngle
指定一个介于 -15708 和 +15708 之间的值。 当除以 10,000 时,它提供弧度角度测量。
wHorizontalAngle
指定一个介于 -31416 和 +31416 之间的值。 当除以 10,000 时,它提供弧度角度测量。
注解
若要更好地了解 wHorizontalAngle 和 wVerticalAngle 的说明,请考虑下图:
让 x 为从麦克风阵列中心指向用户最可能的位置的轴,即垂直于屏幕。 正向是针对用户,负值是屏幕后面。 让 y 与 x 轴垂直的水平轴,即从屏幕左侧到右侧。 正是用户的权利;负数是用户的左侧。 让 z 为垂直轴。
现在假设数组中有三个麦克风,如上图所示。 还假设, (麦克风 1) 的麦克风之一指向与 x 轴不平行的水平方向,如 通过麦克风 1 的蓝色中心线所示。 现在,当你想象一条直线穿过 (x,y,z) 坐标系的原点 (0,0,0) ,并且与 麦克风 1 的中心线平行时,你会发现正 x 轴与麦克风中心线在 x-y 平面上的投影之间存在水平角度。 此角度由 wHorizontalAngle 表示。
如果其中一个麦克风(例如 麦克风 1)恰好向下浸入或抬高,则此麦克风的中心线与中心线在 x-y 平面上的投影之间也会有垂直角度。 此角度由 wVerticalAngle 表示。
有关如何在 Windows 中处理麦克风阵列的详细信息,请参阅 Windows 中的麦克风阵列支持 白皮书。
要求
要求 | 值 |
---|---|
Header | ksmedia.h (包括 Ksmedia.h) |