Je cherche donc une fonction qui maintenant me calculera tous sa gentiment sen mètre le sleep(4000).
Sa évitera de perdre du temps par rapport aux autres vidéos auquel il ne reste plus que 1 seconde de visualisation.
Et sa préservera d'un éventuel lag de ma machine.
Et de plus je pourrais gagner attention quelque dixième de second par rapport aux sleep(4000).
Comment ceci mètre en place dans mon scripte originale ?
Voici mon site.
[..] Contrôle de fin de lecture d'une vidéos
Voici mon script originale.
► Afficher le texte
Code : Tout sélectionner
#NoTrayIcon
#include <File.au3>
; --------------------------------------------------------------------------------------------------------------------------------------------------
Global Const $TAILLE_FICHIER_0 = 26180403 ; Vidéo 10-1
Global Const $TAILLE_FICHIER_1 = 38457549 ; Vidéo 1
Global Const $TAILLE_FICHIER_2 = 6758656 ; Vidéo 2
Global Const $TAILLE_FICHIER_3 = 25025090 ; Vidéo 3
Global Const $TAILLE_FICHIER_4 = 12313029 ; Vidéo 4
Global Const $TAILLE_FICHIER_5 = 30027252 ; Vidéo 5
Global Const $TAILLE_FICHIER_6 = 16612920 ; Vidéo 6
Global Const $TAILLE_FICHIER_7 = 7102076 ; Vidéo 7
Global Const $TAILLE_FICHIER_8 = 16106659 ; Vidéo 8
Global Const $TAILLE_FICHIER_9 = 12917688 ; Vidéo 9
Global Const $TAILLE_FICHIER_10 = 26180403 ; Vidéo 10-2
Global $f ; nom du fichier
;---------------------------------------------------------------------------------------------------------------------------------------------------
HotKeySet("{F2}", "My_Exit") ; Début de la fonction de fermeutur du script, touche F2
;---------------------------------------------------------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------------------------------------------------------
While 1 ; Début de la boucle
; --------------------------------------------------------------------------------------------------------------------------------------------------
MouseClick("left", 140, 1010, 1, 1) ; Démarage de Mozila Firefox
; --------------------------------------------------------------------------------------------------------------------------------------------------
For $dectectionpixel = 1 to 9999999 step 1 ; Vidéo 10-1
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2, 30)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_0)
MouseClick("left", 737, 790, 1, 1)
Sleep(4000)
MouseClick("left", 380, 390, 1, 1)
$checksum = PixelChecksum( 550, 370, 900, 400)
While $checksum = PixelChecksum( 550, 370, 900, 400)
Sleep(100)
WEnd
; ----------------------------------------------------------------------------------------------------------------------------------------------------
For $dectectionpixel = 1 to 9999999 step 1 ; Vidéo 1
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2, 30)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_1)
MouseClick("left", 737, 790, 1, 1)
Sleep(4000)
MouseClick("left", 380, 400, 1, 1)
$checksum = PixelChecksum( 550, 370, 900, 400)
While $checksum = PixelChecksum( 550, 370, 900, 400)
Sleep(100)
WEnd
; ------------------------------------------------------------------------------------------------------------------------------------------------------
For $dectectionpixel = 1 to 9999999 step 1 ; Vidéo 2
$coord = PixelSearch( 846, 817, 848, 822, 0xD4D4D2)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 820, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 846, 818, 848, 820, 0xD4D4D2, 30)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 820, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_2)
MouseClick("left", 737, 820, 1, 1)
Sleep(4000)
MouseClick("left", 380, 420, 1, 1)
$checksum = PixelChecksum( 550, 370, 900, 400)
While $checksum = PixelChecksum( 550, 370, 900, 400)
Sleep(100)
WEnd
; ---------------------------------------------------------------------------------------------------------------------------------------------------
For $dectectionpixel = 1 to 9999999 step 1 ; Vidéo 3
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 846, 778, 848, 790, 0xD4D4D2, 30)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_3)
MouseClick("left", 737, 788, 1, 1)
sleep(4000)
MouseClick("left", 380, 435, 1, 1)
$checksum = PixelChecksum( 550, 370, 900, 400)
While $checksum = PixelChecksum( 550, 370, 900, 400)
Sleep(100)
WEnd
; ---------------------------------------------------------------------------------------------------------------------------------------------------
For $dectectionpixel = 1 to 9999999 step 1 ; Vidéo 4
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2, 30)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_4)
MouseClick("left", 737, 790, 1, 1)
Sleep(4000)
MouseClick("left", 380, 450, 1, 1)
$checksum = PixelChecksum( 550, 370, 900, 400)
While $checksum = PixelChecksum( 550, 370, 900, 400)
Sleep(100)
WEnd
; ----------------------------------------------------------------------------------------------------------------------------------------------------
For $dectectionpixel = 1 to 9999999 step 1 ; Vidéo 5
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1] )
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2, 30)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_5)
MouseClick("left", 737, 790, 1, 1)
Sleep(4000)
MouseClick("left", 380, 465, 1, 1)
$checksum = PixelChecksum( 550, 370, 900, 400)
While $checksum = PixelChecksum( 550, 370, 900, 400)
Sleep(100)
WEnd
; ----------------------------------------------------------------------------------------------------------------------------------------------------
for $dectectionpixel = 1 to 9999999 step 1 ; Vidéo 6
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2, 30)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_6)
MouseClick("left", 737, 788, 1, 1)
sleep(4000)
MouseClick("left", 380, 480, 1, 1)
$checksum = PixelChecksum( 550, 370, 900, 400)
While $checksum = PixelChecksum( 550, 370, 900, 400)
Sleep(100)
WEnd
; ---------------------------------------------------------------------------------------------------------------------------------------------------
For $dectectionpixel = 1 to 9999999 step 1 ; Vidéo 7
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2, 30)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_7)
MouseClick("left", 737, 790, 1, 1)
sleep(4000)
MouseClick("left", 380, 495, 1, 1)
$checksum = PixelChecksum( 550, 370, 900, 400)
While $checksum = PixelChecksum( 550, 370, 900, 400)
Sleep(100)
WEnd
; ---------------------------------------------------------------------------------------------------------------------------------------------------
For $dectectionpixel = 1 to 9999999 step 1 ; Vidéo 8
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1] )
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2, 30)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1] )
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_8)
MouseClick("left", 737, 790, 1, 1)
sleep(4000)
MouseClick("left", 380, 510, 1, 1)
$checksum = PixelChecksum( 550, 370, 900, 400)
While $checksum = PixelChecksum( 550, 370, 900, 400)
Sleep(100)
WEnd
; ---------------------------------------------------------------------------------------------------------------------------------------------------
For $dectectionpixel = 1 to 9999999 step 1 ; Vidéo 9
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2, 30)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_9)
MouseClick("left", 737, 790, 1, 1)
sleep(4000)
MouseClick("left", 380, 525, 1, 1)
$checksum = PixelChecksum( 550, 370, 900, 400)
While $checksum = PixelChecksum( 550, 370, 900, 400)
Sleep(100)
WEnd
; ---------------------------------------------------------------------------------------------------------------------------------------------------
For $dectectionpixel = 1 to 9999999 step 1 ; Vidéo 10-2
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 846, 788, 848, 790, 0xD4D4D2, 30)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 788, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_10)
MouseClick("left", 737, 790, 1, 1)
sleep(4000)
MouseClick("left", 70, 90, 1, 1)
; ----------------------------------------------------------------------------------------------------------------------------------------------------
For $dectectionpixel = 1 to 9999999 step 1 ; Changement d'adresse IP
$coord = PixelSearch( 850, 220, 860, 230, 0x0051E8 )
If Not @error Then
MouseClick("left", 930, 255, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 850, 220, 860, 230, 0xFF6600, 30 )
If Not @error Then
MouseClick("left", 930, 255, 1, 1)
exitloop 1
EndIf
Next
For $dectectionpixel = 1 to 9999999 step 1
$coord = PixelSearch( 480, 605, 620, 520, 0x666666)
If Not @error Then
MouseClick("left", 770, 700, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 480, 605, 520, 620, 0x666666, 30 )
If Not @error Then
MouseClick("left", 770, 700, 1, 1)
exitloop 1
EndIf
Next
$checksum = PixelChecksum( 230, 55, 490, 65)
While $checksum = PixelChecksum( 230, 55, 490, 65)
Sleep(100)
WEnd
For $dectectionpixel = 1 to 9999999 step 1
$coord = PixelSearch( 880, 565, 895, 580, 0xFF6600)
If Not @error Then
MouseClick("left", 750, 705, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 880, 565, 895, 580, 0xFF6600, 30 )
If Not @error Then
MouseClick("left", 750, 705, 1, 1)
exitloop 1
EndIf
Next
$checksum = PixelChecksum( 230, 55, 490, 65)
While $checksum = PixelChecksum( 230, 55, 490, 65)
Sleep(100)
WEnd
; -------------------------------------------------------------------------------------------------------------------------------------------------------
For $dectectionpixel = 1 to 9999999 step 1 ; Redémarage de Mozilla Firefox
$coord = PixelSearch( 825, 535, 835, 595, 0xFFFFFF)
If Not @error Then
WinClose("[REGEXPTITLE:Mozilla]", "")
sleep(5000)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 825, 535, 835, 595, 0xFFFFFF, 30 )
If Not @error Then
WinClose("[REGEXPTITLE:Mozilla]", "")
sleep(5000)
exitloop 1
EndIf
Next
; -----------------------------------------------------------------------------------------------------------------------------------------------------
WEnd ; Fin de la boucle du script
; -----------------------------------------------------------------------------------------------------------------------------------------------------
Func detecteNouveauChargement() ; Contrôle de chargement des vidéo dans le dossier temporaire de Mozila Firfox
Local $i, $fFlaTmp
Local $dateCreation, $dateFichier, $dateActuelle
$dateActuelle = @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC
While 1
$fFlaTmp = _FileListToArray(@TempDir, "fla*.tmp", 1)
If Not @error Then
For $i = 1 To $fFlaTmp[0]
$dateCreation = FileGetTime(@TempDir & "\" & $fFlaTmp[$i], _
1, _ ; date création
1) ; format YYYYMMDDHHMMSS
; si un nouveau fichier fla*.tmp a été créé alors on sort des boucles
If $dateCreation > $dateActuelle Then ExitLoop 2
Next
EndIf
Sleep(250)
WEnd
; retourne le nom du fichier en chargement
Return $fFlaTmp[$i]
EndFunc ;==>detecteNouveauChargement
Func detecteFinChargement($nomFichier, $tailleFichier)
Do
Sleep(250)
Until FileGetSize(@TempDir & "\" & $nomFichier) = $tailleFichier
EndFunc ;==>detecteFinChargement
; ---------------------------------------------------------------------------------------------------------------------------------------------------------
Func My_Exit() ; Fin de la fonction de fermetur du script
Exit 0
EndFunc ;==>My_ExitCordialement JIF,


