Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including videojs-language-switch with all npm packages installed. Try it out:

var videojsLanguageSwitch = require("videojs-language-switch")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

videojs-language-switch v1.2.0

Control for switching between video language versions

videojs-language-switch

Control for switching between video language versions

Installation

npm install --save videojs-language-switch

The npm installation is preferred, but Bower works, too.

bower install  --save videojs-language-switch

Usage

To include videojs-language-switch 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.

Include an array of languages with sources. This plugin is created to work alongside other quality video controls so you can provide several resoulutions as well as types with each language.

The name property used for each language will be what appears within the menu item.

<script src="//path/to/video.min.js"></script>
<script src="//path/to/videojs-language-switch.min.js"></script>
<script>
  var player = videojs('my-video');

  player.languageSwitch({
    languages: [
      {
        name: 'English',
        sources: [
          {
            src: 'http://bit.ly/2iJXRec',
            type: 'video/mp4',
            res: 'Medium'
          },
          {
            src: 'http://bit.ly/2jxmfwI',
            type: 'video/webm',
            res: 'Medium'
          }
        ]
      },
      {
        name: 'Portuguese',
        sources: [
          {
            src: 'http://bit.ly/2jVlmho',
            type: 'video/mp4',
            res: 'Medium'
          },
          {
            src: 'http://bit.ly/2jVlTzx',
            type: 'video/webm',
            res: 'Medium'
          }
        ]
      }
    ]
  });
</script>

You can provide an option for buttonClass which will add a CSS class to the button icon placeholder element so that you can style it as you wish.

  player.languageSwitch({
    languages: [
      ...
    ],
    buttonClass: 'icon-globe' // Default
  });

You can also provide an option for positionIndex which will position button among the control bar items. Some of the default control bar items are hidden so you need to inspect the bar to find correct index.

  player.languageSwitch({
    languages: [
      ...
    ],
    positionIndex: 5 // Default - item added at the end of the item list.
  });

Browserify

When using with Browserify, install videojs-language-switch 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-language-switch');

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

player.languageSwitch();

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-language-switch'], function(videojs) {
  var player = videojs('my-video');

  player.languageSwitch();
});

License

MIT. Copyright (c) Adam Oliver <mail@adamoliver.net>

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free