1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. WhiteHorse

Beiträge von WhiteHorse

  • mehrere Zeiten wenn abgelaufen für OBS

    • WhiteHorse
    • 11. Juli 2022 um 19:24

    Hallo ich bin erst neu hier :) ich habe mir ein Programm gebastelt womit ich eine Zeit in einem Input feld eingeben kann und wenn diese abgelaufen ist Stoppt meine Aufnahme ich habe sowas schonmal erstellt mit dem ersten Input feld aber habe mir dann mal was überlegt womit ich 5 verschiedene Aufnahmen/Zeiten eingeben kann und wenn zb. Aufnahme 2 (Input2) abgelaufen ist soll gestoppt werden und nach ein paar sec soll er mit der nächsten aufnahme beginnen was in Input3 steht das zieht sich bis zur 5


    jetzt mein Problem ich schaff es zwar das er es mit dem Input1 macht also erste Aufnahme aber wenn diese abgelaufen ist geht ein weiterer befehl an eine Funktion die auch eine Schleife beinhaltet womit er weiß ok jetzt soll Aufnahme 2 gestartet werden dieses macht er aber nicht ich habe schon so vieles probiert komme aber nicht zum erfolg die Funktion wird abgerufen und arbeitet auch aber die Schleife nur zur hälfte oder garnicht vielleicht habt ihr ein Rat für mich


    Ich würde hier mal den ganzen Skriptcode posten


    5 Aufnahme Timer.au3

    AutoIt
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <MsgBoxConstants.au3>
    GUICreate('5 Aufnahme-Timer', 800, 700, Default, Default, 0x10C80000)
    Dim $end, $end2, $timer, $timer2, $running = False, $running2 = False, $input[3], $input2[3], $input3[3], $input4[3], $input5[3], $name[3]=['Stunden','Minuten','Sekunden'], $name2[3]=['','',''], $name3[3]=['','',''], $name4[3]=['','',''], $name5[3]=['','',''], $button[2]=['Start','Stop']
    For $i=0 To 2
        GUICtrlCreateGroup($name[$i], 5+70*$i, 5, 70, 40)
        GUICtrlCreateGroup($name2[$i], 5+70*$i, 35, 70, 40)
        GUICtrlCreateGroup($name3[$i], 5+70*$i, 65, 70, 40)
        GUICtrlCreateGroup($name4[$i], 5+70*$i, 95, 70, 40)
        GUICtrlCreateGroup($name5[$i], 5+70*$i, 125, 70, 40)
    $input[$i]=GUICtrlCreateInput('', 10+70*$i, 20, 60, 20, 1)
    $input2[$i]=GUICtrlCreateInput('', 10+70*$i, 50, 60, 20, 1)
    $input3[$i]=GUICtrlCreateInput('', 10+70*$i, 80, 60, 20, 1)
    $input4[$i]=GUICtrlCreateInput('', 10+70*$i, 110, 60, 20, 1)
    $input5[$i]=GUICtrlCreateInput('', 10+70*$i, 140, 60, 20, 1)
    Next
    $go=GUICtrlCreateButton('Start', 550, 650, 210, 20)
    $Herunterfahren = GUICtrlCreateCheckbox("Computer herunterfahren", 600, 600, 201, 25)
    $Input2 = GUICtrlCreateCheckbox("Aufnahme 2 Aktivieren", 220, 47, 201, 25)
    $Input3 = GUICtrlCreateCheckbox("Aufnahme 3 Aktivieren", 220, 77, 201, 25)
    $Input4 = GUICtrlCreateCheckbox("Aufnahme 4 Aktivieren", 220, 107, 201, 25)
    $Input5 = GUICtrlCreateCheckbox("Aufnahme 5 Aktivieren", 220, 137, 201, 25)
    $Close = GUICtrlCreateButton("Schließen", 550, 550, 83, 25)
    $Label2 = GUICtrlCreateLabel("Programm Start mit Hotkey F7", 500, 500, 170, 24)
    GUICtrlSetFont(-1, 6, 800, 0, "MS Sans Serif")
    
    
    
    
    ;HotKey's
    HotKeySet ("{F7}", "StartTimer")
    
    ;##############################
    ;Start mit der ersten Aufnahme#
    ;##############################
    
    ;Funktion das mit der Taste F7 gestartet wird
    
    Func StartTimer()
    HotKeySet ("{F7}")
    
    
    
                $running = Not $running
                GUICtrlSetData($go, $button[$running])
                $end = Convert($input)
                $timer=TimerInit()
    
                If $running And TimerDiff($timer)>=$end Then
                    $running = False
                    GUICtrlSetData($go, $button[$running])
                    Send ("{F8}")
                    ;;;;;
                    If _IsChecked($Input2) Then
                    Call ("ANAufnahem2")
                    Else
                    Call ("AUSAufnahem2")
                   EndIf
    
    
    
                 EndIf
    
    
    
    
    EndFunc
    
    
    
    
    ;Funktion mit Knöpfen (Knopf Start) ist hier mit enthalten und Schließen
    While 1
        Switch GUIGetMsg()
    
             Case $Close
                Exit
    
            Case -3
                Exit
            Case $go
                $running = Not $running
                GUICtrlSetData($go, $button[$running])
                $end = Convert($input)
                $timer=TimerInit()
            Case Else
            If $running And TimerDiff($timer)>=$end Then
                    $running = False
                    GUICtrlSetData($go, $button[$running])
                    ControlSend("OBS 26.1.1 (64-bit, windows) - Profil: Unbenannt - Szenen: Unbenannt", "", "", "{F8}")
                    Send ("{F8}")
                    ;;;;;
                    If _IsChecked($Input2) Then
                    Call ("ANAufnahem2")
                    Else
                    Call ("AUSAufnahem2")
                   EndIf
    
    
                 EndIf
    
    
    
      EndSwitch
    
     WEnd
    
    
    Func Convert($array)
        Return 1000*(60*(60*(GUICtrlRead($array[0]))+GUICtrlRead($array[1]))+GUICtrlRead($array[2]))
     EndFunc
    
     Func _IsChecked($Herunterfahren)
        Return BitAND(GUICtrlRead($Herunterfahren), $GUI_CHECKED) = $GUI_CHECKED
     EndFunc
    
    
    ;######################
    ;Aufnahme 1 endet hier#
    ;######################
    
    
    Func ANAufnahem2 ()
    
     Sleep (3000) ;Puffer um abzuspeichern
    
    
    
    While 2
        Switch GUIGetMsg()
    
    
             Case $Close
                Exit
    
            Case -3
                Exit
            Case $go
                $running2 = Not $running2
                GUICtrlSetData($go, $button [$running2])
                $end = Convert($input2)
                $timer2=TimerInit()
             Case Else
            If $running2 And TimerDiff($timer2)>=$end2 Then
               $running2 = False
                    GUICtrlSetData($go, $button[$running2])
                    ControlSend("OBS 26.1.1 (64-bit, windows) - Profil: Unbenannt - Szenen: Unbenannt", "", "", "{F8}")
                    Send ("{F8}")
                    ;;;;;
                    If _IsChecked($Input3) Then
                    Call ("AN")
                    Else
                    Call ("AUS")
                   MsgBox(0, 'Info', 'Tesssssssst 2 durch an?')
                   EndIf
    
    
                 EndIf
    
    
    EndSwitch
    WEnd
    
     EndFunc
    
    Func AUSAufnahem2 ()
       ControlSend("OBS 26.1.1 (64-bit, windows) - Profil: Unbenannt - Szenen: Unbenannt", "", "", "{F8}")
       Sleep (1000)
       MsgBox(0, 'Info', '2 durch AUS')
       EndFunc
    
    
    ;##################################################################################################
    ;Hier wird nochmal abgefragt und entschieden ob der Harken bei Herrunterfahren drin ist oder nicht#
    ;##################################################################################################
    
    Func AN ()
       ControlSend("OBS 26.1.1 (64-bit, windows) - Profil: Unbenannt - Szenen: Unbenannt", "", "", "{F8}")
       Sleep (1000)
       MsgBox(0, 'Info', 'ANNNNNNNNNNNNNNNNNNNNNNNNNNN')
    ;   Shutdown(1)
       EndFunc
    
    Func AUS ()
       ControlSend("OBS 26.1.1 (64-bit, windows) - Profil: Unbenannt - Szenen: Unbenannt", "", "", "{F8}")
       Sleep (1000)
       MsgBox(0, 'Info', 'Aufnahme gestoppt')
    EndFunc
    Alles anzeigen

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™