[..] Contrôle de fin de lecture d'une vidéos
Posté : lun. 01 juin 2009 19:28
par JIF
Bonsoir, Après avoir ajouter des contrôles de chargement sur mon disque dure et avoir mise en place des contrôles de d'affichage de pixels. J'aimerais mètres en place une contrôle de fin de lecture des mes vidéos. Actuellement sur mon scripte originale j'ai un MouseClick qui me clics sur des coordonnés qui sont a la fin de de la barre de progression de lectures de mes vidéos. Ce qui me permet de visualisé mes vidéos plus rapidement et de les ajouter au compteur de nombre de vue. Mais il reste toujours entre 1 et 4 seconde a la fin de la visualisation de la vidéos. Ce qui explique actuellement le dernier sleep(4000) qui est gênent et me fait perdre en rapidité.
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.
Merci de me répondre.
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,