Partilhar via


KsStudio - Exemplos de uso

Este tópico fornece três exemplos de uso para solucionar problemas de áudio WDM usando o utilitário KSStudio. Para obter mais informações, consulte Utilitário KSStudio.

Exemplo 1: O áudio parece não funcionar

Cenário:

O desenvolvedor instala o driver de dispositivo de áudio, mas o aplicativo player (por exemplo, Windows Media Player) indica que nenhum dispositivo de áudio está disponível.

Resolução de problemas:

  1. O dispositivo aparece no gerenciador de dispositivos? Se sim, vá para a etapa (2), caso contrário, há um problema com o arquivo INF usado para instalar o dispositivo.

  2. O dispositivo tem um ponto de exclamação amarelo? Se sim, então o dispositivo não foi instalado com êxito (veja as propriedades do dispositivo para obter mais informações), caso contrário, vá para a etapa (3).

  3. Inicie o KSStudio. Enumerar filtros de classe KSCATEGORY_AUDIO e KSCATEGORY_AUDIO_DEVICE. O(s) filtro(s) correspondente(s) ao dispositivo de áudio aparece(m) em KSCATEGORY_AUDIO? Se sim, vá para (4), caso contrário, a fábrica de filtros não está sendo registrada corretamente. A causa mais comum disso é uma incompatibilidade entre o GUID XXX no INF e o GUID XXX no código-fonte do filtro.

  4. Os filtros KSCATEGORY_AUDIO_DEVICE são filtros virtuais que representam partes do gráfico de áudio construído pelo sistema. Para obter mais informações, consulte Kernel-Mode Componentes de áudio WDM e dispositivos de áudio virtual. Em geral, esses filtros virtuais são o que as APIs de nível superior acessam.

Existe uma fábrica de filtros virtual correspondente à fábrica de filtros _AUDIO acima mencionada (será óbvio se existirem)? Se sim, vá para (5), caso contrário, o driver tem um problema que fez com que o sysaudio o rejeitasse. Instanciar o dispositivo _AUDIO correspondente. Isso fará com que o KSStudio analise o filtro. Procure erros (texto vermelho) nas janelas de registo. Examine o filtro na visualização "Objetos instanciados". Compare com um filtro (talvez um dos drivers de exemplo do Kit de Desenvolvimento de Drivers ou um de outro fabricante) que funcione.

  1. Execute mmsys.cpl e veja se algum dispositivo correspondente ao filtro em desenvolvimento é mostrado. Esta é a visualização do dispositivo através das APIs MMSystem. Se nenhum dispositivo é mostrado aqui, então há algo peculiar sobre o dispositivo que fez MMSystem rejeitá-lo. Volte ao KSStudio e instancie a fábrica de filtros virtuais KSCATEGORY_AUDIO_DEVICE correspondente ao seu dispositivo. Procure erros (texto vermelho) nas janelas de registo. Examine o filtro na visualização "Objetos instanciados". Compare com um filtro que está a funcionar (talvez um dos drivers de áudio de exemplo do WDK ou de outro fabricante).

Exemplo 2: Linhas do mixer de áudio estão faltando

Cenário:

O dispositivo de áudio está instalado. Uma ou mais linhas de misturador esperadas estão faltando no SndVol32 (ou outra aplicação de misturador)

Resolução de problemas:

  1. A topologia do filtro parece correta no KSStudio? Inicie o KSStudio e enumere KSCATEGORY_AUDIO. Instancie seu filtro de topologia e escolha a opção Exibir nós na exibição de topologia de objeto. A topologia do filtro parece correta? Em caso afirmativo, repita para o filtro correspondente KSCATEGORY_AUDIO_DEVICE. Se essa topologia parecer razoável, vá para (2), caso contrário, há algum problema no filtro de topologia que impede a expressão da topologia para componentes mais altos na pilha de áudio. Para obter mais informações sobre como a topologia de filtro é convertida em linhas de misturador, consulte a documentação do DDK.

  2. As linhas do misturador aparecem como esperado no MixApp? O MixApp é um aplicativo de exemplo do SDK do Windows muito simples, mas útil. Se as linhas do mixer parecerem corretas no MixApp, mas não no aplicativo mixer problemático citado anteriormente, então é provável que seja um bug do aplicativo.

Exemplo 3: Os controles do mixer de áudio estão ausentes ou não funcionam

Cenário:

Os controles do mixer (MMSystem mixer API) não estão aparecendo ou não parecem funcionar no SndVol32 ou em outro aplicativo mixer.

Resolução de problemas:

  1. Percorra a solução de problemas no Exemplo 2 acima.

  2. O suporte a eventos de hardware parece funcionar no KSStudio? Encontre o nó ou pino que dá suporte ao evento KSEVENT_CONTROL_CHANGE e ative esse evento conforme descrito em KSStudio - KSProperties and Events. Alterne os controles de hardware. Isso deve fazer com que o ícone da lâmpada de evento pisque.

Ver também

Utilitário KSStudio

KSStudio - Fábricas de Filtros e Filtros

KSStudio - Pins and Nodes

KSStudio - KSProperties e Eventos

KSStudio - KS Monitor