123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- <!doctype html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Video.js Hotkeys</title>
- <link href="https://vjs.zencdn.net/7.4.1/video-js.css" rel="stylesheet">
- <script src="https://vjs.zencdn.net/7.4.1/video.js"></script>
- <style>
- .video-js .vjs-menu-button-inline {
- width: 12em;
- }
- .vjs-menu-button-inline .vjs-menu {
- display: block;
- opacity: 1;
- }
- </style>
- </head>
- <body>
- <div>
- You can see the Video.js Hotkeys plugin in use below.
- Look at the source to see how to use it with your own videos.
- </div>
- <video id="video1" class="video-js vjs-default-skin vjs-big-play-centered" height="300" width="600" controls data-setup="{}">
- <source src="http://vjs.zencdn.net/v/oceans.mp4" type='video/mp4'>
- <source src="http://vjs.zencdn.net/v/oceans.webm" type='video/webm'>
- <source src="http://vjs.zencdn.net/v/oceans.ogv" type='video/ogg'>
- <p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that
- <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
- </video>
- <script src="videojs.hotkeys.js"></script>
- <script>
- // initialize the plugin
- videojs('video1').ready(function() {
- this.hotkeys({
- volumeStep: 0.1,
- seekStep: 5,
- enableMute: true,
- enableFullscreen: true,
- enableNumbers: false,
- enableVolumeScroll: true,
- enableHoverScroll: true,
- // Mimic VLC seek behavior, and default to 5.
- seekStep: function(e) {
- if (e.ctrlKey && e.altKey) {
- return 5*60;
- } else if (e.ctrlKey) {
- return 60;
- } else if (e.altKey) {
- return 10;
- } else {
- return 5;
- }
- },
- // Enhance existing simple hotkey with a complex hotkey
- fullscreenKey: function(e) {
- // fullscreen with the F key or Ctrl+Enter
- return ((e.which === 70) || (e.ctrlKey && e.which === 13));
- },
- // Custom Keys
- customKeys: {
- // Add new simple hotkey
- simpleKey: {
- key: function(e) {
- // Toggle something with S Key
- return (e.which === 83);
- },
- handler: function(player, options, e) {
- // Example
- if (player.paused()) {
- player.play();
- } else {
- player.pause();
- }
- }
- },
- // Add new complex hotkey
- complexKey: {
- key: function(e) {
- // Toggle something with CTRL + D Key
- return (e.ctrlKey && e.which === 68);
- },
- handler: function(player, options, event) {
- // Example
- if (options.enableMute) {
- player.muted(!player.muted());
- }
- }
- },
- // Override number keys example from https://github.com/ctd1500/videojs-hotkeys/pull/36
- numbersKey: {
- key: function(event) {
- // Override number keys
- return ((event.which > 47 && event.which < 59) || (event.which > 95 && event.which < 106));
- },
- handler: function(player, options, event) {
- // Do not handle if enableModifiersForNumbers set to false and keys are Ctrl, Cmd or Alt
- if (options.enableModifiersForNumbers || !(event.metaKey || event.ctrlKey || event.altKey)) {
- var sub = 48;
- if (event.which > 95) {
- sub = 96;
- }
- var number = event.which - sub;
- player.currentTime(player.duration() * number * 0.1);
- }
- }
- },
- emptyHotkey: {
- // Empty
- },
- withoutKey: {
- handler: function(player, options, event) {
- console.log('withoutKey handler');
- }
- },
- withoutHandler: {
- key: function(e) {
- return true;
- }
- },
- malformedKey: {
- key: function() {
- console.log('I have a malformed customKey. The Key function must return a boolean.');
- },
- handler: function(player, options, event) {
- //Empty
- }
- }
- }
- });
- });
- </script>
- </body>
- </html>
|