Gibt es eine Möglichkeit zu erkennen, ob der Aufruf play()
auf einem Videoelement ohne eine Benutzergeste erlaubt ist? Auf Android Chrome wird diese Warnung gegeben:Feature erkennen, ob Benutzergeste benötigt wird
Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture.
So auf Chrome Android eine Benutzergeste erforderlich ist, um die Wiedergabe eines Videos zu starten, während es nicht auf Desktop-Chrome ist. Gibt es eine Möglichkeit zu erkennen, welches Verhalten ich bekommen werde?
Ich möchte ein etwas anderes Verhalten in meiner App haben, abhängig davon, ob ein programmatisches Anrufen erlaubt ist oder nicht.
Ich habe versucht, Modernizr.videoautoplay
zu verwenden, aber das überprüft, ob die autoplay
Eigenschaft auf dem Element, das ist nicht die gleiche Sache. Dies ergibt falsche negative Ergebnisse für IE11 und Edge.
Bearbeiten: hinzugefügt an example. Das Video wird automatisch in Chrome Desktop und IE11 oder Edge (mit 3s Verzögerung) auf Windows 8 oder 10 abgespielt. Für Chrome @ Android ist eine Benutzerinteraktion erforderlich (klicken Sie auf die Schaltfläche) und die Fehlermeldung wird in der Konsole angezeigt.
Können Sie ein Codebeispiel mit diesem Fehler posten? – Patrick
Hallo @Patrick Ich habe die Frage mit einem Link zu einem Beispiel aktualisiert. Es ist ein wenig komplex (Frames zum Video Stück für Stück hinzufügen), aber das Problem kann gesehen werden – oskbor
Hallo @oskbor, haben Sie eine Lösung dafür bekommen? – Biswarup