Also, ich überarbeite grad meinen Autoplay- Skript für YouTube. Bin noch Anfänger, deshalb bräuchte ich jetzt etwas Hilfe
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <FF.au3>
#include <string.au3>
$Button1 = GUICtrlCreateButton("Start", 128, 248, 89, 25, 0, $WS_GROUP)
$Form1 = GUICreate("Auto-Starter YouTube", 450, 282, -1, -1)
Local $title
Local $Dauer
HotKeySet ("{ESC}", "_Terminate")
HotKeySet ("{Numpadadd}", "_Soundup")
HotKeySet ("{Numpadsub}", "_Sounddown")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_Dauerausleser ()
_Videostarter ()
_HideGui ()
Case $Button2
_Terminate ()
EndSwitch
WEnd
Func _Videostarter()
AutoItSetOption ("WinTitleMatchMode", 2)
$title = WinGetTitle ("YouTube - ")
If @error Then
Exit
EndIf
ControlSend ($title, "", "[CLASS:GeckoPluginWindow; INSTANCE:1]", "{Space}")
Sleep (($Dauer)*1000)
While 1
If _IsPressed("13") Then
ExitLoop
Do
Sleep(100)
Until _IsPressed("13")
Else
ContinueLoop
EndIf
ControlSend ($title, "", "[CLASS:GeckoPluginWindow; INSTANCE:1]", "{Space}")
Sleep (($Dauer)*1000)
WEnd
EndFunc
Func _Dauerausleser()
_FFConnect (Default, Default, 3000)
$sHTML = _FFReadHTML("html")
$sSuchmuster = ';rv.1.length_seconds=\d&'
$Dauer2 = StringRegExp($sHTML,$sSuchmuster,1)
$Dauer = _StringBetween ($Dauer2, ';rv.1.length_seconds=', "&")
EndFunc
Func _Terminate()
Exit
EndFunc
Func _Soundup ()
ControlSend ($title, "", "[CLASS:GeckoPluginWindow; INSTANCE:1]", "{Up}")
EndFunc
Func _Sounddown ()
ControlSend ($title, "", "[CLASS:GeckoPluginWindow; INSTANCE:1]", "{Down}")
EndFunc
Func _HideGui ()
GUISetState (@SW_Hide)
GuiSetState (@SW_Lock)
EndFunc
Einmal funktioniert meine Pausierfunktion nicht so wie ich es will:
Sie soll nachdem ich Pause gedrückt habe die momentane Zeit speichern (vllt mit TimerInit und TimerDiff?!) und wenn ich dann wieder Pause drücke die While-Schleife fortsetzen, aber nicht mit Sleep wieder von vorne anfangen, sondern die Rest-Zeit ablaufen lassen, sodass nach dem Videoende das Skript wieder sofort ControlClick sendet.
Dann funktioniert meine Dauerauslese Funktion nicht. Vielleicht liegt das auch daran, dass ich selbst nicht die Zeile finde, in der die Dauer des Videos abgespeichert wird...
Versuch die Probleme schon seit 2 Tagen zu lösen :pinch: