Pergunta

Eu tenho o Windows 7 64 bits Professional Edition em um computador que eu me construí para que não haja fabricante para perguntar. Estou usando uma placa de som a bordo que possui 7.1 e saídas ópticas. A saída óptica é conectada a um amplificador de Denon que controla os alto -falantes.

Eu tenho um sistema de alto -falante conectado ao meu computador através da porta óptica na minha placa de som. Quando uso drivers do Windows padrão, só recebo saída estéreo, então instalei o driver de áudio Realtek HD. Isso me dá um som surround com sucesso, no entanto, ele não vincula isso como um alto -falante padrão; portanto, quando eu conecto os fones de ouvido e os defino como fones de ouvido, nada acontece, o áudio ainda vai ao sistema de alto -falantes e nada para os fones de ouvido.

Descobri que, se desativar o dispositivo de saída digital na lista de dispositivos de reprodução, o áudio é redirecionado automaticamente pelos fones de ouvido. Portanto, tenho tentado encontrar uma maneira de desativar ou habilitar este dispositivo. Eu tenho um teclado programável para que eu possa mapear um programa ou script para uma tecla sobressalente, por isso estou tentando escrever um programa para verificar se o dispositivo está ativado ou desativado, então altere isso para tudo o que não for, se isto é, se desligue e se desativado se desativado e se desativado ligar.

Eu tentei localizar os IDs de hardware que são
1. "Hdaudio func_01 & ven_10ec & dev_0888 & subsys_105ba601"
2. "Hdaudio func_01 & ven_10ec & dev_0888 & subsys_105ba601 & rev_1000"

Eu tinha planejado criar um script em lote usando o DevCon (a linha de comando alternativa ao gerenciador de dispositivos.) Usando o código abaixo para desativar ou ativar o dispositivo

devcon disable "HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601*"
devcon enable "HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601*"

No entanto, o DevCon não desativa esses dispositivos, pois a conexão óptica está na placa de som e só posso desativar toda a placa de som que também desativaria os fones de ouvido.

Estou um pouco perdido sobre o que fazer agora e realmente não quero que meu irmão precise brincar com dispositivos incapacitantes.

Eu estou aberto a quaisquer sugestões. Fico feliz em usar qualquer idioma para fazer isso. Tenho certeza de que deve haver uma maneira de fazer isso em C, mas não consegui localizar nenhuma informação sobre isso. Eu apreciaria quaisquer sugestões. Fico muito feliz em escrever o programa, mas se alguém pudesse pelo menos me apontar na direção certa para uma API ou algo como DevCon ou de alguma maneira em algum idioma para fazer isso. Atualmente, conheço VB6, VB.NET, Script VB, Java e Scripts e PowerShell em lote muito bem e tenho algum conhecimento de C, C ++ e C#.NET.

toda e qualquer ajuda seria apreciada

Atenciosamente
Destro

Foi útil?

Solução

Você pode tentar com isso:

devcon /r disable @"HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601*"
devcon /r enable @"HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601*"

Cumprimentos,

Amigo

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top