react-controller-audio-player
Version:
A set of primitives to build a simple, flexible audio player
1 lines • 2.81 kB
JavaScript
module.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var u=t[r]={i:r,l:!1,exports:{}};return e[r].call(u.exports,u,u.exports,n),u.l=!0,u.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var u in e)n.d(r,u,function(t){return e[t]}.bind(null,u));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t){e.exports=require("react")},function(e,t,n){"use strict";n.r(t),n.d(t,"default",function(){return a});var r=n(0),u=n.n(r);function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,u=!1,o=void 0;try{for(var a,c=e[Symbol.iterator]();!(r=(a=c.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){u=!0,o=e}finally{try{r||null==c.return||c.return()}finally{if(u)throw o}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function a(e){var t=e.src,n=e.children,a=o(Object(r.useState)(!1),2),c=a[0],i=a[1],f=o(Object(r.useState)(!1),2),l=f[0],d=f[1],s=o(Object(r.useState)(!1),2),p=s[0],y=s[1],b=o(Object(r.useState)(0),2),m=b[0],v=b[1],O=o(Object(r.useState)(0),2),j=O[0],g=O[1],S=o(Object(r.useState)(0),2),h=S[0],P=S[1],x=o(Object(r.useState)(0),2),T=x[0],E=x[1],R=u.a.createRef(),_=u.a.createRef(),w=u.a.createRef(),H=function(){return _.current&&w.current?_.current.offsetWidth-w.current.offsetWidth:0};Object(r.useEffect)(function(){R.current.currentTime=h},[h]);return u.a.createElement(r.Fragment,null,u.a.createElement("audio",{"data-testid":"audio-element",ref:R,src:t,onTimeUpdate:function(){var e=R.current.currentTime,t=H()*(e/T);v(t),g(e)},onEnded:function(){return d(!1)},onPause:function(){return d(!1)},onPlay:function(){return d(!0)},onCanPlayThrough:function(){E(R.current.duration),y(!0)}},"Your browser does not support the",u.a.createElement("code",null,"audio")," element."),n({canPlay:p,playing:l,pause:function(){return R.current.pause()},play:function(){return R.current.play()},movePlayHead:function(e){var t,n=H(),r=e.clientX-((t=_.current)&&t.getBoundingClientRect().left);r>=0&&r<=n&&v(r),r<0&&v(0),r>n&&v(n),P(T*(r/n))},playHeadMarginLeft:m,setOnPlayHead:i,onPlayHead:c,duration:T,timeLineRef:_,playHeadRef:w,playedTime:j}))}}]);