@kokotree-inc/videojs-smooth-slider-plugin
Version:
A Video.js plugin that enhances the seek bar with smooth seeking functionality, allowing for a more responsive and precise user interaction during video playback. It overrides the default handleMouseMove and getPercent methods of the SeekBar component to
1 lines • 1.77 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("video.js")):"function"==typeof define&&define.amd?define("VideoJsUpnextPlugin",["video.js"],t):"object"==typeof exports?exports.VideoJsUpnextPlugin=t(require("video.js")):e.VideoJsUpnextPlugin=t(e.videojs)}(this,(function(e){return function(){"use strict";var t={984:function(t){t.exports=e}},o={};function r(e){var n=o[e];if(void 0!==n)return n.exports;var i=o[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return function(){r.r(n);var e=r(984),t=r.n(e);const o=t().getPlugin("plugin"),i=t().getComponent("SeekBar");t().registerPlugin("smoothSeek",class extends o{static VERSION="1.1.4";timeBuffer;constructor(e,t){super(e,t),void 0===t&&(t={}),this.timeBuffer="number"==typeof t.timeBuffer?t.timeBuffer:5,this.modifySeekBar(e)}modifySeekBar(e){const t=this.timeBuffer;Date.now();const o=i.prototype.handleMouseMove,r=i.prototype.getPercent;i.prototype.handleMouseMove=function(o){if(!e)return;let r=this.calculateDistance(o)*e.duration();r===e.duration()&&(r-=t),e.currentTime(r),this.update()},i.prototype.getPercent=function(){if(!e)return 0;const t=e.currentTime()/e.duration();return t>=1?1:t},e.restoreOriginalSeekBar=()=>{i.prototype.handleMouseMove=o,i.prototype.getPercent=r}}})}(),n}()}));