2013-05-22 15 views
6

Ich passe meine Auflösungsumschaltung für Vidcaster auf VideoJS in ein Plugin an (siehe https://github.com/videojs/video.js/pull/233).VideoJS 4 native Steuerelemente jetzt standardmäßig auf Mobilgeräten?

In VideoJS 3.2 waren die VideoJS-Steuerelemente auf mobilen Plattformen wie Android und iOS aktiv. Jetzt, wenn ich Version 4 hochfahre, scheinen die nativen Steuerelemente Vorrang zu haben. Dies bedeutet, dass Funktionen, die Aktionen auf Steuerleistenschaltflächen wie Tracks usw. erfordern, nicht zugänglich sind, richtig?

Wir möchten weiterhin eine Auflösung Umschalttaste für unsere mobilen Benutzer präsentieren. War die Entscheidung, auf die nativen Kontrollen zu verzichten, eine absichtliche philosophische Entscheidung? Wenn ja, wo im Code findet diese Entscheidung statt? Ich habe seit einer Weile dafür gegraben.

Sehr geschätzt.

Antwort

11

Laut der source sind die nativen Steuerelemente standardmäßig auf iOS und Android "bis Kontrollen auf diesen Geräten stabiler sind".

<video data-setup='{"customControlsOnMobile": true}' … würde die video.js-Steuerelemente aktivieren, aber beachten Sie, dass sie aus einem bestimmten Grund deaktiviert sind.

Aktualisierung: Diese Frage und Antwort beziehen sich auf video.js 4. Für video.js 5 ist das Äquivalent nativeControlsForTouch: false. Native Steuerelemente werden immer auf dem iPhone und älteren Android-Versionen verwendet, von denen bekannt ist, dass sie mit benutzerdefinierten Steuerelementen problematisch sind.

+0

Ah, diese Option wurde hinzugefügt, nachdem ich das Repo geklont habe, also habe ich es nicht gefunden. Obwohl es die richtige Antwort zu sein scheint, scheint diese Option allein nichts zu tun, zumindest nicht auf iOS. Ich werde mehr Zeit damit verbringen müssen, mit Optionen zu spielen und die Quelle zu lesen. Es ist möglich, dass VideoJS das Rendern von Menüs auf Mobilgeräten momentan nicht unterstützt. – onyxrev

+2

Mein Daten-Setup war eigentlich ein ungültiger JSON (Schlüssel immer angeben!), So dass die Optionen nie richtig analysiert wurden. Sie haben Recht - dies aktiviert die VideoJS-Steuerelemente auf Mobilgeräten. – onyxrev

5

Derzeit ist die Option zum Initialisieren eines Videos, das die benutzerdefinierten Steuerelemente von Videojs und nicht die nativen Steuerelemente (z. B. iOS) anzeigt, nativeControlsForTouch: false. Kann in der Quelle here gefunden werden. Diese Option kann wie in der Antwort oben durch <video data-setup='{"nativeControlsForTouch": false}' … oder durch JavaScript festgelegt werden: vjs('video_id', {nativeControlsForTouch: false});

+0

Danke für dieses @jweileder. Ich wusste nichts von dieser Funktion. Getestet über Browserstack mit Video.js v4.5.1. Hier ist, was ich gefunden habe: ** iOS 7 + ** Works. ** iOS 5.0 - 6.0 ** Funktioniert, aber das erneute Laden der Seite bringt native Steuerelemente zurück. Ich stelle mir vor, dass native Steuerelemente bei einem erneuten Besuch auf der Seite wieder angezeigt werden, vorausgesetzt, dass sie vom Browser zwischengespeichert wird. ** iOS 4.3.2 und niedriger ** Funktioniert nicht. – Derek

Verwandte Themen