HTML5-Video auf IPad abspielen und suchen

8

Sehr seltsame Fehler, die ich nicht herausfinden kann.

Ich versuche, ein HTML5-Video von einer bestimmten Position aus zu spielen, wenn ein Benutzer auf "Play" klickt. Ich versuche, es richtig zu suchen, wenn das Video abgespielt wird.

Bei meinem Spielereignis mache ich this.currentTime = X

Im Browser funktioniert es gut. Aber auf dem IPad, wenn ich das Video abspiele, sucht das Video nicht nach der richtigen Position (es beginnt bei Null).

Noch seltsamer, wenn ich den this.currentTime = X Aufruf in einem setTimeout von sagen wir mal 1 Sekunde mache, funktioniert es auf dem IPad (manchmal).

    
K2xL 28.06.2012, 20:06
quelle

5 Antworten

-2

Schätzen Sie die folgenden Lösungsversuche. Leider musste man einfach ins timeupdate einchecken, wenn die aktuelle Zeit & gt; 0 und & lt; 1, wenn es dann ging zu diesem Teil des Videos und entfernt den Hörer auf timeupdate.

    
K2xL 29.06.2012, 17:29
quelle
4

Laden Sie unter iOS Videos zur Spielzeit (siehe Punkt 2), nicht zum Laden der Seite. Meine Vermutung ist, dass das Video nicht geladen wird, wenn Sie this.currentTime = X ausführen, also hat es keinen Effekt. Dies erklärt auch, warum eine Verzögerung der Operation manchmal das Problem beheben kann: manchmal wurde sie nach einer Sekunde geladen, manchmal nicht.

Ich habe kein iOS-Gerät zum Testen, aber ich würde vorschlagen, eine loadeddata zu binden Listener zu dem Video, so dass deine currentTime -Manipulation nur passiert, nachdem das Video geladen wurde:

%Vor%

Sie müssen isIOSDevice anderswo in Ihrem Code festlegen, abhängig davon, ob der aktuelle Besuch von einem iOS-Gerät stammt.

    
apsillers 28.06.2012 20:26
quelle
3

Während diese Frage ziemlich alt ist, bleibt das Problem offen. Ich habe eine Lösung gefunden, die auf mehreren getesteten iPads (1 + 2 + 3) für iOS 5 und 6 (iOS3 + 4 nicht getestet) funktioniert:

Grundsätzlich müssen Sie zuerst auf das initiale playing -Ereignis warten, dann einen einmaligen Binder für canplaythrough und dann für progress hinzufügen - nur dann können Sie tatsächlich den currentTime -Wert ändern. Alle Versuche davor werden fehlschlagen!

Das Video muss zuerst abgespielt werden, was eine schwarze Ebene über dem Videoelement praktisch macht. Leider können Sounds innerhalb des Videos NICHT über JavaScript deaktiviert werden - & gt; kein perfektes UX

%Vor%

Das Ganze kann von meinem GitHub Repo

heruntergeladen werden     
Jörn Berkefeld 11.12.2012 19:06
quelle
1

apsillers ist richtig. Sobald das Video abgespielt wird, erscheint der Quicktime-Player und das Video kann nicht gefunden werden, bis das erste "Fortschritt" -Ereignis ausgelöst wird. Wenn Sie versuchen, danach zu suchen, erhalten Sie einen ungültigen Statusfehler. Hier ist mein Code:

%Vor%     
wolverdude 29.09.2013 08:46
quelle
-2

versuche, deine X auf 1 Dezimalstelle zu begrenzen

%Vor%

Wie Sie bereits erwähnt haben, funktioniert es manchmal nach einer Sekunde. Haben Sie versucht, die Position festzulegen, nachdem das Ereignis playing ausgelöst wurde? oder vielleicht sogar das canplaythrough -Ereignis

Sehen Sie sich die Quelle von dieser Seite an, um eine ganze Liste von Ereignissen zu sehen kann verwendet werden (in der Javascript-Datei)

    
bart s 28.06.2012 20:15
quelle

Tags und Links