Come gestisco più dispositivi di riproduzione audio su Windows Vista / 7?


33

Ho altoparlanti (ingresso audio) e cuffie (cuffia USB con la sua scheda audio) collegate al mio computer desktop. In Windows 7, posso fare clic con il pulsante destro del mouse sul Mixer audio e selezionare Dispositivi di riproduzione e alternare tra questi dispositivi.

C'è un modo più semplice, forse una scorciatoia da tastiera, che faciliterebbe la commutazione? Sto lavorando in uno spazio condiviso dove a volte voglio che le cuffie evitino fastidiose altre persone, ma altre volte gli altoparlanti vanno bene. Voglio essere in grado di alternare rapidamente. In un mondo ideale, la soluzione alla mia domanda funzionerebbe anche in Vista.

Risposte:


19

La soluzione a tutti i tuoi fastidiosi problemi di automazione di Windows: AutoIt !

Metti questo AutoIt e compilarlo

;-----Configuration-----
;The title of the sound config window.
Dim $ConfigWindowTitle = "Sound"
;-----End of configuration----

Dim $ItemNumber = 1
If $CmdLine[0] >= 1 Then ;If we have a parameter...
    $ItemNumber = $CmdLine[1] ;...we should press the button the specified number of times.
EndIf

Run("control mmsys.cpl") ;Run the sound control applet and hide it.

WinWaitActive($ConfigWindowTitle) ;Wait for it to be active before sending keystrokes.

Send("{TAB}{TAB}{TAB}{TAB}") ;Put the focus on the list

For $i = 1 to $ItemNumber Step 1
    Send("{DOWN}")
Next

Send("!s") ;Press Alt + S to set the selected device as the default.
WinClose($ConfigWindowTitle)

Ora crea un collegamento e nella destinazione inserisci il percorso dell'eseguibile compilato. Per un argomento, inserisci il numero del dispositivo audio nell'elenco a cui desideri passare. (per passare alla prima voce dell'elenco, inserisci 1, la seconda voce dell'elenco, inserisci 2, ecc.). Se si desidera una scorciatoia da tastiera, utilizzare il campo Tasto scorciatoia nella finestra delle proprietà della scorciatoia.

Stavo cercando qualcosa per fare quello che volevi fare e ho scoperto che non c'è modo programmatico di cambiare i dispositivi audio in Vista / 7. Non è qualcosa che Microsoft ha deciso che i programmatori devono fare, quindi creo questo script per automatizzare il processo. Non è il massimo poiché apre la finestra per cambiare il dispositivo (necessario), ma consente di creare collegamenti per cambiare il dispositivo di uscita per il tuo suono.


2
Questa è forse la risposta più utile che devo ancora trovare su questo intero sito! Grazie ancora per questo ....
JL.

Fantastico, funziona benissimo.
WerkkreW,

9

Secondo me, il cambia audio predefinito è attualmente la soluzione migliore.

Utilizza chiamate di sistema non documentate invece di simulare le pressioni della tastiera, il che significa che puoi usarlo in applicazioni a schermo intero senza preoccupazioni.


Ottima idea, ma non solo non ha funzionato, ora il mio auricolare non viene rilevato affatto quando è collegato. :(
Nick Spreitzer

2
Altamente raccomandato! 10 volte meglio di uno script AutoIt. Dovrebbe essere la risposta accettata, davvero.
Otiel,

2
I file di installazione sono qui: sourceforge.net/projects/defaultaudiocha/files Wow, questa è probabilmente la soluzione di switch per dispositivi di riproduzione più pulita che abbia mai visto !! +1
Geo

4

@Dan Walker Bella soluzione, ma non perfetta;)

Questo script utilizza l'esistenza di un file per eseguire effettivamente un interruttore, quindi è possibile utilizzare lo stesso collegamento per passare da un dispositivo di riproduzione all'altro. È solo una semplice modifica:

;-----Configuration-----
;The title of the sound config window.
Dim $ConfigWindowTitle = "Sound"
;-----End of configuration----

Dim $ItemNumber = 1 ; The first itme in the audio list

If FileExists ("a") Then; Use the existence of a file to know if we should toggle
    FileDelete("a")
    $ItemNumber = 3 ; The audio playback device you want to toggle to
Else
    FileOpen("a", 1)
    FileClose("a")
EndIf

Run("control mmsys.cpl") ;Run the sound control applet and hide it.

WinWaitActive($ConfigWindowTitle) ;Wait for it to be active before sending keystrokes.

Send("{TAB}{TAB}{TAB}{TAB}") ;Put the focus on the list

For $i = 1 to $ItemNumber Step 1
    Send("{DOWN}")
Next

Send("!s") ;Press Alt + S to set the selected device as the default.
WinClose($ConfigWindowTitle)

Bello, mi piace la commutazione
Chaulky

3

Ho cercato su Google per un po 'e l'unica cosa che ha fatto il trucco per me è una sceneggiatura di AutoHotKey, l'unico desiderio che ho è di fare questo in background .. Ecco la sceneggiatura:

Run, mmsys.cpl
WinWait,Sound
ControlSend,SysListView321,{Down}
ControlClick,&Set Default
ControlClick,OK

Puoi cambiarlo per soddisfare le tue esigenze


Questo ha funzionato per me, ma ho dovuto usare al SendInput {Down}posto di ControlSend,SysListView321,{Down}. Ho anche dovuto modificare il numero di {Downs} per abbinare i miei dispositivi audio.
Iain,

3

La soluzione di Fakt funziona come un fascino. Ecco un piccolo script per autohotkey che seleziona il primo dispositivo audio come predefinito quando si preme "F4" e il secondo quando si preme "F3". Questa versione funziona con tutte le versioni di Windows. Testato con Win 7 64.

F3::
Run, mmsys.cpl
WinWaitActive,Sound
ControlSend,SysListView321,{Down}
ControlSend,SysListView321,{Down}
Sleep, 50
ControlClick,Button2
ControlClick,OK
return

F4::
Run, mmsys.cpl
WinWaitActive,Sound
ControlSend,SysListView321,{Down}
Sleep, 50
ControlClick,Button2
ControlClick,OK
return

2

@cptloop Default Audio Changer era abbastanza buono, ma fastidiosamente non avrebbe impostato un dispositivo come dispositivo di comunicazione predefinito dopo che era stato impostato come dispositivo predefinito.

Ciò mi ha portato a trovare Audio Switcher , che ha diverse funzionalità aggiunte:

  • Supporto per il cambio di dispositivi di registrazione
  • Supporto per più tasti di scelta rapida
  • Doppio interruttore (scambia i dispositivi predefiniti e di comunicazione)
  • E altro!

L'unica cosa che non mi piace è che non ti consente di utilizzare un singolo tasto di scelta rapida per alternare tra due dispositivi, ognuno deve essere configurato con il proprio tasto di scelta rapida. Detto questo, la v2.0 è in fase di sviluppo e promette alcuni miglioramenti delle funzionalità, oltre al supporto dei plug-in. Hanno anche pubblicato l'API sottostante, quindi è possibile creare la propria soluzione su misura.

Modifica: secondo xenolightning / AudioSwitcher_v1 # 607 , la possibilità di attivare / disattivare i dispositivi è già implementata nella versione 2.0.


0

Un altro buon programma per farlo è Audio Router. È un programma gratuito (GPL) con versioni del sistema operativo a 64 e 32 bit. Ecco il link GitHub del programma:

Router audio

Ecco una semplice GIF di come viene utilizzata:

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.