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 saber mais, confira Utilitário KSStudio.

Exemplo 1: O áudio não parece funcionar

Cenário:

O desenvolvedor instala o driver de dispositivo de áudio, mas o aplicativo do player (por exemplo, o 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). Se não, 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). Se não, vá para a etapa (3).

  3. Inicie o KSStudio. Enumere filtros de classe KSCATEGORY_AUDIO e KSCATEGORY_AUDIO_DEVICE. O(s) filtro(s) correspondente(s) ao(s) dispositivo(s) de áudio aparece(m) em KSCATEGORY_AUDIO? Se sim, vá para (4). Se não|, 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, WDM, Componentes de Áudio e Dispositivos de áudio virtuais. 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 mencionada (será óbvio se existir)? Se sim, vá para (5). Se não, o driver tem um problema que fez com que o 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 visualização "Objetos instanciados". Compare com um filtro (talvez um dos drivers de exemplo DDK ou um de outro fabricante) que está funcionando.

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

Exemplo 2: Faltam linhas de mixagem de áudio

Cenário:

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

Soluçã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 Vista de Topologia de Objetos. A topologia do filtro parece correta? Em caso afirmativo, repita para o filtro KSCATEGORY_AUDIO_DEVICE correspondente. Se essa topologia parecer razoável, vá para (2). Se não, 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 mixagem, consulte a documentação do DDK.

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

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

Cenário:

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

Solução de problemas:

  1. Passe pela 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 suporta o evento KSEVENT_CONTROL_CHANGE e habilite-o conforme descrito em KSStudio – KSProperties e eventos. Alterne os controles de hardware. Isso deve fazer com que o ícone da lâmpada do evento pisque.

Confira também

Utilitário KSStudio

KSStudio – Filtros e fábricas de filtros

KSStudio – Pinos e nós

KSStudio – KSProperties e eventos

KSStudio – Monitor KS