====== API Vimeo ====== * [[https://developer.vimeo.com/api/reference|Doc main API]] - [[https://github.com/vimeo/player.js#create-a-player|Doc API javascript]] * [[https://developer.vimeo.com/api/start|Doc générale]] * [[https://help.vimeo.com/hc/en-us/articles/360001494447-Using-Player-Parameters|Paramètre d'iframes directes]] * [[https://codepen.io/henripeetsmann/pen/KpVVLq|Codepen vidéo plein écran]] + CSS qui cache le HUD (coupe l'image cela dit, on ne peut pas modifier de force leur CSS à cause de l'iframe) * [[https://stackoverflow.com/questions/12432087/with-vimeo-plus-account-how-to-hide-remove-the-play-button-in-the-middle-of-a#answer-34047998|Stackoverflow remove all control]] - à tester * [[https://zaption.zendesk.com/hc/en-us/articles/204445495-How-can-I-remove-the-controls-from-my-Vimeo-video-|Affichage minimum en compte pro]] * [[https://github.com/vimeo/player.js/issues/282|Multi viewer sound level synchronisation]] ----------------- ==== Notes sur l'API javascript ==== Le paramètre background=true, qui nécessite que le compte ayant posté la vidéo soit au moins Plus (payant), lance les vidéos automatiquement mais les contrôles sont toujours là. **On peut override ça avec un &autoplay=0**. Si on utilise [[https://help.vimeo.com/hc/en-us/articles/360000121668-Starting-playback-at-a-specific-timecode|#t]] pour lancer la vidéo à un endroit précis, **l'autoplay est forcé et ignoré dans les paramètres ET les autres paramètres sont ignorés (muted)...** Toutes les fonctions get (comme **getCurrentTime()**) sont asynchrones, probablement à cause des iframes. Ça fout un gros bordel si on veut traiter le temps actuel en direct, il vaut mieux mettre à jour une variable en amont avec l'event timeupdate (qui ne se déclenche plus quand la vidéo est en pause). === Events === **bufferstart** et **bufferend** ne se déclenchent pas si la vidéo ne se joue pas (si on fait play et pause pour précharger par exemple). Aucun des 2 ne se déclenche si la vidéo s'arrête parce qu'elle ne s'est pas chargée. //En fait ils peuvent se déclencher pendant le buffering de la lecture mais de manière inconsistante...//\\ On peut les forcer à se déclencher si les lecteurs sont lancés par un setCurrentTime (même à 0) et qu'il n'y a eu aucun Play ou pause sur le lecteur avant, mais ça force un autoplay (à gérer avec un pause sur le bufferend ?) **pause** ne se déclenche pas non plus en cas d'arrêt pour vidéo non chargée. === Méthodes === * **getDuration()** donne un temps arrondis quand tous le reste utilise des floats, plutôt inutile et peut causer des erreurs. === Problème de "lecture automatique" sur Chrome === [[https://developers.google.com/web/updates/2017/09/autoplay-policy-changes|Source]] - À cause de l'iframe les lecteurs sont considérés comme des pages web à part et ça peut bloquer la lecture de vidéos avec du son. Il faut ajouter ce paramètre dans l'iframe pour éviter ça :