Compartilhar via


KsStudio – Exemplos de uso

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

Exemplo 1: o áudio não parece funcionar

Cenário:

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

Soluçã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, o dispositivo não foi instalado com êxito (consulte as propriedades do dispositivo para 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. Os filtros correspondentes ao dispositivo de áudio são exibidos em KSCATEGORY_AUDIO? Se sim, goto (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 grafo de áudio do 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 virtuais 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 sysaudio o rejeitasse. Instancie o dispositivo _AUDIO correspondente. Isso fará com que o KSStudio crie o perfil do filtro. Procure erros (texto vermelho) nas janelas de log. Examine o filtro na exibição "Objetos instanciados". Compare com um filtro (talvez um dos drivers de exemplo do DDK ou um de outro fabricante) que esteja funcionando.

  1. Execute mmsys.cpl e veja se algum dispositivo correspondente ao filtro em desenvolvimento é mostrado. Essa é a exibição do dispositivo por meio das APIs do MMSystem. Se nenhum dispositivo for mostrado aqui, há algo peculiar no dispositivo que fez com que o MMSystem o rejeitasse. Volte para o KSStudio e instancie a fábrica de filtros virtuais da KSCATEGORY_AUDIO_DEVICE correspondente ao seu dispositivo. Procure erros (texto vermelho) nas janelas de log. Examine o filtro na exibição "Objetos instanciados". Compare com um filtro que esteja funcionando (talvez um dos drivers de áudio de amostra do WDK ou um de outro fabricante).

Exemplo 2: As linhas do mixer de áudio estão ausentes

Cenário:

O dispositivo de áudio está instalado. Uma ou mais linhas de mixer esperadas estão ausentes do SndVol32 (ou outro aplicativo de mixer)

Solução de problemas:

  1. A topologia do filtro parece correta no KSStudio? Execute o KSStudio e enumere KSCATEGORY_AUDIO. Crie uma instância do filtro de topologia e escolha a opção Exibir Nós na Visualização de Topologia de Objeto. A topologia de filtro parece correta? Se assim for, repita para o filtro KSCATEGORY_AUDIO_DEVICE correspondente. 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 é traduzida em linhas de mixer, consulte a documentação do DDK.

  2. As linhas do mixer aparecem conforme o 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 de mixer problemático citado anteriormente, provavelmente será um bug de aplicativo.

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

Cenário:

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

Soluçã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 habilite-o seguindo as instruções descritas em KSStudio – KSProperties e Eventos. Alterne os controles de hardware. Isso deve fazer com que o ícone de lâmpada do evento pisque.

Consulte também

Utilitário KSStudio

KSStudio – Fábricas de filtros e filtros

KSStudio – Pinos e nós

KSStudio – KSProperties e Eventos

KSStudio – KS Monitor