it-swarm-eu.dev

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

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.

33
Brian Lyttle

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.

19
Dan Walker

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.

9
cptloop

@ 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)
4
Andy Ray

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

3
fakts

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
3
NTyp

@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 la commutazione di dispositivi di registrazione
  • Supporto per più tasti di scelta rapida
  • Doppio interruttore (scambia i dispositivi di default e di comunicazione)
  • E altro ancora!

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.

2
Dave Hughes

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:

Audio Router

Ecco una semplice GIF di come viene utilizzata:

enter image description here

0
user2597747