структура 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 он дает измерение угла радиана.
Комментарии
Чтобы лучше понять описания wHorizontalAngle и wVerticalAngle, рассмотрим следующую схему:
Пусть x будет осью, которая указывает от центра микрофона к наиболее вероятному расположению пользователя, то есть перпендикулярно экрану. Положительное — по отношению к пользователю, отрицательное — за экраном. Пусть y по горизонтальной оси перпендикулярно оси X, то есть от левой части экрана к правой. Положительное — это право пользователя; отрицательный — слева от пользователя. Пусть z будет вертикальной осью.
Теперь предположим, что в массиве есть три микрофона, как показано на предыдущей схеме. Кроме того, предположим, что один из микрофонов (Mic 1) направлен в горизонтальном направлении, не параллельном оси X, как указано синей центральной линией через Mic 1. Теперь, когда вы представляете линию, которая проходит через начало (0,0,0) системы координат (x,y,z) и параллельна центральной линии Mic 1, вы обнаружите, что существует горизонтальный угол между положительной осью X и проекцией центральной линии микрофона на плоскости x-y. Этот угол представлен wHorizontalAngle.
Если один из микрофонов, например Микрофон 1, будет окунут вниз или поднят вверх, то этот микрофон также будет иметь вертикальный угол между его центральной линией и проекцией его центральной линии на плоскость X-Y. Этот угол представлен wVerticalAngle.
Дополнительные сведения об обработке массива микрофонов в Windows см. в техническом документе Поддержка массива микрофонов в Windows .
Требования
Требование | Значение |
---|---|
Заголовок | ksmedia.h (включая Ksmedia.h) |