struttura KSAUDIO_MICROPHONE_COORDINATES (ksmedia.h)

La struttura KSAUDIO_MICROPHONE_COORDINATES specifica il tipo e le coordinate di un singolo microfono nella matrice del microfono.

Sintassi

typedef struct {
  USHORT usType;
  SHORT  wXCoord;
  SHORT  wYCoord;
  SHORT  wZCoord;
  SHORT  wVerticalAngle;
  SHORT  wHorizontalAngle;
} KSAUDIO_MICROPHONE_COORDINATES, *PKSAUDIO_MICROPHONE_COORDINATES;

Members

usType

Specifica il tipo di microfono in uso in questa posizione di coordinate. Il valore di questo membro è uno dei valori di enumerazione KSMICARRAY_MICTYPE illustrati nella tabella seguente.

Valore Tipo di microfono
KSMICARRAY_MICTYPE_OMNIDIRECTIONAL Omni direzionale
KSMICARRAY_MICTYPE_SUBCARDIOID Sub cardioid
KSMICARRAY_MICTYPE_CARDIOID Cardioide
KSMICARRAY_MICTYPE_SUPERCARDIOID Super cardioid
KSMICARRAY_MICTYPE_HYPERCARDIOID Hyper cardioid
KSMICARRAY_MICTYPE_8SHAPED A 8 forme
KSMICARRAY_MICTYPE_VENDORDEFINED 0x0F

Se il microfono è di tipo KSMICARRAY_MICTYPE_VENDORDEFINED, il valore deve essere impostato su 0x0F. Inoltre, i bit più significativi definiranno ulteriormente il tipo di microfono.

wXCoord

Specifica la coordinata X firmata del microfono, espressa in millimetri. I valori accettabili sono compresi tra -32768 e 32767 inclusi.

wYCoord

Specifica la coordinata Y firmata del microfono, espressa in millimetri. I valori accettabili sono compresi tra -32768 e 32767 inclusi.

wZCoord

Specifica la coordinata Z firmata del microfono, espressa in millimetri. I valori accettabili sono compresi tra -32768 e 32767 inclusi.

wVerticalAngle

Specifica un valore compreso tra -15708 e +15708. Se diviso per 10.000, dà una misura di angolo radiante.

wHorizontalAngle

Specifica un valore compreso tra -31416 e +31416. Se diviso per 10.000, dà una misura di angolo radiante.

Commenti

Per comprendere meglio le descrizioni per wHorizontalAngle e wVerticalAngle, considerare il diagramma seguente:

Diagramma che mostra tre microfoni (Mic 1, Mic 2 e Mic 3) in una matrice. Mic 2 e Mic 3 sono paralleli tra loro con le linee di centro parallele all'asse x e senza angolo verticale per l'orientamento. Mic 1 ha una linea centrale che non è parallela all'asse x e ha anche un angolo verticale per l'orientamento.

Lasciare che x sia l'asse che punta dal centro della matrice del microfono verso la posizione più probabile dell'utente, ovvero perpendicolare allo schermo. Positivo è verso l'utente, negativo è dietro lo schermo. Lasciare che l'asse orizzontale perpendicolare all'asse x, ovvero da sinistra dello schermo a destra. Positivo è a destra dell'utente; negativo è a sinistra dell'utente. Lasciare che z sia l'asse verticale.

Si supponga ora che nella matrice siano presenti tre microfoni, come illustrato nel diagramma precedente. Si supponga inoltre che uno dei microfoni (Mic 1) sia puntato in una direzione orizzontale che non è parallela all'asse x, come indicato dalla linea centrale blu attraverso Mic 1. Ora, quando si immagina una linea che attraversa l'origine (0,0,0) del sistema di coordinate (x,y,z) ed è parallela alla linea centrale di Mic 1, si scoprirà che c'è un angolo orizzontale tra l'asse x positivo e la proiezione della linea centrale del microfono sul piano x-y. Questo angolo è rappresentato da wHorizontalAngle.

Se uno dei microfoni, ad esempio Mic 1, viene abbassato verso il basso o sollevato, questo microfono avrà anche un angolo verticale tra la linea centrale e la proiezione della linea centrale sul piano x-y. Questo angolo è rappresentato da wVerticalAngle.

Per altre informazioni su come elaborare una matrice di microfoni in Windows, vedere il supporto della matrice di microfoni nel white paper di Windows .

Requisiti

Requisito Valore
Intestazione ksmedia.h (include Ksmedia.h)