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:
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) |