Ich versuche unter Windows 10 eine Batch-Datei zu schreiben, mit der ich beim Ausführen zwischen meinem Headset und meinen Lautsprechern als Standard-Audiogerät wechseln kann. Ich möchte keine Software von Drittanbietern verwenden.
Ich habe versucht, mich umzuschauen, aber ich habe nur alte Skripte gefunden, die nicht zu funktionieren scheinen und die auf einen HKCU:\Software\Microsoft\Windows\CurrentVersion\Applets\Volume Control\
Pfad verweisen , der anscheinend nicht mehr existiert. Ich kann dazu keine Informationen im Windows 10-Register finden. Außerdem bin ich nicht damit zufrieden, zu viel mit dem Register zu spielen, wenn ich nicht sicher bin, was ich tue.
windows-10
audio
powershell
windows-registry
cmd.exe
zerothehero
quelle
quelle
Antworten:
Ich schätze, dass Sie keine Software von Drittanbietern verwenden möchten, aber als Option können Sie Nircmd mit den folgenden Befehlen verwenden, wenn es Ihnen nichts ausmacht, eine ~ 100kb-Exe zu verwenden :
oder
Sie müssen sicherstellen, dass Sie den genauen Namen Ihrer Audiogeräte verwenden, wie unter
Playback Devices
(Klicken Sie mit der rechten Maustaste auf die Soundsteuerung in der Taskleiste) aufgeführt. Es ist möglicherweise einfacher, sieProperties
in einfachere Namen umzubenennen , insbesondere wenn die Namen in irgendeiner Weise in Konflikt geraten.Das
1
am Ende des Befehls bedeutet "Standardgerät". Verwendung2
bedeutet "Standardkommunikationsgerät".Wenn Sie wirklich kein Tool eines Drittanbieters verwenden möchten, finden Sie hier einen Unterschied zu einem Registrierungsschlüssel, der sich zu ändern scheint, wenn ich mein Standard-Audiogerät ändere. Möglicherweise ist er für Sie von Nutzen, aber ich weiß nicht genau, was es tut. Es ist nicht so einfach wie eine 1 oder eine 0, um anzuzeigen, ob es sich um eine Standardeinstellung handelt.
quelle
Seit Windows 8 (oder früher?) Ist die Audiokonfiguration des PCs in gespeichert
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render
. DarunterRender
befinden sich GUID-benannte Schlüssel, die jeweilsDeviceState
den Wert dword im Stammverzeichnis enthalten. Aber wie ist es codiert?Siehe DEVICE_STATE_XXX-Konstanten bei MSDN :
Ein Powershell / Bat-Skript zum Umschalten zwischen 1 und 2 sollte also helfen.
BEARBEITEN: Um einen lesbaren Gerätenamen zu erhalten, lesen Sie
{b3f8fa53-0004-438e-9003-51a46e139bfc},6
unterProperties
Unterschlüsselquelle