it-swarm.com.de

Wie verwalte ich mehrere Audiowiedergabegeräte unter Windows Vista / 7?

Ich habe Lautsprecher (Audioeingang) und Kopfhörer (USB-Headset mit eigener Soundkarte) an meinen Desktop-Computer angeschlossen. Unter Windows 7 kann ich mit der rechten Maustaste auf den Audiomixer klicken und Wiedergabegeräte auswählen und zwischen meinen Geräten wechseln.

Gibt es einen einfacheren Weg, vielleicht eine Tastenkombination, die das Umschalten erleichtert? Ich arbeite in einem gemeinsamen Raum, wo ich manchmal Kopfhörer haben möchte, um andere nicht zu stören, aber zu anderen Zeiten sind die Lautsprecher in Ordnung. Ich möchte schnell umschalten können. In einer idealen Welt würde die Lösung meiner Frage auch unter Vista funktionieren.

33
Brian Lyttle

Die Lösung für alle Ihre quälenden Windows-Automatisierungsprobleme: AutoIt !

Setzen Sie dieses AutoIt und kompilieren Sie es

;-----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)

Erstellen Sie nun eine Verknüpfung und geben Sie im Ziel den Pfad zur kompilierten ausführbaren Datei an. Geben Sie als Argument die Nummer des Audiogeräts in die Liste ein, zu der Sie wechseln möchten. (Um zum obersten Element in der Liste zu wechseln, geben Sie 1, das zweite Element in der Liste 2 usw. ein.) Wenn Sie eine Tastenkombination möchten, verwenden Sie das Feld Tastenkombination im Eigenschaftenfenster der Verknüpfung.

Ich habe nach einer Möglichkeit gesucht, um das zu tun, was Sie wollten, und festgestellt, dass es in Vista/7 keine programmgesteuerte Möglichkeit gibt, Audiogeräte umzuschalten. Microsoft hat nicht entschieden, dass Programmierer dies tun müssen. Deshalb erstelle ich dieses Skript, um den Prozess zu automatisieren. Es ist nicht das Beste, da es das Fenster öffnet, um das Gerät zu ändern (erforderlich), aber es ermöglicht das Erstellen von Verknüpfungen, um das Ausgabegerät für Ihren Sound zu ändern.

19
Dan Walker

Default Audio Changer ist meiner Meinung nach derzeit die beste Lösung.

Es werden undokumentierte Systemaufrufe verwendet, anstatt Tastatureingaben zu simulieren, sodass Sie es ohne Bedenken in Vollbildanwendungen verwenden können.

9
cptloop

@Dan Walker Schöne Lösung, aber nicht perfekt;)

In diesem Skript wird das Vorhandensein einer Datei verwendet, um ein Umschalten tatsächlich durchzuführen, sodass Sie dieselbe Verknüpfung zum Wechseln zwischen Wiedergabegeräten verwenden können. Es ist nur eine einfache Bearbeitung:

;-----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

Ich habe das eine Weile gegoogelt und das einzige, was den Trick für mich getan hat, ist ein Skript von AutoHotKey. Der einzige Wunsch, den ich habe, ist, dass dies im Hintergrund gemacht wird. Hier ist das Skript:

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

Sie können es an Ihre Bedürfnisse anpassen

3
fakts

die Lösung von fakt wirkt wie ein Zauber. Hier ein kleines Skript für Autohotkey, das das erste Audiogerät als Standard auswählt, wenn Sie "F4" und das zweite, wenn Sie "F3" drücken. Diese Version funktioniert mit allen Windows-Versionen. Getestet mit 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 war ziemlich gut, würde aber ärgerlicherweise kein Gerät als Standardkommunikationsgerät festlegen, nachdem es als Standardgerät festgelegt wurde.

Das hat mich dazu gebracht, den Audio Switcher zu finden, der mehrere zusätzliche Funktionen bietet:

  • Unterstützung für das Wechseln von Aufnahmegeräten
  • Unterstützung für mehrere Hotkeys
  • Dual-Switch (Standard- und Kommunikationsgeräte tauschen)
  • Und mehr!

Das einzige, was mir nicht gefällt, ist, dass Sie keinen einzigen Hotkey zum Umschalten zwischen zwei Geräten verwenden können. Jeder muss mit einem eigenen Hotkey konfiguriert werden. Allerdings befindet sich v2.0 noch in der Entwicklung und verspricht einige Funktionsverbesserungen sowie die Unterstützung von Plugins. Sie haben auch die zugrunde liegende API veröffentlicht, sodass Sie Ihre eigene maßgeschneiderte Lösung erstellen können.

Bearbeiten: Gemäß xenolightning/AudioSwitcher_v1 # 607 ist die Möglichkeit zum Umschalten/Umschalten von Geräten bereits in Version 2.0 implementiert.

2
Dave Hughes

Ein weiteres gutes Programm dafür ist Audio Router. Es ist ein kostenloses Programm (GPL) mit 64-Bit- und 32-Bit-Betriebssystemversionen. Hier ist der GitHub-Link des Programms:

Audio Router

Hier ist ein einfaches GIF, wie es verwendet wird:

enter image description here

0
user2597747