2012-06-01 5 views
22

Dies hat mich den ganzen Tag getötet, aber ich bin mir nicht sicher, wie man einen HTML5 Video Player ohne die nativen Kontrollen arbeiten.iPad html5 Video mit NO Kontrollen?

Ich möchte keine Steuerelemente was auch immer, aber wenn ich sie nicht einschließen, scheint das Video nicht zu spielen, auch wenn ich etwas Javascript unten versuche, es zum Spielen zu zwingen, funktioniert es auf dem iPhone und mehrere Browser, aber kein iPad, das ist seltsam, irgendeine Idee?

Hier ist etwas Markup, wenn es hilft!

Antwort

13

iOS unterstützt das Attribut autoplay des Video-Tags nicht. Es scheint auch, dass Sie jQuery nicht verwenden können, um an ein Klickereignis vom Videoelement zu binden (siehe fiddle).

Eine Abhilfe ist ein unsichtbares div über das Video-Element zu positionieren und den Klick binden, die das Video auf das spielt (siehe fiddle):

HTML:

<div id="video-overlay"></div> 
<video id="video" width="400" height="300"> 
     <source id='mp4' 
     src="http://media.w3.org/2010/05/sintel/trailer.mp4" 
     type='video/mp4'> 
     <source id='webm' 
     src="http://media.w3.org/2010/05/sintel/trailer.webm" 
     type='video/webm'> 
     <source id='ogv' 
     src="http://media.w3.org/2010/05/sintel/trailer.ogv" 
     type='video/ogg'> 
</video> 

CSS:

#video { border: 1px solid black; } 
#video-overlay { position: absolute; width: 400px; height: 300px; z-index: 999; } 

jQuery:

$('#video-overlay').click(function(){ 
    document.getElementById('video').play(); 
}); 
+0

Danke für die klare Antwort, ich werde dies eine Drehung geben und zurück nach;)) – user1370288

+0

Arbeitete ein Charme. – user1370288

8

Mit dem Design können Sie nicht automatisch wieder Video, aber es ist einfach genug, um die Kontrollen zu entfernen, nachdem die Wiedergabe gestartet wird, die ich vermute, mich ist die Wirkung, die Sie wirklich wollen:

<video id="video" src="video.mp4" poster="image.jpg" preload="auto" onplaying="this.controls=false"/></video> 
+0

Ich bin mir nicht sicher, ob das 'preload =" auto "' alles auf einem iPad tut oder nicht, aber es tut nicht weh. – Doin

+0

Das hat meine Probleme behoben! –

+0

Dies funktionierte für mich und ich kann sogar jQuery verwenden, um 'onsplaying'-Props dynamisch zum Tag hinzuzufügen, wenn jemand einige Video-Player-Plugins verwendet, die das' video'-Tag verbergen –

3

Das Beste, was ich tun kann, Ist das Video abgespielt, sobald der Benutzer den Bildschirm berührt, um etwas zu tun, scrollen Sie sogar die Seite herunter.

function playVideoNow(e) 
{ 
    document.getElementById('video').play(); 
    document.removeEventListener('touchstart', playVideoNow); 
} 

document.addEventListener('touchstart', playVideoNow, false); 
5

ich verwendet, um dieses

<video id="video" controls=“true” width="300" height="250" poster="gray30x25.gif" autoplay onplaying="this.controls=false"> 

controls=“true” - auf ipad

autoplay Arbeit macht - es außer mobilen

onplaying="this.controls=false" automatisch wieder macht - entfernt die Kontrollen, wenn

spielen Es autoplays o n Laptop und funktioniert auf dem iPad!
danke Doin