6

Windows 7: Umschalten zwischen Wiedergabegeräte mit AutoIt

Passend zur gleichzeitigen Sound-Wiedergabe von HDMI und PC , hier ein AutoIt-Skript (AutoIt gibts auch als portable Version) zum Umschalten der Windows Wiedergabegeräte per Doppelklick:

; gebraucht für _FileCreate
#Include <File.au3>
; Soundeinstellungen aufrufen
Run("control mmsys.cpl")
; Warten bis das Fenster geöffnet wurde
WinActive("Sound")
WinWaitActive("Sound")

; Auswahl von Line 1 oder Lautsprecher
if FileExists("C:\TempLautsprecher_active.txt") Then
FileDelete("C:\TempLautsprecher_active.txt")
; Ganz hoch, dann 3 runter zu Line 1, dann als Standard und Ok (Fenster schliessen
Send("{UP 3}")
Send("{DOWN 3}")
Send("{TAB 1}")
Send("{ENTER}")
Send("{TAB 2}")
Send("{ENTER}")

Else
_FileCreate("C:\TempLautsprecher_active.txt")
Send("{UP 3}")
Send("{DOWN 1}")
Send("{TAB 2}")
Send("{ENTER}")
Send("{TAB 3}")
Send("{ENTER}")
EndIf

;warten bis das Fenster geschlossen wurde
WinWaitClose("Sound")
;Script beenden
Exit

Einfach abändern, so dass es bei euch passt.



6 Kommentare

  1. Also Offen geht bei mir die Wiedergabegeräte auswahl aber auch nur wenn ich es so schreibe:
    mmsys.cpl
    ; Warten bis das Fenster geöffnet wurde
    WinActive(„Sound“)
    WinWaitActive(„Sound“)
    Send DOWN 1
    Send(„{TAB 2}“)
    Send(„{ENTER}“)
    Send(„{TAB 3}“)
    Send(„{ENTER}“)

    Nur dann passiert nichts mehr! Er geht nicht mit der auswahl auf die Geräte alsoder Down Up und Tap befehl funzen nicht.
    Was Mache ich falsch

  2. Hallo
    Besten Dank für das Script, habe mich schon lange genervt das ganze immer von Hand umstellen zu müssen. Musste das Script zwar stark anpassen aber es funktioniert nun perfekt. Ohne deine Vorlage hätte ich das wohl nicht geschafft.

    Grüsse aus der Schweiz
    Luca

  3. Ich finds komisch mit dem FileCreate und da dachte ich mir ich änder einfach den Wert, egal was ist. Er schließt automatisch das aufkommende Fenster der Eigenschaften und macht dann das andere dran.
    Soll noch optimiert werden, aber vielleicht gefällts einem so besser:

    ;Starte Wiedergabegeräte
    ShellExecute(„mmsys.cpl“)
    ;Warten bis Fenster offen ist
    WinWaitActive(„Sound“)
    Send(„{Down}“)
    Send(„{Tab 2}“)
    Send(„{Enter}“)
    ;Eventuelles Fensteröffnen puffern
    WinWaitActive(„“)
    ;Wenn „Sound“ NICHT aktiv
    $active = WinActive(„Sound“)
    If $active = 0 Then
    If WinExists(„Sound“) Then
    WinClose(„[ACTIVE]“, „“)
    $active = WinActive(„Sound“)
    Else
    MsgBox(0, „Error“, „Ein Fehler ist aufgetreten. Das Sound-Fenster existiert nicht!“)
    Exit
    EndIf
    Send(„+{Tab 2}“)
    Send(„{Down}“)
    Send(„{Tab 2}“)
    Send(„{Enter}“)
    EndIf
    WinClose(„Sound“)
    WinWaitClose(„Sound“)
    Exit

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.