IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

[YouTube]Informations sur une vidéo


Sujet :

APIs Google

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 68
    Points : 53
    Points
    53
    Par défaut [YouTube]Informations sur une vidéo
    j'ai dans ma page html 4 videos youtube(balise iframe),j'utilise l'api youtube iframe, je veux que lorsque l'evenement pause se declanche je récupère le durée de lecture courante de la videao( grâce à la methode getCurrentTime() de l'api), j'ai fais ça


    Code : 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
    function onYouTubeIframeAPIReady() {
        $('.a').each(function(i){
      //Une ou plusieurs instructions JavaScript
                        $div = $(this),
                        id = $div.attr('id'),
                       videoArray[i] = {};
                       videoArray[i].id = id;
                    })
    	// insert YouTube Player objects into our playerArray
    	for (var j = 0; j < videoArray.length; j++) {
    		playerArray[j] = new YT.Player(videoArray[j].id, {
                        videoId:videoArray[j].id,
    			events: {
                                    'onReady': onPlayerReady,
    				'onStateChange': onPlayerStateChange(j)
    			}
    		});
    	}
    }
    function onPlayerReady() {
       //event.target.playVideo();
        }
    // when the player changes states
    function onPlayerStateChange(event) {
    	   console.log("playerStateChange");
    	// if the video begins playing, send the event
    	if (event.data == YT.PlayerState.PLAYING) {
    		console.log("PLAYING");
    	}
            if (event.data == YT.PlayerState.PAUSED) {
    		console.log(playArray[j].getCurrentTime());
    	}
    	// if the video ends, send the event
    	if (event.data == YT.PlayerState.ENDED) {
    		console.log("ENDED");;
    	}
    }
    Mais ça n'a pas marché.
    le code de l'erreur est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Uncaught TypeError: Cannot call method 'apply' of undefined
    g.I 
    g.j 
    g.J 
    X.b
    Wa.f
    Merci d'avance

  2. #2
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 68
    Points : 53
    Points
    53
    Par défaut
    voici la solution pour ceux que leur interessent.

    Code : 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
    <script type="text/javascript">
     
                var playerArray = [],
                videoArray = [], j;
     
     
     
    function onYouTubeIframeAPIReady() {
        $('.a').each(function(i){
      //Une ou plusieurs instructions JavaScript
                        $div = $(this),
                        id = $div.attr('id'),
                       videoArray[i] = {};
                       videoArray[i].id = id;
                    })
    	// insert YouTube Player objects into our playerArray
    	for (j = 0; j < videoArray.length; j++) {
    		playerArray[videoArray[j].id] = new YT.Player(videoArray[j].id, {
                        videoId:videoArray[j].id,
    			events: {
                                    'onReady': onPlayerReady,
    				'onStateChange': createYTEvent(videoArray[j].id)
    			}
    		});
    	}
    }
     
    // when the player changes states
    function createYTEvent(frameID) {
        return function (event) {
            var player = playerArray[frameID]; // Set player reference
           if (event.data == YT.PlayerState.PAUSED) {
    		console.log(frameID+": "+player.getCurrentTime());
                    }
            }
    }
    function onPlayerReady() {
       //event.target.playVideo();
        }
     
            </script>
    Salem

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Forcer l'affichage d'informations sur une vidéo
    Par ToTo13 dans le forum Android
    Réponses: 0
    Dernier message: 06/01/2011, 01h54
  2. Réponses: 9
    Dernier message: 13/12/2007, 15h20
  3. Informations sur une vidéo (durée, codec...) possible ?
    Par Kijer dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 27/05/2006, 02h34
  4. Comment avoir des information sur une BD?…
    Par kikimnet dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/02/2005, 10h20
  5. Mettre du texte sur une vidéo(ou par dessus un tmediaplayer)
    Par souch dans le forum Composants VCL
    Réponses: 9
    Dernier message: 08/07/2004, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo