Obtenir L'Heure Actuelle De La Vidéo YouTube

J'écris un Plugin de navigateur et j'ai besoin de trouver un moyen d'obtenir l'heure actuelle une vidéo YouTube jouant sur YouTube en utilisant JavaScript. J'ai joué dans la Console JavaScript Chrome et je n'ai pas eu de chance.

Il semble que l'API chrome ne fonctionne qu'avec les lecteurs vidéo intégrés et non avec une vidéo en cours de lecture youtube.com. une option que j'ai examinée est dans la section partager d'une vidéo leur est une boîte de saisie pour le temps" démarrer à: "qui contient l'heure actuelle de la vidéo. J'ai essayé d'utiliser .valeur et .texte sur cette zone de saisie et ils retournent tous les deux undefined? Quelqu'un aurait-il des idées?

27
demandé sur Lightness Races in Orbit 2011-08-07 04:56:29

4 réponses

ytplayer = document.getElementById("movie_player");
ytplayer.getCurrentTime();

Voir l'api

36
répondu Joseph Marikle 2011-08-07 01:04:31

Dépend de ce que vous voulez

player.getCurrentTime():Number

Renvoie le temps écoulé en secondes depuis le début de la lecture de la vidéo.

player.getDuration():Number

Renvoie la durée en secondes de la vidéo en cours de lecture. Note cette getDuration() retournera 0 jusqu'à ce que les métadonnées de la vidéo soient chargées, ce qui se produit normalement juste après que la vidéo commence à jouer.

Http://code.google.com/apis/youtube/js_api_reference.html

8
répondu Jason Gennaro 2011-08-07 01:11:39

Enfin, j'ai trouvé comment le faire fonctionner sur iOS (et Android aussi).
En fait, l'ensemble Youtube JS api a été cassé pour moi si elle est exécutée sur un navigateur mobile.

Problème résolu par création lecteur en utilisant {[0] } comme décrit dans Youtube iframe API .

Veuillez noter: seule la création de <iframe> à partir de <div> espace réservé fonctionne pour les navigateurs mobiles à l'époque. Si vous essayez d'utiliser <iframe> existant dans new YT.Player appel, comme mentionné dans L'API IFrame, cela ne fonctionne pas.

Après la création du lecteur, il est possible d'utiliser player.getCurrentTime() ou player.getDuration() avec l'instance player créée.

Note: je n'ai pas eu de chance d'appeler ces méthodes sur le joueur obtenu avec
player = document.getElementById(...) (de @ JosephMarikle réponse).
Seule l'instance player créée fonctionnait dans les navigateurs mobiles.


Liens Utiles:

6
répondu zxcat 2016-02-19 13:29:16

Juste pour info, il y a une nouvelle API iframe pour le lecteur YouTube: https://developers.google.com/youtube/iframe_api_reference

1
répondu Susanne 2015-09-09 17:25:10