Ho altoparlanti (audio in) e cuffie (cuffie USB con la propria scheda audio) collegati al mio computer desktop. Sotto Windows 7, posso fare clic con il pulsante destro del mouse Mixer audio e selezionare Dispositivi di riproduzione e passare tra i miei questi dispositivi.
C'è un modo più semplice, forse una scorciatoia da tastiera, che renderebbe più semplice la commutazione? Sto lavorando in uno spazio condiviso dove a volte voglio le cuffie per evitare di disturbare altre persone, ma in altri momenti gli altoparlanti sono OK. Voglio essere in grado di passare rapidamente. In un mondo ideale, la soluzione alla mia domanda funzionerebbe anche in Vista.
La soluzione a tutti i tuoi fastidiosi problemi di automazione di Windows: AutoIt !
Metti questo AutoIt e compilalo
;-----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 una scorciatoia e nel Target metti il percorso dell'eseguibile compilato. Per un argomento, inserisci il numero del dispositivo audio nell'elenco in cui desideri passare. (per passare all'elemento in cima all'elenco, inserire 1, il secondo elemento nell'elenco, inserire 2, ecc.). Se si desidera una scelta rapida da tastiera, utilizzare il campo Tasto di scelta rapida nella finestra delle proprietà del collegamento.
Stavo cercando qualcosa per fare quello che volevi fare, e ho scoperto che non esiste un modo programmatico per cambiare dispositivo audio in Vista/7. Non è qualcosa che Microsoft ha deciso che i programmatori devono fare, quindi faccio questo script per automatizzare il processo. Non è il massimo dal momento che si apre la finestra per cambiare il dispositivo (necessario), ma consente di creare scorciatoie per cambiare il dispositivo di output per il suono.
Default Audio Changer è attualmente la soluzione migliore, secondo me.
Utilizza chiamate di sistema non documentate invece di simulare le pressioni della tastiera, il che significa che è possibile utilizzarlo in applicazioni a schermo intero senza preoccupazioni.
@ 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)
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 farlo in background. Ecco lo script:
Run, mmsys.cpl
WinWait,Sound
ControlSend,SysListView321,{Down}
ControlClick,&Set Default
ControlClick,OK
Puoi cambiarlo per soddisfare le tue esigenze
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
@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:
L'unica cosa che non mi piace, è che non ti permette di usare un singolo tasto di scelta rapida per passare da un dispositivo all'altro, ognuno deve essere configurato con il proprio tasto di scelta rapida. Detto questo, la v2.0 è in fase di sviluppo e promette alcuni miglioramenti alle funzionalità, oltre al supporto per i plugin. Hanno anche pubblicato l'API sottostante, quindi è possibile creare una soluzione personalizzata.
Modifica: come per xenolightning/AudioSwitcher_v1 # 607 , la possibilità di attivare/disattivare i dispositivi è già implementata nella v2.0.
Un altro buon programma per fare ciò è Audio Router. È un programma gratuito (GPL) con versioni del sistema operativo a 64-bit e 32-bit. Ecco il link GitHub del programma:
Ecco una semplice GIF di come viene utilizzata: