2013-05-22 4 views
6

VideoJSのVidcasterの解像度切り替え作業をプラグインに適用しています(https://github.com/videojs/video.js/pull/233参照)。VideoJS 4ネイティブコントロールがモバイルでデフォルトになりましたか?

VideoJS 3.2では、VideoJSコントロールがAndroidやiOSなどのモバイルプラットフォームでアクティブになっていました。バージョン4を起動すると、ネイティブコントロールが優先されます。これは、トラックなどのコントロールバーのボタンでアクションを必要とする機能にアクセスできない、正しいことを意味します。

私たちはモバイルユーザーに解像度切り替えボタンを引き続き提供したいと考えています。故意の哲学的なコントロールをネイティブコントロールに延期する決定があったか?もしそうなら、コードのどこでこの決定が行われますか?私はしばらくそれを掘り下げてきました。

非常に高く評価されています。

答えて

11

sourceによれば、ネイティブコントロールは、iOSとAndroidでは「コントロールがこれらのデバイスでより安定するまではデフォルト」となっています。

<video data-setup='{"customControlsOnMobile": true}' …は、video.jsコントロールを有効にしますが、理由により無効になっていることに注意してください。

更新:この質問と回答はvideo.jsに関連しています。4. video.js 5については、nativeControlsForTouch: falseです。ネイティブコントロールは、カスタムコントロールに問題があることが知られているiPhoneや古いバージョンのAndroidで常に使用されます。

+0

私はリポジトリをクローンした後にそのオプションを追加しました。正解のようだが、そのオプションだけでは、少なくともiOSでは何もしないように見える。私はオプションで遊んで時間を過ごすと、ソースを読む必要があります。可能なVideoJSは、現時点で携帯電話でのメニューのレンダリングをサポートしていない可能性があります。 – onyxrev

+2

私のデータセットアップは実際には無効なJSON(常に引用キー!)なので、オプションは正しく解析されませんでした。あなたは正しい - これは、モバイル上のVideoJSコントロールを有効にします。 – onyxrev

5

現在、ネイティブコントロール(iOSなど)ではなくvideojsのカスタムコントロールを表示するビデオを初期化するオプションはnativeControlsForTouch: falseです。 ソースhereにあります。 このオプションは、上記の答えに上記のように設定することができます。<video data-setup='{"nativeControlsForTouch": false}' …またはJavaScript:vjs('video_id', {nativeControlsForTouch: false});

+0

この@jweilderをありがとう。私はこの機能について知らなかった。 Videostjs v4.5.1を使用してBrowserstackでこれをテストしました。ここに私が見つけたものがあります: ** iOS 7 + ** 作品。 ** iOS 5.0 - 6.0 ** 動作しますが、ページを再読み込みするとネイティブコントロールが表示されます。ブラウザがキャッシュしていると仮定して、ネイティブのコントロールがページの再表示に再び表示されると思います。 ** iOS 4.3.2以降** 動作しません。 – Derek

関連する問題