videojs-mobile-ui

Mobile tap controls and fullscreen on rotate for Video.js

Usage no npm install needed!

<script type="module">
  import videojsMobileUi from 'https://cdn.skypack.dev/videojs-mobile-ui';
</script>

README

videojs-mobile-ui

Mobile UI for Video.js.

Touch controls:

  • Double-tap the left side of the player to rewind ten seconds
  • Double-tap the right side of the player to fast-forward ten seconds
  • Single-tap the screen to show a play/pause toggle

Fullscreen control:

  • Rotate to landscape to enter Fullscreen
  • Lock to fullscreen on rotate

Table of Contents

Installation

Installation

npm install --save videojs-mobile-ui

Plugin Options

Default options

{
  fullscreen: {
    enterOnRotate: true,
    exitOnRotate: true,
    lockOnRotate: true
  },
  touchControls: {
    seekSeconds: 10,
    tapTimeout: 300,
    disableOnEnd: false
  }
};

Options

  • fullscreen.enterOnRotate boolean Whether to go fullscreen when rotating to landscape
  • fullscreen.exitOnRotate boolean Whether to leave fullscreen when rotating to portrait (if not locked)
  • fullscreen.lockOnRotate boolean Whether to lock to fullscreen when rotating to landscape
  • fullscreen.iOS boolean Whether to use fake fullscreen on iOS (needed for controls to work)
  • touchControls.seekSeconds int Seconds to seek when double-tapping
  • touchControls.tapTimeout int Milliseconds to consider a double-tap
  • touchControls.disableOnEnd boolean Whether to disable touch controls when the video has ended, e.g. if an endscreen is used. Automatically disables if the endscreen plugin is present when this plugin initialises

Usage

To include videojs-mobile-ui on your website or web application, use any of the following methods.

<script> Tag

This is the simplest case. Get the script in whatever way you prefer and include the plugin after you include video.js, so that the videojs global is available.

<link rel="stylesheet" href="//path/to/videojs-mobile-ui.css">  
<script src="//path/to/video.min.js"></script>
<script src="//path/to/videojs-mobile-ui.min.js"></script>
<script>
  var player = videojs('my-video');

  player.mobileUi();
</script>

The release versions will be available on jdselivr, unpkg etc.

Browserify/CommonJS

When using with Browserify, install videojs-mobile-ui via npm and require the plugin as you would any other module.

var videojs = require('video.js');

// The actual plugin function is exported by this module, but it is also
// attached to the `Player.prototype`; so, there is no need to assign it
// to a variable.
require('videojs-mobile-ui');

var player = videojs('my-video');

player.mobileUi();

Also include the CSS.

RequireJS/AMD

When using with RequireJS (or another AMD library), get the script in whatever way you prefer and require the plugin as you normally would:

require(['video.js', 'videojs-mobile-ui'], function(videojs) {
  var player = videojs('my-video');

  player.mobileUi();
});

Also include the CSS.

Import

To import into React etc import both the package and the script

import videojs from 'video.js'
import 'videojs-mobile-ui/dist/videojs-mobile-ui.css';
import 'videojs-mobile-ui';

License

MIT. Copyright (c) mister-ben <git@misterben.me>