Commutazione del dispositivo audio predefinito con un file batch


22

Sto cercando di scrivere un file batch su Windows 10 che mi consente di passare tra l'auricolare e gli altoparlanti come dispositivo audio predefinito quando lo eseguo. Non voglio usare alcun software di terze parti.

Ho provato a cercare in giro ma ho trovato solo vecchi script che sembrano non funzionare e fanno riferimento anche a un HKCU:\Software\Microsoft\Windows\CurrentVersion\Applets\Volume Control\percorso che sembra non esistere più. Non riesco a trovare alcuna informazione sul registro di Windows 10 su questo, inoltre non mi sento a mio agio con il registro troppo se non sono sicuro di cosa sto facendo.


1
Se rinuncia a non voler usare anche terze parti, uso audioswit.ch/er [sì, questo è il vero URL] da circa 5 anni. Tasto di scelta rapida anche commutabile. [nessuna affiliazione.]
Tetsujin

Risposte:


33

Apprezzo che non desideri utilizzare alcun software di terze parti, ma come opzione se non ti dispiace usare un exe ~ 100kb, puoi usare Nircmd con i comandi:

nircmd setdefaultsounddevice "Speakers" 1

o

nircmd setdefaultsounddevice "Headphones" 1

Devi assicurarti di utilizzare il nome esatto dei tuoi dispositivi audio come elencato sotto Playback Devices(fai clic con il pulsante destro del mouse sul controllo audio nella barra delle applicazioni). Potrebbe essere più facile rinominarli con Propertiesnomi più semplici, specialmente se i nomi si scontrano in qualche modo.

Alla 1fine del comando indica "Dispositivo predefinito". L'uso 2indica "Dispositivo di comunicazione predefinito".


Se davvero non vuoi usare uno strumento di terze parti, ecco una diff di una chiave di registro che sembra cambiare quando cambio il mio dispositivo audio predefinito, potrebbe esserti utile, ma non so esattamente cosa sta facendo. Non è semplice come 1 o 0 per indicare se è un valore predefinito, sembrerebbe.

inserisci qui la descrizione dell'immagine


+1 da me. Questo è il modo migliore per andare. Se davvero non vuoi avere nircmd posizionato da qualche parte sul tuo hard disk (credimi che lo vuoi, è grandioso) allora l'alternativa sarebbe di cambiarlo due volte e fare un'esportazione reg della chiave menzionata qui ed eseguire il giusto .reg file. Non sono sicuro che funzionerà, ma sarebbe il mio approccio alternativo.
LPChip

Grazie per la risposta, in realtà mi sono imbattuto in me stesso, ma ero davvero curioso di trovare un modo per farlo senza alcun software di terze parti. Se nessun altro metodo viene fuori, prenderò in considerazione l'utilizzo.
zerothehero,

+1. Ho provato l'approccio del registro, ma non è così facile come è stato suggerito (almeno con W10). Usando anche NirCmd ora :)
MBaas il

6

Dal momento che Windows 8 (o forse prima?) La configurazione audio del PC è memorizzata in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render. Sotto Renderci sono le chiavi con nome GUID, ognuna contenente il DeviceStatevalore di dword alla radice. Ma come viene codificato?

Vedi costanti DEVICE_STATE_XXX su MSDN :

  • 1 attivo
  • 2 Disabilitato
  • 4 Non presente
  • 8 scollegato

Quindi lo script powershell / bat per alternare tra 1 e 2 dovrebbe fare il trucco.

EDIT: per ottenere il nome del dispositivo leggibile dall'uomo, leggi {b3f8fa53-0004-438e-9003-51a46e139bfc},6sotto la Propertiessottochiave


Ciao Aziz, l'ho provato con W10, ma ha funzionato solo una volta - e quando ho provato a passare al dispositivo precedente tramite batch, è improvvisamente scomparso dall'elenco che si ottiene facendo clic sull'icona della barra delle applicazioni per l'audio. Inoltre ho scoperto che dovevo prima ottenere le autorizzazioni per quella chiave di registro (vedi groovypost.com/howto/… )
MBaas,
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.