MovieStatus()=0
MovieStatus()=0
Quand je lis une video, la commande MovieStatus() me retourne toujours 0.
Pourtant avec la démo je n'avais pas ce problème, que dois-je faire ?
Pourtant avec la démo je n'avais pas ce problème, que dois-je faire ?
Ben non, pas de bug 
Vérifie que ta boucle contient WindowEvent(), et pas WaitWindowEvent()
Perso, j'aime pas trop cette méthode qui consiste à tester l'état de la vidéo directement dans la boucle, mais bon...!
Je préfère mettre ça dans une procédure dédiée a un Timer.

Vérifie que ta boucle contient WindowEvent(), et pas WaitWindowEvent()
Code : Tout sélectionner
;/Constantes Window
Enumeration
#Window_0
EndEnumeration
If InitMovie() = 0
End
EndIf
Movie$ = OpenFileRequester("Sélectionner une vidéo","","Fichiers vidéo (avi, wmv,mpg)|*.avi;*.wmv;*.mpg",0)
If Movie$ : LoadMovie(0,Movie$) : Else : End : EndIf
If OpenWindow(#Window_0, 300, 300, 100, 100, #PB_Window_SystemMenu, "Fenêtre 1",0)
ResizeWindow(MovieWidth(),MovieHeight())
Repeat
Etat = MovieStatus() : SetWindowTitle(#Window_0, Str(Etat)+ " : ''Return'' = Start/Stop : ''P'' = Pause/Resume")
Select WindowEvent() ;<---- et non WaitWindowEvent()...
Case #WM_KEYDOWN
Select EventwParam()
Case #VK_P
If Etat = -1
ResumeMovie()
ElseIf Etat > 0
PauseMovie()
EndIf
Case #VK_RETURN
If Etat > 0
StopMovie()
ElseIf Etat = 0
PlayMovie(0, WindowID(#Window_0))
EndIf
EndSelect
Case #PB_EventCloseWindow
FreeMovie(0) : quit = #True
EndSelect
Until quit
End
EndIf
Je préfère mettre ça dans une procédure dédiée a un Timer.
Ca marche bien, j'ai testé sur mon début de lecteur Mci, je passe de 100% de temps CPU à +- 12%
http://purebasic.hmt-forum.com/viewtopic.php?t=1984
Par contre, la fenêtre avec les commandes est beaucoup plus longue à ouvrir avec 20 ms, et même avec 1 ms, on voit nettement le temps d'attente entre l'affichage de la fenêtre, et celui des gadgets.
Le delay(), il faut bien le mettre dans le boucle des évènements, tout de suite après le Repeat, ou à la fin, juste avant Until.
C'est bien ça?
http://purebasic.hmt-forum.com/viewtopic.php?t=1984
Par contre, la fenêtre avec les commandes est beaucoup plus longue à ouvrir avec 20 ms, et même avec 1 ms, on voit nettement le temps d'attente entre l'affichage de la fenêtre, et celui des gadgets.
Le delay(), il faut bien le mettre dans le boucle des évènements, tout de suite après le Repeat, ou à la fin, juste avant Until.
C'est bien ça?