Поделиться через


структура 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) в массиве. Mic 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.

Если один из микрофонов, например, Mic 1, происходит снизу вниз или поднят, то этот микрофон также будет иметь вертикальный угол между его центральной линией и проекцией его центральной линии на плоскость x-y. Этот угол представлен wVerticalAngle.

Дополнительные сведения об обработке массива микрофонов в Windows см. в техническом документе поддержке массива микрофонов в Windows.

Требования

Требование Ценность
заголовка ksmedia.h (include Ksmedia.h)