Alterar o dispositivo de áudio que as teclas de volume do teclado controlam

3

eu tenho Banana Voicemeeter funcionando normalmente, isso significa que é meu dispositivo de áudio padrão no modo exclusivo, então a maioria do meu som é roteado por ele. Isso me dá um grande controle sobre os dispositivos de áudio no meu sistema, virtual ou hardware.

Eu uso as teclas de volume no meu teclado com freqüência. Quando estou usando o Voicemeeter, as teclas de volume ajustam a "entrada do Voicemeeter", que não altera os níveis através do meu fone de ouvido. Então, para alterar os níveis no meu fone de ouvido usb, eu tenho que ir para o mixer de volume do windows, e ajustar o mestre para o dispositivo lá, ou ajustá-lo no voicemeeter. Eu prefiro usar o ajuste do windows, ele vai de 0 a 100 em incrementos de 2, enquanto o voicemeeter vai de -60dB a + 12dB. Mais janelas tem um pequeno popup que mostra o nível de volume, voicemeeter não. Meu volume máximo está definido para o nível do meu fone de ouvido USB, o que significa que eu tenho que transformar meu fone de ouvido para o máximo, e controlar a gosto do voicemeeter. Isso é perigoso quando não estou prestando atenção ao voicemeeter e, acidentalmente, toco algo no volume máximo (doloroso, não divertido).

Voicemeeter me permite ligar as teclas de volume para a saída atribuída ao meu fone de ouvido usb, mas então eu me deparo com o problema de ter que ajustar o voicemeeter.

Eu quero ser capaz de alterar o dispositivo de áudio controlar minhas teclas de volume do teclado.

Agora eu sei que isso é um pouco possível como o meu fone de ouvido USB (sem drivers especiais) tem botões de volume que ajustam os níveis do fone de ouvido usb em um nível de driver, não meu dispositivo padrão que é "Entrada de Voicemeeter" Enquanto minhas teclas de teclado ajustam o nível de "Entrada de Voicemeeter"

Quais comandos estão sendo enviados pelo meu teclado e meu fone de ouvido? Existe uma maneira de descobrir? Nenhum deles está usando drivers especiais. Posso mudar esses comandos? Ou pelo menos mudar como meu sistema reage a eles?

A situação ideal seria a capacidade de definir as teclas de volume para alterar os níveis de "dispositivo de áudio USB", ignorando o dispositivo padrão, "VoiceMeeter Input"

eu encontrei Documentação da Microsoft sobre controle de volume mas eu não posso fazer cara ou coroa disso. Talvez a resposta esteja aqui, se eu soubesse o que procurar.

BLARG
fonte

Respostas:

1

Eu encontrei uma solução! Eu usei uma combinação de nircmd e autohotkey.

Eu usei Nircmd, para os controles de volume específicos do dispositivo e autohokey para as macros.

este é o meu script:

Volume_Up::
    Run, nircmd.exe changesysvolume 1000 USBSpeakers 4
Return

Volume_Down::
    Run, nircmd.exe changesysvolume -1000 USBSpeakers 4
Return

Muito simples, mas o comando nircmd foi um pouco complicado, pois eu precisava renomear meu dispositivo para USBSpeakers e o '4' era necessário, mas não muito óbvio, então houve um pouco de tentativa e erro.

Eu tentei o controle de volume integrado do autohotkey, mas não consegui fazer com que ele funcionasse para nenhum outro dispositivo além do padrão.

Vou tentar refinar essa solução ainda mais, como atualmente estou usando 3 programas diferentes, idealmente gostaria apenas de estar usando o voicemeeter.

BLARG
fonte
Então, qual dispositivo e como você mudou seu nome para "USBSpeakers"? Eu tenho o mesmo problema com dois alto-falantes físicos no meu computador definidos como OUT no VoiceMeeter.
Josh
Mudei o nome do meu fone de ouvido USB para alto-falantes USB e o microfone correspondente para o USBmicrophone. Nas configurações de áudio do Windows, você pode alterar o nome de qualquer dispositivo indo para a primeira guia nas propriedades. O que você quer ser capaz de fazer?
BLARG
Então, eu tenho um Bose SoundLink Mini II (conectado via Bluetooth) e um Harmon SoundSticks (conectado via conector de 3,5 mm). Eu quero poder tocar música através dos dois alto-falantes ao mesmo tempo. Eu consegui fazer isso via VoiceMeeter. No entanto, os botões de volume do teclado não funcionam com o VoiceMeeter (tentei as macros e tudo mais). Eu quero ser capaz de controlar o volume através de controles de volume do teclado. Então, eu estava procurando uma solução e encontrei a sua.
Josh
como @ user258609 dito acima, você pode usar os Macrobuttons do Voicemeeter encontrados nas configurações para controlar o programa com qualquer tecla pressionada. Existe até uma opção de atalho que permite controlar o voicemeeter com os botões. Está sob o menu suspenso e diz "teclas de volume do gancho para os níveis A1".
BLARG
0

O Voicemeeter é instalado com o aplicativo MacroButtons permitindo que você controle anythings (qualquer botão ou slider) no Voicemeeter com qualquer atalho de teclado ... veja o manual do usuário: http://vb-audio.pagesperso-orange.fr/Voicemeeter/VoicemeeterBanana_UserManual.pdf

user258609
fonte
Incrível, isso está se aproximando. Deixa-me ligar as teclas de volume para fazer o que eu quiser, perfeito. controlar o volume parece ser a parte mais difícil. msdn.microsoft.com/pt-br/library/windows/desktop/… existe um comando que eu poderia executar dentro de botões de macro para alterar o volume, ou eu teria que construir o exemplo que a microsoft fornece?
BLARG
se controlar o controle deslizante BUS no Voicemeeter não for suficiente, talvez você também possa enviar o comando keyboard ao Windows, adicionando instruções ao seu script macrobuttons: tente, por exemplo, System.KeyPress ("VOLUMEDOWN"); Consulte "System KeyDown / KeyUp / KeyPress" no manual do usuário ...
user258609
Eu resolvi isso.
BLARG