|
Lire des vidéos en boucle ? |
Débuté par Fabrice, 27 sep. 2013 13:47 - 4 réponses |
| |
| | | |
|
| |
Membre enregistré 33 messages Popularité : +1 (1 vote) |
|
Posté le 27 septembre 2013 - 13:47 |
Bonjour,
je voulais savoir si l'un d'entre vous avait bidouillé du code pour permettre d'offrir la possibilité de lire une vidéo en boucle. Ni les fonctions MCI ni les fonctions Multimedia n'offrent cette possibilité sous Windev ou Windev Mobile (Je pourrais tenter de compter le nombre d'images grâce aux fonctions MCi et tenter un retour à 0 lorsque la vidéo arrive à la dernière image, mais sur pas mal de vidéos retravaillées les fonctions MCIPosition et MCIFormatPosition posent problème).
D'avance merci pour vos propositions. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 75 messages Popularité : +2 (2 votes) |
|
Posté le 28 septembre 2013 - 15:06 |
en wm18, il y a l'objet multimedia
qui permet de lancer un .mp3 ou video,
pour boucler, il suffi de lancer un timer qui vérifie si le multimédia est termine ou pas, si terminé relance le multimedia
je l'utilise uniquement avec des .mp3 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 75 messages Popularité : +2 (2 votes) |
|
Posté le 28 septembre 2013 - 15:06 |
en wm18, il y a l'objet multimedia
qui permet de lancer un .mp3 ou video,
pour boucler, il suffi de lancer un timer qui vérifie si le multimédia est termine ou pas, si terminé relance le multimedia
je l'utilise uniquement avec des .mp3 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
Posté le 29 octobre 2018 - 15:18 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 67 messages Popularité : +5 (5 votes) |
|
Posté le 29 octobre 2018 - 19:45 |
Merci pour ce tuto bien pédagogique,
j'ai heureusement trouvé une solution depuis 2013 .
Pour ma part j'utilise Threadexecute plutôt que TimerSys :
SI MultimédiaJoue(MM_Video) = Faux ALORS Erreur("Impossible de jouer le fichier", ErreurInfo()) FIN
Multitâche(-50)
ThreadExecute("ThreadLecture", threadNormal, ThreadLecture)
puis dans le code de threadLecture je mets :
Procedure ThreadLecture()
nNewPosition est un entier hTemps est une Heure sPosition est une chaîne sPositionAffichee est une chaîne nEtatVideo est un entier
BOUCLE nNewPosition = MultimediaPosition(MM_Video) SI nNewPosition >= 0 ALORS hTemps = EntierVersHeure(nNewPosition / 10) sPosition = HeureVersChaîne(hTemps, "HH:MM:SS:CC") nEtatVideo = MultimédiaEtat(MM_Video) SI nEtatVideo = MultimédiaEtatJoue ALORS SI sPosition <> sPositionAffichee ALORS sPositionAffichee = sPosition ExécuteThreadPrincipal(AffichePosition, nNewPosition, nEtatVideo) FIN SINON sPositionAffichee = sPosition ExécuteThreadPrincipal(AffichePosition, nNewPosition, nEtatVideo) SORTIR FIN SINON SORTIR FIN FIN
AffichePosition() me permet de faire avancer une jauge de défilement sous la vidéo, et je gère donc aussi les boutons pause, stop, retour arrière…
NOTE : attention, ça reste très instable sous iOS : lorsqu'on clique très rapidement sur mes boutons pause / lecture plusieurs fois de suite, ça part régulièrement en sucette (fermeture intempestive de la fenêtre, boutons qui deviennent inactifs…). Je n'ai toujours pas isolé ce problème, a priori faut rajouter des multitâches pour laisser les procédures et raffraichissements écrans se terminer. |
| |
| |
| | | |
|
| | | | |
| | |
|