структура 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.
Если один из микрофонов, например, Mic 1, происходит снизу вниз или поднят, то этот микрофон также будет иметь вертикальный угол между его центральной линией и проекцией его центральной линии на плоскость x-y. Этот угол представлен wVerticalAngle.
Дополнительные сведения об обработке массива микрофонов в Windows см. в техническом документе поддержке массива микрофонов в Windows.
Требования
Требование | Ценность |
---|---|
заголовка | ksmedia.h (include Ksmedia.h) |