Soundoptionen via Autoit

  • Hallo,

    ich möchte ein Tool erstellen, welches mir via Knopfdruck unter Windows / Sound / Aufnahme - automatisch bzw. via Knopfdruck zwischen Stereomix und Mikrofon wechselt. (Später am besten im Hintergrund). Sounds öffnen Funktioniert ja (Bitte nicht lachen)... der erste Reiter ist aber "Wiedergabe", ich müsste einen weiter nach "Aufnahme". Das würde mit STRG+TAB gehen, jedoch nimmt er keine Send befehle an... könnt ihr mir sagen was ich falsch mache? Controllsend geht auch nicht.. irgendwie sende ich die Befehle falsch ab? Ich habe mehrere ID über das Infotool gefunden - muss ich die jeweiligen IDs erst aktivieren um diese anzusprechen mit controllsend?

    Wenn ich das Program mit F5 starte und manuell STRG+Tab drücke geht es in den anderen reiter - nur mit Send befehl direkt nicht. :(

    p.s. hier ist der original tutorial link den ich gerade gefunden habe. http://www.computerbase.de/forum/showthread.php?t=786817
    muss eben den reiter wechseln, was nicht geht... auch controll click auf aufnahme geht nicht... :(

    [autoit]

    $O = Run("C:\Windows\System32\control.exe mmsys.cpl")

    [/autoit][autoit][/autoit][autoit]

    $O =WinWaitActive("Sound")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ;$O =Send("{UP}")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    If ControlEnable("Sound", "", 1001) Then
    Send("{ctrldown}")
    sleep(100)
    Send("{tab}")
    sleep(100)
    Send("{ctrlup}")
    EndIf

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ;: strg+tab reiter wechseln

    [/autoit]


    Eine GUI mit Bottoms mache ich wenn soweit alles geht :)

    Könnt ihr mir ein Totorial empfehlen bei denen das Arbeiten in Windowsprogrammen mit diesen IDs erklärt wird? Habe wie gesagt je nach Fenster im Fenster Sounds mehrere IDs und würde gerne lernen wie ich damit umzugehen habe.

    -------- EDIT:

    Habe gerade ein Test versucht ob das Fenster auch so gesehen wird:

    [autoit]

    MsgBox (1,"Starte","Starte Ausführung")
    Run("c:\windows\system32\control.exe mmsys.cpl")

    [/autoit][autoit][/autoit][autoit]

    WinWaitActive("Sound")
    $hWnd = ("Sound")

    [/autoit][autoit][/autoit][autoit]

    ;if ControlEnable("Sound", "", 12320) Then
    If IsArray ($hWnd) Then
    MsgBox(1,"DA","DA")

    [/autoit][autoit][/autoit][autoit]

    Else
    MsgBox(1,"NICH DA","NICH DA")

    [/autoit][autoit][/autoit][autoit]

    EndIf

    [/autoit]

    steht immer: nicht da.... grübel ^^

    soooooooooooooo ich update mal - dass keiner unnötig arbeit hat:

    [autoit]

    $x = 0
    $y = 0

    [/autoit][autoit][/autoit][autoit]

    MsgBox (1,"Starte","Starte Ausführung")
    Run("c:\windows\system32\control.exe mmsys.cpl")

    [/autoit][autoit][/autoit][autoit]

    WinWaitActive("Sound")
    $hWnd = ("Sound")

    [/autoit][autoit][/autoit][autoit]

    if ControlEnable("Sound", "", 12320) Then
    ;If IsArray ($hWnd) Then
    ;MsgBox(1,"DA","DA")
    ControlClick("Sound","",12320,"left",1,100,10)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Else
    MsgBox(1,"NICH DA","NICH DA")

    [/autoit][autoit][/autoit][autoit]

    EndIf

    [/autoit]

    jetzt gehts schon besser - ich arbeite weiter, wär schön wenns offen bleibt falls ich wo nicht weiter komme. ^^

    3 Mal editiert, zuletzt von Zanta (30. November 2013 um 23:41)

  • howdy..

    also das hört sich meiner meinung danach an als hättest du dinge im sinn die etwas weiter gehn..
    ich könnte dir zum beispiel die Bass UDF ans herz legen... lohnt sich auf jedenfall sich da mal reinzulesen..
    damit brauchst du dann auch nicht umständlich auf irgendwelche fenster zugreifen sondern kannst direkt aufnahmequellen und co ansprechen

    mfg
    sgtigram

  • Vielen Dank für deine Antwort.

    Naja großes nicht, ich Spiele ein Online-Rollenspiel mit Freunden bei dem wir im Teamspeak oft Musik / Hörbücher einspielen oder einfach mal ein Lustiges kurzes "Video". Da muss ich immer manuell den Stereomix umstellen, dass ist total nervig. :) Brauche also nur was, was fix den Stereomix umstellt, dafür habe ich extra AutoIT angeschaut und naja... jetzt doch soweit fertig. Habe auch so ein paar direkt Plays eingebaut, ist ganz lustig. :)

    Etwas stört mich noch - da brauche ich nun wirklich Hilfe von den Profis hier... kann ich ausstellen, dass das sound menü erscheint - also im hintergrund / versteckt - stereo / mikro umstellt? habe was mit @sw_hide gesehen, aber damit komm ich nicht klar bzw. will nicht funktionieren.... - wär auch der letze befehl den ich brauche, ansonsten reicht das tool für meine zwecke aus. :thumbup:

    (bei Case stereo ( Run("c:\windows\system32\control.exe mmsys.cpl") - dass eben versteckt aufmachen, umstellen und fertig) wenn sowas nicht geht wär nicht schlimm, aber so wärs eben für mich perfekt 8o

    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1_1_1 = GUICreate("TS3DJ", 172, 213, 1301, 580, -1, BitOR($WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
    GUISetBkColor(0xB9D1EA)
    $Label2 = GUICtrlCreateLabel("Aufnahmegerät", 11, 116, 90, 18)
    GUICtrlSetFont(-1, 8, 800, 0, "Arial")
    $start4 = GUICtrlCreateButton("3", 88, 28, 33, 33)
    $start3 = GUICtrlCreateButton("2", 48, 28, 33, 33)
    $start2 = GUICtrlCreateButton("5", 8, 64, 33, 33)
    $start1 = GUICtrlCreateButton("1", 8, 28, 33, 33)
    $Button1 = GUICtrlCreateButton("4", 127, 28, 33, 33)
    $Button2 = GUICtrlCreateButton("6", 48, 64, 33, 33)
    $Button3 = GUICtrlCreateButton("7", 88, 64, 33, 33)
    $Button4 = GUICtrlCreateButton("8", 127, 65, 33, 33)
    $mirko = GUICtrlCreateButton("Mikrofon", 8, 136, 153, 33)
    $stereo = GUICtrlCreateButton("Stereomix", 8, 171, 153, 33)
    $Label1 = GUICtrlCreateLabel("Quick-Sounds", 11, 8, 81, 18)
    GUICtrlSetFont(-1, 8, 800, 0, "Arial")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg

    [/autoit][autoit][/autoit][autoit]

    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit][autoit][/autoit][autoit]

    Case $stereo ;___________________________________________________________________ STEREO

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $x = 0
    $y = 0

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Run("c:\windows\system32\control.exe mmsys.cpl")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    WinWaitActive("Sound")
    $hWnd = ("Sound")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ;MsgBox(1,"DA","DA")
    ControlClick("Sound","",12320,"left",1,100,10) ; Wähle Reiter Aufhame
    Sleep(100)
    ControlClick("Sound","",1000,"left",1,111,134) ; Wähle Stereomix aus

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    If ControlEnable("Sound", "", 1002) Then
    ControlClick("Sound","",1002,"left",1,43,11) ; Bestätige Standartgerät

    [/autoit][autoit][/autoit][autoit]

    sleep(100)
    SoundPlay("C:\Users\Holger\Desktop\TS DJ\stereobereit.mp3")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    WinClose("Sound") ; Schließe Anwendung

    [/autoit][autoit][/autoit][autoit]

    Else
    MsgBox(1,"Uuuuuuups","Fehlermeldung 0001")
    EndIf

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Case $mirko ;___________________________________________________________________ MIKRO

    [/autoit][autoit][/autoit][autoit]

    $x = 0
    $y = 0

    [/autoit][autoit][/autoit][autoit]

    Run("c:\windows\system32\control.exe mmsys.cpl")

    [/autoit][autoit][/autoit][autoit]

    WinWaitActive("Sound")
    $hWnd = ("Sound")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ;MsgBox(1,"DA","DA")
    ControlClick("Sound","",12320,"left",1,100,10) ; Wähle Reiter Aufhame
    Sleep(100)
    ControlClick("Sound","",1000,"left",1,111,33) ; Wähle Mikrofon aus

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    If ControlEnable("Sound", "", 1002) Then
    ControlClick("Sound","",1002,"left",1,43,11) ; Bestätige Standartgerät
    sleep(100)
    SoundPlay("C:\Users\Holger\Desktop\TS DJ\mikrobereit.mp3")

    [/autoit][autoit][/autoit][autoit]

    WinClose("Sound") ; Schließe Anwendung

    [/autoit][autoit][/autoit][autoit]

    Else
    MsgBox(1,"Uuuuuuups","Fehlermeldung 0001")
    EndIf

    [/autoit][autoit][/autoit][autoit]

    Case $start1 ;___________________________________________________________________ MINI 1

    [/autoit][autoit][/autoit][autoit]

    SoundPlay("C:\Users\Holger\Desktop\TS DJ\los.mp3")
    sleep(100)

    [/autoit][autoit][/autoit][autoit]

    Case $start3 ;___________________________________________________________________ MINI 2

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    SoundPlay("C:\Users\Holger\Desktop\TS DJ\dididiaaaa.mp3")
    sleep(100)

    [/autoit][autoit][/autoit][autoit]

    Case $start4 ;___________________________________________________________________ MINI 3

    [/autoit][autoit][/autoit][autoit]

    SoundPlay("C:\Users\Holger\Desktop\TS DJ\dedede.mp3")
    sleep(100)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Case $Button1 ;___________________________________________________________________ MINI 4

    [/autoit][autoit][/autoit][autoit]

    SoundPlay("C:\Users\Holger\Desktop\TS DJ\badboys.mp3")
    sleep(100)

    [/autoit][autoit][/autoit][autoit]

    Case $start2 ;___________________________________________________________________ MINI 5

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    SoundPlay("C:\Users\Holger\Desktop\TS DJ\weicheier.mp3")
    sleep(100)

    [/autoit][autoit][/autoit][autoit]

    Case $Button2 ;___________________________________________________________________ MINI 6

    [/autoit][autoit][/autoit][autoit]

    SoundPlay("C:\Users\Holger\Desktop\TS DJ\kotzen.mp3")
    sleep(100)

    [/autoit][autoit][/autoit][autoit]

    Case $Button3 ;___________________________________________________________________ MINI 7

    [/autoit][autoit][/autoit][autoit]

    SoundPlay("C:\Users\Holger\Desktop\TS DJ\always.mp3")
    sleep(100)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Case $Button4 ;___________________________________________________________________ MINI 8

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    SoundPlay("C:\Users\Holger\Desktop\TS DJ\schlingel.mp3")
    sleep(100)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    EndSwitch

    [/autoit][autoit][/autoit][autoit]

    WEnd

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]

    Einmal editiert, zuletzt von Zanta (1. Dezember 2013 um 06:22)

  • noch einmal... das kannst du locker mit der bass UDF machen... les dich da einfach rein und dann hast du was du brauchst..
    ich persönlich mag es nicht wenn jemand nach ner komplettlösung fragt und sich vorallem danach nichtmal die mühe macht es zu verstehen

  • ich möchte keinesfalls eine komplett-lösung. ich habe im internet geschaut wie man sowas macht, bin auf autoit gestoßen, habe innrhalb von 2-3 tagen alles soweit durchgelesen und die basics "gelernt", habe eine frage gestellt wieso er send nicht annimt, und später wie man sowas in den hide macht - also eine zeite als "tipp"... wie gesagt, keine komplettlösung! ..... ich bin anfänger, will nur ein simples tool erstellen, was bis auf den "nicht hide" vollkommen für mich reicht. ich danke dir, dass du mir dieses extra genannt hast, aber bitte sei nicht sauer wenn ich das für mich fasst fertig einfach benutzen will u.a. eben weil es vollkommen reicht für mich und ich zufrieden bin. wie man erkennt bin ich totaler anfänger der nur was kleines bauen will, möchte kein profi werden...

    wenn das forum hier nur für stammkunden bzw. profis oder anfänger die eben solche werden wollen ist, die keine B-Klassen tools wollen, oder sowas reicht - bin ich wohl falsch und es tut mir leid. wie gesagt danke, aber ich brauche kein großen schnick schnack, dass was ich will macht mein tool und gut... bis eben hide, aber ja... was solls... danke trotzdem - finde wie gesagt nicht, dass ich hier komplettlösungen fordere!