структура 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, рассмотрим следующую схему:

Схема: три микрофона (Mic 1, Mic 2 и Mic 3) в массиве. Микрофоны 2 и Mic 3 параллельны друг другу, их центральные линии расположены параллельно оси X и не имеют вертикального угла для их ориентации. Mic 1 имеет центральную линию, которая не параллельна оси X, а также имеет вертикальный угол к своей ориентации.

Пусть 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)