web-dev-qa-db-fra.com

Faire un post vidéo rediriger vers le post suivant après l'achèvement

Je souhaite que les messages vidéo soient redirigés vers le prochain message vidéo de sa catégorie une fois terminé. J'utilise à la fois des vidéos youtube et des vidéos directement téléchargées, dont je sais déjà tirer la durée en quelques secondes. Comment puis-je les utiliser pour atteindre mon objectif?

5
Pollux Khafra

Notes avant

Ce que vous demandez est une chose très complexe:

  1. Charger le message suivant après WP _ internal Données terminées, jouées avec un lecteur tiers
  2. Charger le prochain article après la lecture du lecteur YouTube (javascript ou ActionScript)

Le problème n'est pas la redirection 1), mais plus comment vous voulez savoir comment et quand charger le prochain post.

1) Lequel (/ imho) devrait être une charge ajax du poste actuel.

API YouTube

Vous pouvez vérifier si la vidéo est terminée avec un écouteur simplement javascript

player.getPlayerState()

Valeurs de retour disponibles:

-1 // unstarted
0 // ended
1 // playing
2 // paused
3 // buffering
5 // video cued

Lien vers la fonction Google-YouTubeAPI ici

Pour commencer, vous devez: a) avoir un auditeur qui détecte l’état du lecteur lorsqu’il change et b) déclencher un appel ajax.

L'appel ajax serait un simple appel wordpress par défaut pour recharger le contenu de (par exemple) le div du parent. Il suffit de chercher dans les archives ajax ici sur la page si vous ne savez pas comment WP traite les demandes ajax.

// Example for the listener
// player is the var that holds your player - you'll need to set it
jQuery( player ) .on(
     'onStateChange'
    ,function( ev )
     {
        if ( 0 === ev )
        {
            // Perform the ajax next post load here
        }
     }
);

Vidéos internes (hébergées personnellement)

Voici le vrai problème. Vous avez besoin d’un lecteur offrant les mêmes caractéristiques que le lecteur YouTube: possibilité de récupérer un changement de statut une fois la lecture de la vidéo terminée. Cela dépend fortement du joueur et je n'ai aucune recommandation à ce stade.

Ta chance!

Il y a la "API JavaScript pour un lecteur sans chrome". Une citation de l'API YouTube:

Si votre application utilise un lecteur sans chrome, utilisez l'URL suivante pour charger le lecteur dans votre application et activez les gestionnaires d'API JavaScript dans le lecteur. Vous pouvez ensuite créer vos propres contrôles de lecteur personnalisés à l'aide de JavaScript:

Une dernière note de YouTube.

Pour tester l’un de ces appels, votre fichier doit être exécuté sur un serveur Web, car Flash Player limite les appels entre les fichiers locaux et Internet.

5
kaiser