[R] Contrôle de fin de lecture d'une vidéos en streaming
Posté : ven. 05 juin 2009 00:12
par JIF
Bonsoir, Après avoir ajouté des contrôles de chargement à mes vidéos et avoir mise en place des contrôles d'affichage de pixels. J'aimerais mètres en place un 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 à 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 ajoutés au compteur de nombre de vue. Mais il reste toujours entre une et 4 secondes à la fin de la visualisation de la vidéos. Ce qui explique actuellement le dernier sleep(4000).
Je cherches donc une fonction qui me calculera tous sa gentiment.
Sa évitera de perdre du temps par rapport aux autres vidéos auquel il ne reste plus que une seconde de visualisation.
Et sa préservera d'un éventuel ralentissement de ma machine.
Voici mon script actuel.
Voici le site ou sont mes vidéos.
Supprimé par JIF
Ma résolution est 1280x1024.
Merci de me répondre.
Je cherches donc une fonction qui me calculera tous sa gentiment.
Sa évitera de perdre du temps par rapport aux autres vidéos auquel il ne reste plus que une seconde de visualisation.
Et sa préservera d'un éventuel ralentissement de ma machine.
Voici mon script actuel.
► 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, 787, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 846, 787, 848, 790, 0xD4D4D2, 30)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1])
MouseClick("left", 532, 787, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_0)
MouseClick("left", 737, 787, 1, 1)
Sleep(5000)
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, 787, 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, 787, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_1)
MouseClick("left", 737, 787, 1, 1)
Sleep(5000)
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, 819, 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, 819, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_2)
MouseClick("left", 737, 819, 1, 1)
Sleep(2000)
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, 787, 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, 787, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_3)
MouseClick("left", 737, 787, 1, 1)
sleep(3000)
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, 787 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, 787, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_4)
MouseClick("left", 737, 787, 1, 1)
Sleep(2000)
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, 787, 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, 787, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_5)
MouseClick("left", 737, 787, 1, 1)
Sleep(3000)
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, 787, 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, 787, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_6)
MouseClick("left", 737, 787, 1, 1)
sleep(3000)
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, 787, 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, 787, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_7)
MouseClick("left", 737, 787, 1, 1)
sleep(3000)
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, 787, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
$coord = PixelSearch( 846, 787, 848, 790, 0xD4D4D2, 30)
If Not @error Then
MouseClick("left", $coord[0] , $coord[1] )
MouseClick("left", 532, 787, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_8)
MouseClick("left", 737, 787, 1, 1)
sleep(3000)
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, 787, 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, 787, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_9)
MouseClick("left", 737, 787, 1, 1)
sleep(3000)
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, 787, 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, 787, 1, 1)
exitloop 1 ; On sort de la boucle
EndIf
Next
$f = detecteNouveauChargement()
detecteFinChargement($f, $TAILLE_FICHIER_10)
MouseClick("left", 737, 787, 1, 1)
sleep(5000)
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(3000)
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_ExitVoici le site ou sont mes vidéos.
Supprimé par JIF
Ma résolution est 1280x1024.
Merci de me répondre.
Cordialement JIF