2012-06-01 14 views
22

To mnie zabija przez cały dzień, ale nie jestem pewien, jak uzyskać odtwarzacz wideo HTML5 bez natywnych elementów sterujących.Wideo na iPada z iPada bez kontroli?

Nie chcę żadnych kontroli, ale jeśli nie uwzględnię ich, wideo nie wydaje się chcieć grać, nawet jeśli dodam trochę javascriptu poniżej, próbując zmusić go do grania, działa na iPhonie i wiele przeglądarek, ale nie iPad, który jest dziwny, jakiś pomysł?

Oto kilka znaczników, jeśli to pomaga!

<video src="video.mp4" id="video" poster="image.jpg" onclick="this.play();"/></video> 

$('#video').click(function(){ 
    document.getElementById('video').play(); 
}); 

Odpowiedz

13

System iOS nie obsługuje atrybutu wideo tagu autoplay. Wydaje się również, że nie można użyć jQuery do powiązania zdarzenia kliknięcia z elementu wideo (patrz fiddle).

Rozwiązaniem jest umieszczenie niewidoczny div nad elementem wideo i powiązać kliknięcie, które odtwarza wideo do tego (patrz 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

Dzięki za jasną odpowiedź, dam to spin i wrócić po;)) – user1370288

+0

Pracował urok. – user1370288

8

Z założenia nie można automatycznie odtwarzać wideo, ale jest na tyle prosty, aby usunąć z kontroli po rozpoczęciu odtwarzania, który zgaduję to efekt naprawdę chcesz:

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

Nie jestem pewien, czy 'preload =" auto "' robi cokolwiek, czy nie na iPadzie, ale to nie boli. – Doin

+0

Naprawiłem moje problemy! –

+0

To działało dla mnie i mogę nawet użyć jQuery do dynamicznego dodawania podpórki 'onplaying' do tagu, jeśli ktoś używa niektórych wtyczek odtwarzacza wideo, które ukrywają znacznik' video' –

3

Najlepsze, co mogę zrobić odtwarza wideo, gdy tylko użytkownik dotknie ekranu, aby cokolwiek zrobić, a nawet przewija stronę.

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

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

użyłem tego

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

controls=“true” - sprawia, że ​​działają na iPadzie

autoplay - sprawia, że ​​autoodtwarzana wyjątkiem ruchomej

onplaying="this.controls=false" - usuwa kontrole podczas odtwarzania

To autoplays o n laptopa i działa na iPadzie!
dziękuję Doin

Powiązane problemy