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,包括 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 为垂直轴。
现在假设数组中有三个麦克风,如上图所示。 此外,假设其中一个麦克风(Mic 1)指向与 x 轴不平行的水平方向,如蓝色中心线通过 Mic 1指示。 现在,当你想象一条穿过(x,y,z)坐标系统的原点(0,0,0)的直线,并且与 Mic 1的中心线平行时,你会发现正 x 轴与麦克风中心线投影到 x-y 平面之间存在水平角度。 此角度由 wHorizontalAngle表示。
如果其中一个麦克风(例如,Mic 1)恰好向下倾斜或向上凸起,则此麦克风的中心线与中心线投影到 x-y 平面上的垂直角度。 此角度由 wVerticalAngle 表示。
有关如何在 Windows 中处理麦克风阵列的详细信息,请参阅 Windows 白皮书中的 麦克风阵列支持。
要求
要求 | 价值 |
---|---|
标头 | ksmedia.h (包括 Ksmedia.h) |