Partilhar via


estrutura KSAUDIO_MICROPHONE_COORDINATES (ksmedia.h)

A estrutura KSAUDIO_MICROPHONE_COORDINATES especifica o tipo e as coordenadas de um único microfone na matriz de microfone.

Sintaxe

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

Membros

usType

Especifica o tipo de microfone em uso neste local de coordenadas. O valor desse membro é um dos valores de enumeração KSMICARRAY_MICTYPE mostrados na tabela a seguir.

Valor Tipo de microfone
KSMICARRAY_MICTYPE_OMNIDIRECTIONAL Omnidirecional
KSMICARRAY_MICTYPE_SUBCARDIOID Sub cardioide
KSMICARRAY_MICTYPE_CARDIOID Cardióide
KSMICARRAY_MICTYPE_SUPERCARDIOID Super cardioide
KSMICARRAY_MICTYPE_HYPERCARDIOID Hyper cardioid
KSMICARRAY_MICTYPE_8SHAPED 8 formas
KSMICARRAY_MICTYPE_VENDORDEFINED 0x0F

Se o microfone for do tipo KSMICARRAY_MICTYPE_VENDORDEFINED, o valor deverá ser definido como 0x0F. Além disso, os bits mais significativos definirão ainda mais o tipo de microfone.

wXCoord

Especifica a coordenada X assinada do microfone, em milímetros. Os valores aceitáveis variam de -32768 a 32767, inclusive.

wYCoord

Especifica a coordenada Y assinada do microfone, em milímetros. Os valores aceitáveis variam de -32768 a 32767, inclusive.

wZCoord

Especifica a coordenada Z assinada do microfone, em milímetros. Os valores aceitáveis variam de -32768 a 32767, inclusive.

wVerticalAngle

Especifica um valor entre -15708 e +15708. Quando dividido por 10.000, ele fornece uma medida angular radian.

wHorizontalAngle

Especifica um valor entre -31416 e +31416. Quando dividido por 10.000, ele fornece uma medida angular radian.

Comentários

Para entender melhor as descrições de wHorizontalAngle e wVerticalAngle, considere o seguinte diagrama:

Diagrama mostrando três microfones (Microfone 1, Microfone 2 e Microfone 3) em uma matriz. O microfone 2 e o Mic 3 são paralelos entre si com suas linhas central paralelas ao eixo x e sem ângulo vertical para sua orientação. O Microfone 1 tem uma linha central que não é paralela ao eixo x e também tem um ângulo vertical para sua orientação.

Deixe x ser o eixo que aponta do centro da matriz de microfone em direção ao local mais provável do usuário , ou seja, perpendicular à tela. Positivo é para o usuário, negativo está atrás da tela. Deixe y pelo eixo horizontal perpendicular ao eixo x - ou seja, da esquerda da tela para a direita. Positivo é à direita do usuário; negativo é à esquerda do usuário. Deixe z ser o eixo vertical.

Agora suponha que haja três microfones na matriz, conforme mostrado no diagrama anterior. E suponha também que um dos microfones (Microfone 1) seja apontado em uma direção horizontal que não seja paralela ao eixo x, conforme indicado pela linha central azul por meio do Mic 1. Agora, quando você imagina uma linha que percorre a origem (0,0,0) do sistema de coordenadas (x,y,z) e é paralela à linha central do Mic 1, você descobrirá que há um ângulo horizontal entre o eixo x positivo e a projeção da linha central do microfone no plano x-y. Esse ângulo é representado por wHorizontalAngle.

Se um dos microfones, por exemplo, Mic 1, for mergulhado para baixo ou levantado, esse microfone também teria um ângulo vertical entre sua linha central e a projeção de sua linha central no plano x-y. Esse ângulo é representado por wVerticalAngle.

Para obter mais informações sobre como processar uma matriz de microfone no Windows, consulte o suporte à matriz de microfone no white paper do Windows.

Requisitos

Requisito Valor
Cabeçalho ksmedia.h (inclua Ksmedia.h)