Lecteur vidéo HTML5 comportement sur iPhone et iPod Safari Web Apps
Sur l'iPhone et l'iPod, si une vidéo de YouTube, est incorporé dans une page web, l'utilisateur peut toucher la vidéo et la vidéo démarre—le iOS media player glisse dans et la lecture de la vidéo en plein écran en orientation paysage. Une fois la vidéo terminée, la lecture, l'iOS media player glisse en arrière, révélant le web page où la vidéo a été intégré.
En utilisant le HTML5 <video>
tag, l'utilisateur peut toucher la vidéo et de la vidéo "zoom" plein écran et commencer à jouer en ce que le dispositif actuel de l'orientation est. Une fois la vidéo terminée, la lecture, l'utilisateur doit appuyer sur une fois pour afficher les commandes du lecteur, puis appuyez sur "Terminé" pour revenir à la page web.
Malheureusement, le téléchargement de mes vidéos sur YouTube n'est pas une option pour cette application, et je n'ai pas trouvé de lecteur vidéo HTML5 qui renvoie vers le site web après la vidéo est fini de jouer. Je préfère que le lecteur vidéo présente le même comportement que les YouTube vidéos intégrées, ou que la vidéo joue en ligne. Le forçage de la vidéo en ligne est possible dans une mesure UIWebView
, mais malheureusement, ce n'est pas une option (comme c'est censé être une web app, pas une application native). En outre, la <video>
propriété webkit-playsinline
ne fonctionne pas.
Il y a aucune vidéo de HTML5 joueurs qui peuvent reproduire les incorporés de vidéo YouTube comportement? Ai-je raté une évidente Javascript solutions de contournement? Est-il une méthode pour dire que la fenêtre de la vidéo est fini de jouer sans interaction de l'utilisateur?
EDIT:
Grâce à Jan, ce problème est résolu. Code de travail qui suit, avec une liste des erreurs/notes.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>scratchpad</title>
</head>
<body>
<video id="video">
<source src="movie.mp4" type="video/mp4" />
</video>
<script type="text/javascript">
document.getElementById('video').addEventListener('ended',function(){document.getElementById('video').webkitExitFullScreen();},false);
</script>
</body>
</html>
Erreurs que j'ai faites:
1. Oublié d'ajouter un ID dans la <video>
tag.
2. Tests pour webkitSupportsFullscreen
—je ne pouvais pas obtenir la propriété de tester le "vrai". Un commentaire dans le code ce post sur le forum dit,
//note: .webkitSupportsFullscreen is false while the video is loading
mais j'ai été incapable de créer un état dans lequel il a renvoyé true.
3. Complètement raté cette stackoverflow post.
OriginalL'auteur whlteXbread | 2011-03-25
Vous devez vous connecter pour publier un commentaire.
Hm, ne peut pas essayer moi-même...mais sûr que vous avez vu cela?
http://developer.apple.com/library/safari/#documentation/AudioVideo/Reference/HTMLVideoElementClassReference/HTMLVideoElement/HTMLVideoElement.html#//apple_ref/doc/uid/TP40009356
"WebkitEnterFullScreen()" pourrait être votre ami (bien que le doc a dit sa lecture seule):
http://nathanbuskirk.com/?p=1
De la vidéo en ligne n'est pas possible sur tout appareil iOS à côté de l'iPad (pour l'instant).
De toute façon, vous pouvez détecter la fin d'une vidéo en Javascript à l'aide d'un Écouteur d'Événement:
Acclamations,
Jan
Génial. Merci beaucoup pour votre aide!
Si vous essayez de manipuler le bouton "Terminé" poussé événement, mais soyez averti que l' "terminé" l'événement n'est plus tiré dans iOS > 4.3. Maintenant, le seul événement qui est déclenché est "pause", qui n'est pas utile à tous car c'est le même événement déclenché lors de la lecture ET de Pause touches sont pressées.
Dans cet exemple, je n'essaie pas de manipuler le bouton "Terminé" poussé événement. Je viens de tester la liste de code dans iOS 5.0 et il a travaillé comme annoncé. C'est-à-dire que le
ended
événement lancé quand la vidéo fini de jouer et le lecteur vidéo est sorti.puis-je obtenir "en pause" l'événement de la vidéo de même? Je veux quitter le mode plein écran lorsque l'utilisateur presse la touche pause sur le lecteur vidéo par défaut de l'iPhone..
OriginalL'auteur Jan Petzold