Bonjour,
J'essaye de lancez un événement(démarrer l’animation d'une barre de progression) quand je démarre la vidéo YouTube mais ça ne marche pas
Est ce que vous pouvez vérifiez mon code dans le lien ci dessous
jsfiddle
Bonjour,
J'essaye de lancez un événement(démarrer l’animation d'une barre de progression) quand je démarre la vidéo YouTube mais ça ne marche pas
Est ce que vous pouvez vérifiez mon code dans le lien ci dessous
jsfiddle
Salut, tu n'as pas créé d'objet youtube player donc à mon avis, il ne peut rien se passer...
Code html : Sélectionner tout - Visualiser dans une fenêtre à part <div id="player"></div>
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 var player; function onYouTubeIframeAPIReady() { player = new YT.Player('player', { height: '....', width: '.....', videoId: '.....', events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); }
Tout est décrit ici : https://developers.google.com/youtub...eference?hl=fr
Merci pour votre réponse , j'a fait comme vous avez dis mais la barre de progression ne marche pas nouveau code
Je ne vois pas d'implémentation de la fonction onPlayerStateChange(event)...donc rectifie déjà le tir après je n'ai pas le temps de tester aujourd'hui désolé, j'ai du travail pour demain...
Ci-dessous, je commande le démarrage de la video avec onReady et je la stoppe au bout de 3 secondes dans onStateChange...
et tu pourras constater que ça fonctionne. Le problème vient donc maintenant de ta fonction progress (je te laisse voir...)
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 <!DOCTYPE html> <html> <head> <title>Page Title</title> </head> <body> <iframe id="player" class="player" src="https://www.youtube.com/embed/5Wn85Ge22FQ?&enablejsapi=1&autoplay=0&showinfo=0&controls=0&rel=0" frameborder="0" allowfullscreen></iframe> <script> var tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var stop=false; var player; function onYouTubeIframeAPIReady() { player = new YT.Player('player', { events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); } function onPlayerStateChange(event){ if (event.data == YT.PlayerState.PLAYING) progress(); } function onPlayerReady(event) { event.target.playVideo(); } function progress() { if (!stop) var timer=setInterval(function(){ player.stopVideo(); stop=true; },3000); else clearInterval(timer); } </script> </body> </html>
Pour ta fonction progress(), tu auras besoin de player.getCurrentTime() et de player.getDuration()... sinon ta progress Bar ne pourra pas fonctionner...
La Doc officielle avec toutes les méthodes ....
https://developers.google.com/youtub...eference?hl=fr
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Partager