Wiedergabegeräte wechseln

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

brokbs
Posts: 2
Joined: 17 Apr 2017, 05:31

Wiedergabegeräte wechseln

17 Apr 2017, 05:43

Moin , ich habe ein Script was nach dem letzten Windows 10 Update leider nicht mehr funktioniert. Es sollte zb. Headset auf Boxen wechseln ohne das ich immer alles einstellen muss.
Da ich ein wenig bis null Ahnung von scripten usw. habe dachte ich vielleicht ist jemand so nett und passt mir den alten an so das der wieder geht.




Run, RunDll32.exe shell32.dll`,Control_RunDLL mmsys.cpl`,`,0
WinActivate, Sound
WinWaitActive, Sound, , 2
if ErrorLevel
{
MsgBox, Sound Window not found!
return
}
ControlSend, SysListView321, {DOWN 1}, Sound
ControlSend, Button2, {DOWN 2}{ENTER}, Sound
WinClose, Sound
just me
Posts: 7114
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Wiedergabegeräte wechseln

17 Apr 2017, 07:10

Moin,

auf den ersten Blick sieht das gut aus. Ich kann es aber hier nicht voll testen, weil ich nur ein Wiedergabegerät habe. Lass es doch einmal so laufen:

Code: Select all

Run, RunDll32.exe shell32.dll`,Control_RunDLL mmsys.cpl`,`,0
WinActivate, Sound
WinWaitActive, Sound, , 2
if ErrorLevel
{
MsgBox, Sound Window not found!
return
}
ControlSend, SysListView321, {DOWN 1}, Sound
; ControlSend, Button2, {DOWN 2}{ENTER}, Sound
; WinClose, Sound
Fragen:
  1. Wird das richtige Gerät ausgewählt?
  2. Aktiviert sich der mittlere Button (Button2)?
  3. Welche Auswahl bietet er an?
User avatar
LuckyJoe
Posts: 265
Joined: 02 Oct 2013, 09:52

Re: Wiedergabegeräte wechseln

19 Apr 2017, 03:23

Hallo

@just me: das ist ja wieder ein toller Ansatz. Ich habe ihn noch etwas ergänzt und erläutert. So kann ich jetzt bei mir z.B. zwischen Lautsprecher und Headset umschalten:

Code: Select all

Run, RunDll32.exe shell32.dll`,Control_RunDLL mmsys.cpl`,`,0
WinActivate, Sound
WinWaitActive, Sound,, 2
if ErrorLevel
{
	MsgBox, Sound Window nicht gefunden!
	Return
}

Sleep 1000

; Das gewünschte Gerät eintragen:
; MySoundGeraet = Logitech G430 Gaming Headset
MySoundGeraet = Realtek High Definition Audio

; Für das Weitere: Hilfe lesen zu:
; ControlGet, AusgabeVar, List, Optionen, SysListView321, Fenstertitel, Fenstertext
; ... so kann man sich z.B. die einzelnen Zeilen zu jedem Gerät ausgeben:
; ControlGet, Liste, List,, SysListView321, Sound
; Loop, Parse, Liste, `n  ; alle Geräte sind durch Zeilenvorschübe (`n) abgegrenzt
; {
    ; GeraetNr := A_Index
    ; Loop, Parse, A_LoopField, %A_Tab%  ; die Zeilen jedes Gerätes sind durch Tabulatoren (A_Tab) abgegrenzt!
        ; MsgBox Gerät-Nr. %GeraetNr%, Zeile %A_Index%: %A_LoopField%
; }
; Return

ControlGet, Liste, List,, SysListView321, Sound
Loop, Parse, Liste, `n  ; alle Geräte sind durch Zeilenvorschübe (`n) abgegrenzt
{
    GeraetNr := A_Index
    Loop, Parse, A_LoopField, %A_Tab%  ;die Zeilen jedes Gerätes sind durch Tabulatoren (A_Tab) abgegrenzt!
		If A_LoopField = %MySoundGeraet%
		{
			Geraet = %A_Index%
			Gefunden = True	; es soll (bei mir) nur das erste Gerät gefunden werden
			Break	; innere Schleife
		}
	If Gefunden
		Break	; äußere Schleife
}

ControlSend, SysListView321, {DOWN %GeraetNr%}, Sound
ControlSend, Button2, {Space}, Sound		; Space "klickt" bei mir auf "als Standardgerät"
WinClose, Sound
Danke und viel Erfolg
Lucky Joe
Herzliche Grüße aus dem Rheinland
Lucky Joe
brokbs
Posts: 2
Joined: 17 Apr 2017, 05:31

Re: Wiedergabegeräte wechseln

19 Apr 2017, 11:44

Super vielen Dank :)

Hätte ich nie hinbekommen
User avatar
Gucky_87
Posts: 342
Joined: 03 Jul 2014, 05:09

Re: Wiedergabegeräte wechseln

20 Apr 2017, 07:12

Das ist ja mal ein tolles Helferlein. Klasse!

Mal am Rande gefragt: Geht das evtl. auch für Aufnahmegeräte oder beides gleichzeitig?
Ich hab ´ne USB Soundkarte an meinem Notebook und da würde ich gerne dann per Tastendruck
sowohl Aufnahme-, als auch Wiedergabegerät gleichzeitig wechseln wollen.

An sich schaltet Win10 automatisch auf das USB Gerät um, sobald ich es einstecke, aber Teamspeak
z.B. interessiert das überhaupt nicht und daher gibt´s dauernd Meckereien, dass TS das Audiogerät
nicht findet.

Grüße,

Gucky
User avatar
LuckyJoe
Posts: 265
Joined: 02 Oct 2013, 09:52

Re: Wiedergabegeräte wechseln

24 Apr 2017, 01:17

Hallo Gucky,

ja, das sollte auch klappen. Die beiden Schleifen in meinem Script durchlaufen alle (Sound-) Geräte und die jeweils dazugehörigen Zeilen, wie sie in dem Sound-Fenster angezeigt werden. Über

Code: Select all

ControlSend, Button2, {DOWN 2}, Sound
kannst du neben dem "Standardgerät" z.B. auch das "Standardkommunikationsgerät" auswählen und - so vermute ich - auch andere, je nachdem, was dein USB-Gerät hat.

Viel Erfolg
Lucky Joe
Herzliche Grüße aus dem Rheinland
Lucky Joe

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: Bing [Bot], Ragnar and 5 guests