diff --git a/README.md b/README.md index de19596..34fe863 100644 --- a/README.md +++ b/README.md @@ -29,22 +29,23 @@ npm i vue-audio-recorder --save ## AudioRecorder props -| Prop | Type | Description | -| --------------------- | -------- | --------------------------------------------------------------- | -| attempts | Number | Number of recording attempts | -| compact | Boolean | Hide the download and upload buttons | -| headers | Object | HTTP headers | -| time | Number | Time limit for the record (minutes) | -| upload-url | String | URL for uploading | -| start-record | Function | Fires after click the record button | -| stop-record | Function | Fires after click the stop button or exceeding the time limit | -| start-upload | Function | Fires after start uploading | -| attempts-limit | Function | Fires after exceeding the attempts | -| failed-upload | Function | Fires after a failure uploading | -| mic-failed | Function | Fires if your microphone doesn't work | -| successful-upload | Function | Fires after a successful uploading | -| successful-upload-msg | String | Displays the message after a successful uploading | -| failed-upload-msg | String | Displays the message after a failure uploading | +| Prop | Type | Description | +| --------------------- | -------- | ------------------------------------------------------------------------ | +| attempts | Number | Number of recording attempts | +| headers | Object | HTTP headers | +| time | Number | Time limit for the record (minutes) | +| filename | String | Download/Upload filename | +| upload-url | String | URL for uploading | +| show-download-button | Boolean | If it is true show a download button. Default: true | +| show-upload-button | Boolean | If it is true show an upload button. Default: true | +| before-upload | Function | Callback fires before uploading | +| successful-upload | Function | Callback fires after successful uploading | +| failed-upload | Function | Callback fires after failure uploading | +| mic-failed | Function | Callback fires if your microphone doesn't work | +| before-recording | Function | Callback fires after click the record button | +| pause-recording | Function | Callback fires after pause recording | +| after-recording | Function | Callback fires after click the stop button or exceeding the time limit | +| select-record | Function | Callback fires after choise a record. Returns the record | ## AudioPlayer props | Prop | Type | Description | @@ -59,15 +60,25 @@ npm i vue-audio-recorder --save Vue.use(AudioRecorder) ``` +```js + methods: { + callback (data) { + console.debug(data) + } + } +``` + ```html ``` diff --git a/demo/app.vue b/demo/app.vue index a2f72d9..e160827 100644 --- a/demo/app.vue +++ b/demo/app.vue @@ -14,9 +14,11 @@ :attempts="3" :time="2" :headers="headers" - :start-record="callback" - :stop-record="callback" - :start-upload="callback" + :before-recording="callback" + :pause-recording="callback" + :after-recording="callback" + :select-record="callback" + :before-upload="callback" :successful-upload="callback" :failed-upload="callback"/> diff --git a/dist/vue-audio-recorder.min.js b/dist/vue-audio-recorder.min.js index 985211e..bad2e05 100644 --- a/dist/vue-audio-recorder.min.js +++ b/dist/vue-audio-recorder.min.js @@ -1 +1 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("VueAudioRecorder",[],e):"object"==typeof exports?exports.VueAudioRecorder=e():t.VueAudioRecorder=e()}(window,function(){return function(n){var r={};function o(t){if(r[t])return r[t].exports;var e=r[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,o),e.l=!0,e.exports}return o.m=n,o.c=r,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=12)}([function(t,e){t.exports=function(n){var a=[];return a.toString=function(){return this.map(function(t){var e=function(t,e){var n=t[1]||"",r=t[3];if(!r)return n;if(e&&"function"==typeof btoa){var o=(a=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */"),i=r.sources.map(function(t){return"/*# sourceURL="+r.sourceRoot+t+" */"});return[n].concat(i).concat([o]).join("\n")}var a;return[n].join("\n")}(t,n);return t[2]?"@media "+t[2]+"{"+e+"}":e}).join("")},a.i=function(t,e){"string"==typeof t&&(t=[[null,t,""]]);for(var n={},r=0;rn.parts.length&&(r.parts.length=n.parts.length)}else{var i=[];for(o=0;o .ar-player-actions {\n width: unset;\n}\n.ar-player--compact > .ar-player-actions > #download,\n .ar-player--compact > .ar-player-actions > #upload {\n display: none;\n}\n.ar-player--compact > .ar-player-bar {\n border: 1px solid #E8E8E8;\n border-radius: 24px;\n margin: 0 0 0 5px;\n}\n.ar-player--compact > .ar-player-bar > .ar-player__progress {\n width: 125px;\n}\n.ar-player__progress {\n width: 160px;\n margin: 0 8px;\n}\n.ar-player__time {\n color: rgba(84, 84, 84, 0.5);\n font-size: 16px;\n width: 41px;\n}\n.ar-player__play {\n width: 45px;\n height: 45px;\n background-color: #FFFFFF;\n box-shadow: 0 2px 11px 11px rgba(0, 0, 0, 0.07);\n}\n.ar-player__play--active {\n fill: white !important;\n background-color: #05CBCD !important;\n}\n.ar-icon {\n fill: #747474;\n border-radius: 50%;\n border: 1px solid #05CBCD;\n background-color: #FFFFFF;\n padding: 5px;\n cursor: pointer;\n transition: .2s;\n}\n.ar-icon--rec {\n fill: white;\n background-color: #FF6B64;\n border-color: transparent;\n}\n.ar-icon--pulse {\n animation: ripple .5s linear infinite;\n}\n@keyframes ripple {\n0% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 1px rgba(255, 0, 0, 0.1), 0 0 0 5px rgba(255, 0, 0, 0.1);\n}\n100% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 10px rgba(255, 0, 0, 0.1), 0 0 0 20px rgba(255, 0, 0, 0);\n}\n}\n.ar-icon__sm {\n width: 30px;\n height: 30px;\n}\n.ar-icon__lg {\n width: 45px;\n height: 45px;\n box-shadow: 0 2px 5px 1px rgba(158, 158, 158, 0.5);\n}\n",""])},function(t,e,n){var r=n(5);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);(0,n(1).default)("722c44a2",r,!1,{})},function(t,e,n){(t.exports=n(0)(!1)).push([t.i,"\n.ar-line-control {\n position: relative;\n height: 8px;\n border-radius: 5px;\n background-color: #E6E6E6;\n}\n.ar-line-control__head {\n position: absolute;\n height: inherit;\n background-color: #616161;\n border-radius: inherit;\n}\n",""])},function(t,e,n){var r=n(7);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);(0,n(1).default)("5b0bec03",r,!1,{})},function(t,e,n){(t.exports=n(0)(!1)).push([t.i,"\n.ar-icon {\n fill: #747474;\n border-radius: 50%;\n border: 1px solid #05CBCD;\n background-color: #FFFFFF;\n padding: 5px;\n cursor: pointer;\n transition: .2s;\n}\n.ar-icon--rec {\n fill: white;\n background-color: #FF6B64;\n border-color: transparent;\n}\n.ar-icon--pulse {\n animation: ripple .5s linear infinite;\n}\n@keyframes ripple {\n0% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 1px rgba(255, 0, 0, 0.1), 0 0 0 5px rgba(255, 0, 0, 0.1);\n}\n100% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 10px rgba(255, 0, 0, 0.1), 0 0 0 20px rgba(255, 0, 0, 0);\n}\n}\n.ar-icon__sm {\n width: 30px;\n height: 30px;\n}\n.ar-icon__lg {\n width: 45px;\n height: 45px;\n box-shadow: 0 2px 5px 1px rgba(158, 158, 158, 0.5);\n}\n",""])},function(t,e,n){var r=n(9);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);(0,n(1).default)("7e43270a",r,!1,{})},function(t,e,n){(t.exports=n(0)(!1)).push([t.i,"\n.ar-volume {\n display: flex;\n align-items: center;\n line-height: 10px;\n}\n.ar-volume-bar {\n width: 50px;\n height: 6px;\n background: #E6E6E6;\n border-radius: 4px;\n position: relative;\n}\n.ar-volume__icon {\n fill: #747474;\n width: 24px;\n height: 24px;\n border: 0;\n border-radius: 0;\n padding: 0;\n background-color: unset;\n margin-right: 3px;\n}\n",""])},function(t,e,n){var r=n(11);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);(0,n(1).default)("00c7c6ba",r,!1,{})},function(t,e,n){(t.exports=n(0)(!1)).push([t.i,"\n.ar {\n width: 420px;\n font-family: 'Roboto', sans-serif;\n border-radius: 16px;\n background-color: #FAFAFA;\n box-shadow: 0 4px 18px 0 rgba(0, 0, 0, 0.17);\n position: relative;\n box-sizing: content-box;\n}\n.ar-content {\n padding: 16px;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.ar-records {\n height: 138px;\n padding-top: 1px;\n overflow-y: auto;\n margin-bottom: 20px;\n}\n.ar-records__record {\n width: 320px;\n height: 45px;\n padding: 0 10px;\n margin: 0 auto;\n line-height: 45px;\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid #E8E8E8;\n position: relative;\n}\n.ar-records__record--selected {\n border: 1px solid #E8E8E8;\n border-radius: 24px;\n background-color: #FFFFFF;\n margin-top: -1px;\n padding: 0 34px;\n}\n.ar-recorder {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.ar-recorder__duration {\n color: #AEAEAE;\n font-size: 32px;\n font-weight: 500;\n margin-top: 20px;\n margin-bottom: 16px;\n}\n.ar-recorder__stop {\n position: absolute;\n top: 10px;\n right: -52px;\n}\n.ar-recorder__time-limit {\n position: absolute;\n color: #AEAEAE;\n font-size: 12px;\n top: 128px;\n}\n.ar-recorder__records-limit {\n position: absolute;\n color: #AEAEAE;\n font-size: 12px;\n top: 78px;\n}\n.ar-spinner {\n display: flex;\n height: 30px;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n margin: auto;\n width: 144px;\n z-index: 10;\n}\n.ar-spinner__dot {\n display: block;\n margin: 0 8px;\n border-radius: 50%;\n width: 30px;\n height: 30px;\n background: #05CBCD;\n animation-name: blink;\n animation-duration: 1.4s;\n animation-iteration-count: infinite;\n animation-fill-mode: both;\n}\n.ar-spinner__dot:nth-child(2) {\n animation-delay: .2s;\n}\n.ar-spinner__dot:nth-child(3) {\n animation-delay: .4s;\n}\n@keyframes blink {\n0% {\n opacity: .2;\n}\n20% {\n opacity: 1;\n}\n100% {\n opacity: .2;\n}\n}\n.ar__text {\n color: rgba(84, 84, 84, 0.5);\n font-size: 16px;\n}\n.ar__blur {\n filter: blur(2px);\n opacity: 0.7;\n}\n.ar__overlay {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 10;\n}\n.ar__upload-status {\n text-align: center;\n font-size: 10px;\n padding: 2px;\n letter-spacing: 1px;\n position: absolute;\n bottom: 0;\n}\n.ar__upload-status--success {\n color: green;\n}\n.ar__upload-status--fail {\n color: red;\n}\n.ar__rm {\n cursor: pointer;\n position: absolute;\n width: 6px;\n height: 6px;\n padding: 6px;\n line-height: 6px;\n margin: auto;\n left: 10px;\n bottom: 0;\n top: 0;\n color: #f4785a;\n}\n.ar-icon {\n fill: #747474;\n border-radius: 50%;\n border: 1px solid #05CBCD;\n background-color: #FFFFFF;\n padding: 5px;\n cursor: pointer;\n transition: .2s;\n}\n.ar-icon--rec {\n fill: white;\n background-color: #FF6B64;\n border-color: transparent;\n}\n.ar-icon--pulse {\n animation: ripple .5s linear infinite;\n}\n@keyframes ripple {\n0% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 1px rgba(255, 0, 0, 0.1), 0 0 0 5px rgba(255, 0, 0, 0.1);\n}\n100% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 10px rgba(255, 0, 0, 0.1), 0 0 0 20px rgba(255, 0, 0, 0);\n}\n}\n.ar-icon__sm {\n width: 30px;\n height: 30px;\n}\n.ar-icon__lg {\n width: 45px;\n height: 45px;\n box-shadow: 0 2px 5px 1px rgba(158, 158, 158, 0.5);\n}\n",""])},function(t,e,n){"use strict";n.r(e);var r={props:{name:{type:String}},data:function(){return{icons:{download:'',mic:'',pause:'',play:'',save:'',stop:'',volume:''}}}},o=function(){var t=this,e=t.$createElement;return(t._self._c||e)("div",{domProps:{innerHTML:t._s(t.icons[t.name])}})};function i(t,e,n,r,o,i,a,s){var c=typeof(t=t||{}).default;"object"!==c&&"function"!==c||(t=t.default);var l,p="function"==typeof t?t.options:t;if(e&&(p.render=e,p.staticRenderFns=n,p._compiled=!0),r&&(p.functional=!0),i&&(p._scopeId=i),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},p._ssrRegister=l):o&&(l=s?function(){o.call(this,this.$root.$options.shadowRoot)}:o),l)if(p.functional){p._injectStyles=l;var d=p.render;p.render=function(t,e){return l.call(e),d(t,e)}}else{var u=p.beforeCreate;p.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:p}}o._withStripped=!0;var a=i(r,o,[],!1,null,null,null);a.options.__file="src/components/icon-button.vue";var s=a.exports;function c(t,e){var n=e.getBoundingClientRect().width,r=t.target.getBoundingClientRect().left,o=(t.clientX-r)/n;try{if(!t.target.className.match(/^ar\-line\-control/))return}catch(t){return}return o=1<(o=o<0?0:o)?1:o}function l(t){return new Date(1e3*t).toISOString().substr(14,5)}var p={props:{refId:{type:String},eventName:{type:String},percentage:{type:Number,default:0},rowDirection:{type:Boolean,default:!0}},methods:{onMouseDown:function(t){var e=c(t,this.$refs[this.refId]);this.$emit("change-linehead",e),document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp)},onMouseUp:function(t){document.removeEventListener("mouseup",this.onMouseUp),document.removeEventListener("mousemove",this.onMouseMove);var e=c(t,this.$refs[this.refId]);this.$emit("change-linehead",e)},onMouseMove:function(t){var e=c(t,this.$refs[this.refId]);this.$emit("change-linehead",e)}},computed:{calculateSize:function(){var t=this.percentage<1?100*this.percentage:this.percentage;return(this.rowDirection?"width":"height")+": "+t+"%"}}},d=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:t.refId,staticClass:"ar-line-control",on:{mousedown:t.onMouseDown}},[n("div",{staticClass:"ar-line-control__head",style:t.calculateSize})])};d._withStripped=!0;var u=i(p,d,[],!1,function(t){n(4)},null,null);u.options.__file="src/components/line-control.vue";var h=u.exports,f={props:{options:{type:Object},record:{type:Object}},components:{IconButton:s},methods:{upload:function(){var e=this;if(this.record.url){this.$eventBus.$emit("start-upload"),this.options.startUpload&&this.options.startUpload();var t=new FormData;t.append("audio",this.record.blob,"my-record");var n=Object.assign(this.options.headers,{});n["Content-Type"]="multipart/form-data; boundary="+t._boundary,this.$http.post(this.options.uploadUrl,t,{headers:n}).then(function(t){e.$eventBus.$emit("end-upload","success"),e.options.successfulUpload&&e.options.successfulUpload(t)}).catch(function(t){e.$eventBus.$emit("end-upload","fail"),e.options.failedUpload&&e.options.failedUpload(t)})}}}},m=function(){var e=this,t=e.$createElement;return(e._self._c||t)("icon-button",{attrs:{name:"save"},nativeOn:{click:function(t){return e.upload(t)}}})};m._withStripped=!0;var v=i(f,m,[],!1,function(t){n(6)},null,null);v.options.__file="src/components/uploader.vue";var g=v.exports,_={data:function(){return{volume:.8}},components:{IconButton:s,LineControl:h},methods:{onChangeLinehead:function(t){this.$emit("change-volume",t),this.volume=t}}},y=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ar-volume"},[n("icon-button",{staticClass:"ar-volume__icon",attrs:{name:"volume"}}),t._v(" "),n("line-control",{staticClass:"ar-volume-bar",attrs:{"ref-id":"volume",percentage:t.volume},on:{"change-linehead":t.onChangeLinehead}})],1)};y._withStripped=!0;var x=i(_,y,[],!1,function(t){n(8)},null,null);x.options.__file="src/components/volume-control.vue";var b=x.exports,w={props:{src:{type:String},record:{type:Object},compact:{type:Boolean,default:!0},uploaderOptions:{type:Object,default:function(){return new Object}}},data:function(){return{isPlaying:!1,duration:l(0),playedTime:l(0),progress:0}},components:{IconButton:s,LineControl:h,Uploader:g,VolumeControl:b},mounted:function(){var e=this;this.player=document.getElementById(this.playerUniqId),this.player.addEventListener("ended",function(){e.isPlaying=!1}),this.player.addEventListener("loadeddata",function(t){e._resetProgress(),e.duration=l(e.player.duration)}),this.player.addEventListener("timeupdate",this._onTimeUpdate),this.$eventBus.$on("remove-record",function(){e._resetProgress()})},computed:{audioSource:function(){var t=this.src||this.record.url;if(t)return t;this._resetProgress()},playBtnIcon:function(){return this.isPlaying?"pause":"play"},playerUniqId:function(){return"audio-player"+this._uid}},methods:{playback:function(){var t=this;this.isPlaying?this.player.pause():setTimeout(function(){t.player.play()},0),this.isPlaying=!this.isPlaying},download:function(){var t=document.createElement("a");t.href=this.record.url,t.download="record.wav",t.click()},decorator:function(t){this.audioSource&&t()},_resetProgress:function(){this.isPlaying&&this.player.pause(),this.duration=l(0),this.playedTime=l(0),this.progress=0,this.isPlaying=!1},_onTimeUpdate:function(){this.playedTime=l(this.player.currentTime),this.progress=this.player.currentTime/this.player.duration*100},_onUpdateProgress:function(t){t&&(this.player.currentTime=t*this.player.duration)},_onChangeVolume:function(t){t&&(this.player.volume=t)}}},C=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"ar-player",class:{"ar-player--compact":e.compact}},[n("div",{staticClass:"ar-player-actions"},[n("icon-button",{staticClass:"ar-icon ar-icon__sm",attrs:{id:"download",name:"download"},nativeOn:{click:function(t){e.decorator(e.download)}}}),e._v(" "),n("icon-button",{staticClass:"ar-icon ar-icon__lg ar-player__play",class:{"ar-player__play--active":e.isPlaying},attrs:{id:"play",name:e.playBtnIcon},nativeOn:{click:function(t){e.decorator(e.playback)}}}),e._v(" "),n("uploader",{staticClass:"ar-icon ar-icon__sm",attrs:{id:"upload",record:e.record,options:e.uploaderOptions}})],1),e._v(" "),n("div",{staticClass:"ar-player-bar"},[n("div",{staticClass:"ar-player__time"},[e._v(e._s(e.playedTime))]),e._v(" "),n("line-control",{staticClass:"ar-player__progress",attrs:{"ref-id":"progress",percentage:e.progress},on:{"change-linehead":e._onUpdateProgress}}),e._v(" "),n("div",{staticClass:"ar-player__time"},[e._v(e._s(e.duration))]),e._v(" "),n("volume-control",{on:{"change-volume":e._onChangeVolume}})],1),e._v(" "),n("audio",{attrs:{id:e.playerUniqId,src:e.audioSource}})])};C._withStripped=!0;var S=i(w,C,[],!1,function(t){n(2)},null,null);S.options.__file="src/components/player.vue";var U=S.exports,F=function(){function r(t,e){for(var n=0;n=this.attempts||(!this.isRecording||this.isRecording&&this.isPause?(this.recorder.start(),this.startRecord&&this.startRecord("start record")):(this.recorder.pause(),this.startRecord&&this.startRecord("pause record")))},stopRecorder:function(){this.isRecording&&this.recorder.stop()},removeRecord:function(t){this.recordList.splice(t,1),this.$set(this.selected,"url",null),this.$eventBus.$emit("remove-record")}},computed:{attemptsLeft:function(){return this.attempts-this.recorder.records.length},iconButtonType:function(){return this.isRecording&&this.isPause?"mic":this.isRecording?"pause":"mic"},isPause:function(){return this.recorder.isPause},isRecording:function(){return this.recorder.isRecording},message:function(){return"success"===this.uploadStatus?this.successfulUploadMsg:this.failedUploadMsg},recordedTime:function(){return this.time&&this.recorder.duration>=60*this.time&&this.stopRecorder(),l(this.recorder.duration)},uploadStatusClasses:function(){var t=["ar__upload-status"];return t.push("success"===this.uploadStatus?"ar__upload-status--success":"ar__upload-status--fail"),t.join(" ")},volume:function(){return parseFloat(this.recorder.volume)}}},M=function(){var r=this,t=r.$createElement,o=r._self._c||t;return o("div",{staticClass:"ar"},[r.isUploading?o("div",{staticClass:"ar__overlay"}):r._e(),r._v(" "),r.isUploading?o("div",{staticClass:"ar-spinner"},[o("div",{staticClass:"ar-spinner__dot"}),r._v(" "),o("div",{staticClass:"ar-spinner__dot"}),r._v(" "),o("div",{staticClass:"ar-spinner__dot"})]):r._e(),r._v(" "),o("div",{staticClass:"ar-content",class:{ar__blur:r.isUploading}},[o("div",{staticClass:"ar-recorder"},[o("icon-button",{staticClass:"ar-icon ar-icon__lg",class:{"ar-icon--rec":r.isRecording,"ar-icon--pulse":r.isRecording&&.02=U.BLKSIZE+e.framesize-U.FFTOFFSET),j(r.mf_size>=512+e.framesize-32)}}(e,h),p.padding=0,(p.slot_lag-=p.frac_SpF)<0&&(p.slot_lag+=e.out_samplerate,p.padding=1),0!=p.psymodel){var g=[null,null],w=0,S=Y(2);for(u=0;u=a?(e.ATH.adjust*=.075*a+.925,e.ATH.adjust=a?e.ATH.adjust=a:e.ATH.adjustn.parts.length&&(a.parts.length=n.parts.length)}else{var s=[];for(r=0;re.sampleWindow-e.totsamp?e.sampleWindow-e.totsamp:c,hMAX_ORDER-h&&(u=MAX_ORDER-h)):(o=n+h,_=t,l=r+h,f=a),g(_,o,e.lstepbuf,e.lstep+e.totsamp,u,m[e.reqindex]),g(f,l,e.rstepbuf,e.rstep+e.totsamp,u,m[e.reqindex]),w(e.lstepbuf,e.lstep+e.totsamp,e.loutbuf,e.lout+e.totsamp,u,v[e.reqindex]),w(e.rstepbuf,e.rstep+e.totsamp,e.routbuf,e.rout+e.totsamp,u,v[e.reqindex]),o=e.lout+e.totsamp,_=e.loutbuf,l=e.rout+e.totsamp,f=e.routbuf;for(var p=u%8;0!=p--;)e.lsum+=S(_[o++]),e.rsum+=S(f[l++]);for(p=u/8;0!=p--;)e.lsum+=S(_[o+0])+S(_[o+1])+S(_[o+2])+S(_[o+3])+S(_[o+4])+S(_[o+5])+S(_[o+6])+S(_[o+7]),o+=8,e.rsum+=S(f[l+0])+S(f[l+1])+S(f[l+2])+S(f[l+3])+S(f[l+4])+S(f[l+5])+S(f[l+6])+S(f[l+7]),l+=8;if(c-=u,h+=u,e.totsamp+=u,e.totsamp==e.sampleWindow){var d=10*M.STEPS_per_dB*Math.log10((e.lsum+e.rsum)/e.totsamp*.5+1e-37),b=d<=0?0:0|d;b>=e.A.length&&(b=e.A.length-1),e.A[b]++,e.lsum=e.rsum=0,y.arraycopy(e.loutbuf,e.totsamp,e.loutbuf,0,MAX_ORDER),y.arraycopy(e.routbuf,e.totsamp,e.routbuf,0,MAX_ORDER),y.arraycopy(e.lstepbuf,e.totsamp,e.lstepbuf,0,MAX_ORDER),y.arraycopy(e.rstepbuf,e.totsamp,e.rstepbuf,0,MAX_ORDER),e.totsamp=0}if(e.totsamp>e.sampleWindow)return GAIN_ANALYSIS_ERROR}return s=l),e.header[e.w_ptr].write_timing==l&&(r=e,R.arraycopy(r.header[r.w_ptr].buf,0,p,d,r.sideinfo_len),d+=r.sideinfo_len,l+=8*r.sideinfo_len,r.w_ptr=r.w_ptr+1&V.MAX_HEADER_BUF-1),p[d]=0),a=Math.min(n,b),b-=a,k((n-=a)>n<>n<>3]|=t>>n<<8-(7&a)-r,a+=r}e.header[e.h_ptr].ptr=a}function r(e,t){e<<=8;for(var n=0;n<8;n++)0!=(65536&((t<<=1)^(e<<=1)))&&(t^=32773);return t}function g(e,t){var n,a=L.ht[t.count1table_select+32],r=0,s=t.big_values,i=t.big_values;for(k(t.count1table_select<2),n=(t.count1-t.big_values)/4;0t.big_values&&(n=t.big_values);var a=w(e,t.table_select[0],0,n,t);return a+=w(e,t.table_select[1],n,t.big_values,t)}function y(e,t){var n,a,r,s;n=t.big_values,k(0<=n&&n<=576);var i=t.region0_count+1;return k(0<=i),k(i>8),t[5]=byte(255&n)},this.flush_bitstream=function(e){var t,n,a=e.internal_flags,r=a.h_ptr-1;if(-1==r&&(r=V.MAX_HEADER_BUF-1),t=a.l3_side,!((n=x(e,new M))<0)){if(o(e,n),k(a.header[r].write_timing+this.getframebits(e)==l),a.ResvSize=0,t.main_data_begin=0,a.findReplayGain){var s=c.GetTitleGain(a.rgdata);k(NEQ(s,GainAnalysis.GAIN_NOT_ENOUGH_SAMPLES)),a.RadioGain=0|Math.floor(10*s+.5)}a.findPeakSample&&(a.noclipGainChange=0|Math.ceil(20*Math.log10(a.PeakSample/32767)*10),0 ResvSize"),8*t.main_data_begin!=n.ResvSize&&(R.err.printf("bit reservoir error: \nl3_side.main_data_begin: %d \nResvoir size: %d \nresv drain (post) %d \nresv drain (pre) %d \nheader and sideinfo: %d \ndata bits: %d \ntotal bits: %d (remainder: %d) \nbitsperframe: %d \n",8*t.main_data_begin,n.ResvSize,t.resvDrain_post,t.resvDrain_pre,8*n.sideinfo_len,r-t.resvDrain_post-8*n.sideinfo_len,r,r%8,a),R.err.println("This is a fatal error. It has several possible causes:"),R.err.println("90%% LAME compiled with buggy version of gcc using advanced optimizations"),R.err.println(" 9%% Your system is overclocked"),R.err.println(" 1%% bug in LAME encoding library"),n.ResvSize=8*t.main_data_begin),k(l%8==0),1e9e.PeakSample?e.PeakSample=_[0][o]:-_[0][o]>e.PeakSample&&(e.PeakSample=-_[0][o]);if(1e.PeakSample?e.PeakSample=_[1][o]:-_[1][o]>e.PeakSample&&(e.PeakSample=-_[1][o])}if(e.findReplayGain&&c.AnalyzeSamples(e.rgdata,_[0],0,_[1],0,f,e.channels_out)==GainAnalysis.GAIN_ANALYSIS_ERROR)return-6}}return s},this.init_bit_stream_w=function(e){p=B(Lame.LAME_MAXMP3BUFFER),e.h_ptr=e.w_ptr=0,e.header[e.h_ptr].write_timing=0,d=-1,l=b=0}}r.EQ=function(e,t){return Math.abs(e)>Math.abs(t)?Math.abs(e-t)<=1e-6*Math.abs(e):Math.abs(e-t)<=1e-6*Math.abs(t)},r.NEQ=function(e,t){return!r.EQ(e,t)},e.exports=r},function(e,t,n){var a=n(0),x=a.System,R=(a.VbrMode,a.Float,a.ShortBlock,a.Util,a.Arrays),A=(a.new_array_n,a.new_byte,a.new_double,a.new_float,a.new_float_n,a.new_int),B=(a.new_int_n,a.assert),E=n(1),T=n(7),k=n(6),P=n(15);e.exports=function e(){var S=null;function m(e){this.bits=0|e}this.qupvt=null,this.setModules=function(e){this.qupvt=e,S=e};var r=[[0,0],[0,0],[0,0],[0,0],[0,0],[0,1],[1,1],[1,1],[1,2],[2,2],[2,3],[2,3],[3,4],[3,4],[3,4],[4,5],[4,5],[4,6],[5,6],[5,6],[5,7],[6,7],[6,7]];function y(e,t,n,a,r,s){var i=.5946/t;for(B(0>=1;0!=e--;)r[s++]=i>n[a++]?0:1,r[s++]=i>n[a++]?0:1}function M(e,t,n,a,r,s){B(0>=1)%2;for(e>>=1;0!=e--;){var o,_,l,f,c,u,h,p;o=n[a++]*t,_=n[a++]*t,c=0|o,l=n[a++]*t,u=0|_,f=n[a++]*t,h=0|l,o+=S.adj43[c],p=0|f,_+=S.adj43[u],r[s++]=0|o,l+=S.adj43[h],r[s++]=0|_,f+=S.adj43[p],r[s++]=0|l,r[s++]=0|f}0!=i&&(c=0|(o=n[a++]*t),u=0|(_=n[a++]*t),o+=S.adj43[c],_+=S.adj43[u],r[s++]=0|o,r[s++]=0|_)}var o=[1,2,5,7,7,10,10,13,13,13,13,13,13,13,13];function v(e,t,n,a){var r=function(e,t,n){var a=0,r=0;do{var s=e[t++],i=e[t++];a>=16)&&(o=s,a++),r.bits+=o,a}(e,t,n,o[r-1],a);case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:return function(e,t,n,a,r){var s=0,i=0,o=0,_=T.ht[a].xlen,l=T.ht[a].hlen,f=T.ht[a+1].hlen,c=T.ht[a+2].hlen;do{var u=e[t+0]*_+e[t+1];t+=2,s+=l[u],i+=f[u],o+=c[u]}while(tP.IXMAX_VAL)return a.bits=P.LARGE_BITS,-1;var s,i;for(r-=15,s=24;s<32&&!(T.ht[s].linmax>=r);s++);for(i=s-8;i<24&&!(T.ht[i].linmax>=r);i++);return function(e,t,n,a,r,s){var i,o=65536*T.ht[a].xlen+T.ht[r].xlen,_=0;do{var l=e[t++],f=e[t++];0!=l&&(14>=16)&&(_=i,a=r),s.bits+=_,a}(e,t,n,i,s,a)}}function h(e,t,n,a,r,s,i,o){for(var _=t.big_values,l=2;l>1<<1);for(null!=n&&(n.sfb_count1=0);1t.big_values&&(s=t.big_values),i=t.big_values;else if(t.block_type==E.NORM_TYPE){if(B(r<=576),s=t.region0_count=e.bv_scf[r-2],i=t.region1_count=e.bv_scf[r-1],B(s+i+2s)return P.LARGE_BITS;if(function(e,t,n,a,r){var s,i,o,_=0,l=0,f=0,c=0,u=t,h=0,p=u,d=0,b=e,m=0;for(o=null!=r&&a.global_gain==r.global_gain,i=a.block_type==E.SHORT_TYPE?38:21,s=0;s<=i;s++){var v=-1;if((o||a.block_type==E.NORM_TYPE)&&(v=a.global_gain-(a.scalefac[s]+(0!=a.preflag?S.pretab[s]:0)<a.max_nonzero_coeff&&(g=a.max_nonzero_coeff-_+1,R.fill(t,a.max_nonzero_coeff,576,0),(w=g)<0&&(w=0),s=i+1),0==l&&0==f&&(p=u,d=h,b=e,m=c),null!=r&&0=r.sfb_count1&&0=r.step[s]?(0!=l&&(M(l,n,b,m,p,d),l=0,p=u,d=h,b=e,m=c),f+=w):(0!=f&&(y(f,n,b,m,p,d),f=0,p=u,d=h,b=e,m=c),l+=w),w<=0){0!=f&&(y(f,n,b,m,p,d),f=0),0!=l&&(M(l,n,b,m,p,d),l=0);break}}s<=i&&(h+=a.width[s],c+=a.width[s],_+=a.width[s])}0!=l&&(M(l,n,b,m,p,d),l=0),0!=f&&(y(f,n,b,m,p,d),f=0)}(t,r,S.IPOW20(n.global_gain),n,a),0!=(2&e.substep_shaping))for(var i=0,o=n.global_gain+n.scalefac_scale,_=.634521682242439/S.IPOW20(o),l=0;l=_?r[f]:0}return this.noquant_count_bits(e,n,a)},this.best_huffman_divide=function(e,t){var n=new k,a=t.l3_enc,r=A(23),s=A(23),i=A(23),o=A(23);if(t.block_type!=E.SHORT_TYPE||1!=e.mode_gr){n.assign(t),t.block_type==E.NORM_TYPE&&(function(e,t,n,a,r,s,i){for(var o=t.big_values,_=0;_<=22;_++)a[_]=P.LARGE_BITS;for(_=0;_<16;_++){var l=e.scalefac_band.l[_+1];if(o<=l)break;var f=0,c=new m(f),u=v(n,0,l,c);f=c.bits;for(var h=0;h<8;h++){var p=e.scalefac_band.l[_+h+2];if(o<=p)break;var d=f,b=v(n,l,p,c=new m(d));d=c.bits,a[_+h]>d&&(a[_+h]=d,s[(r[_+h]=_)+h]=u,i[_+h]=b)}}}(e,t,a,r,s,i,o),h(e,n,t,a,r,s,i,o));var _=n.big_values;if(!(0==_||1<(a[_-2]|a[_-1])||576<(_=t.count1+2))){n.assign(t),n.count1=_;var l=0,f=0;for(B(_<=576);_>n.big_values;_-=4){var c=2*(2*(2*a[_-4]+a[_-3])+a[_-2])+a[_-1];l+=T.t32l[c],f+=T.t33l[c]}if(n.big_values=_,n.count1table_select=0,fn.part2_3_length&&t.assign(n)}}}};var u=[1,1,1,1,8,2,2,2,4,4,4,8,8,8,16,16],p=[1,2,4,8,1,2,4,8,2,4,8,2,4,8,4,8],d=[0,0,0,0,3,1,1,1,2,2,2,3,3,3,4,4],b=[0,1,2,3,0,1,2,3,1,2,3,1,2,3,2,3];e.slen1_tab=d,e.slen2_tab=b,this.best_scalefac_store=function(e,t,n,a){var r,s,i,o,_=a.tt[t][n],l=0;for(r=i=0;r<_.sfbmax;r++){var f=_.width[r];for(B(0<=f),i+=f,o=-f;o<0&&0==_.l3_enc[o+i];o++);0==o&&(_.scalefac[r]=l=-2)}if(0==_.scalefac_scale&&0==_.preflag){var c=0;for(r=0;r<_.sfbmax;r++)0<_.scalefac[r]&&(c|=_.scalefac[r]);if(0==(1&c)&&0!=c){for(r=0;r<_.sfbmax;r++)0<_.scalefac[r]&&(_.scalefac[r]>>=1);_.scalefac_scale=l=1}}if(0==_.preflag&&_.block_type!=E.SHORT_TYPE&&2==e.mode_gr){for(r=11;rf&&(a.part2_length=f,a.scalefac_compress=s)}}(n,a),l=0),r=0;r<_.sfbmax;r++)-2==_.scalefac[r]&&(_.scalefac[r]=0);0!=l&&(2==e.mode_gr?this.scale_bitcount(_):this.scale_bitcount_lsf(e,_))};var _=[0,18,36,54,54,36,54,72,54,72,90,72,90,108,108,126],l=[0,18,36,54,51,35,53,71,52,70,88,69,87,105,104,122],f=[0,10,20,30,33,21,31,41,32,42,52,43,53,63,64,74];this.scale_bitcount=function(e){var t,n,a,r=0,s=0,i=e.scalefac;if(B(function(e,t){for(var n=0;na[t]&&(e.part2_length=a[t],e.scalefac_compress=t);return e.part2_length==P.LARGE_BITS};var g=[[15,15,7,7],[15,15,7,0],[7,3,0,0],[15,31,31,0],[7,7,7,0],[3,3,0,0]];this.scale_bitcount_lsf=function(e,t){var n,a,r,s,i,o,_,l,f=A(4),c=t.scalefac;for(n=0!=t.preflag?2:0,_=0;_<4;_++)f[_]=0;if(t.block_type==E.SHORT_TYPE){a=1;var u=S.nr_of_sfb_block[n][a];for(r=l=0;r<4;r++)for(s=u[r]/3,_=0;_f[r]&&(f[r]=c[3*l+i])}else for(a=0,u=S.nr_of_sfb_block[n][a],r=l=0;r<4;r++)for(s=u[r],_=0;_f[r]&&(f[r]=c[l]);for(o=!1,r=0;r<4;r++)f[r]>g[n][r]&&(o=!0);if(!o){var h,p,d,b;for(t.sfb_partition_table=S.nr_of_sfb_block[n][a],r=0;r<4;r++)t.slen[r]=w[f[r]];switch(h=t.slen[0],p=t.slen[1],d=t.slen[2],b=t.slen[3],n){case 0:t.scalefac_compress=(5*h+p<<4)+(d<<2)+b;break;case 1:t.scalefac_compress=400+(5*h+p<<2)+d;break;case 2:t.scalefac_compress=500+3*h+p;break;default:x.err.printf("intensity stereo not implemented yet\n")}}if(!o)for(B(null!=t.sfb_partition_table),r=t.part2_length=0;r<4;r++)t.part2_length+=t.slen[r]*t.sfb_partition_table[r];return o};var w=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];this.huffman_init=function(e){for(var t=2;t<=576;t+=2){for(var n,a=0;e.scalefac_band.l[++a]t;)n--;for(n<0&&(n=r[a][0]),e.bv_scf[t-2]=n,n=r[a][1];e.scalefac_band.l[n+e.bv_scf[t-2]+2]>t;)n--;n<0&&(n=r[a][1]),e.bv_scf[t-1]=n}}}},function(e,t,n){var s=n(10),a=n(0),T=(a.System,a.VbrMode),v=a.Float,A=(a.ShortBlock,a.Util),S=(a.Arrays,a.new_array_n,a.new_byte,a.new_double,a.new_float),g=(a.new_float_n,a.new_int),B=(a.new_int_n,a.assert),k=n(1),w=n(12),y=n(4);function P(){var l=null,d=null,a=null;this.setModules=function(e,t,n){l=e,d=t,a=n},this.IPOW20=function(e){return B(0<=e&&e>2&63)&&(t-=64),r=Math.pow(10,t/4/10),32<=(t=e.exp_nspsytune>>8&63)&&(t-=64),s=Math.pow(10,t/4/10),32<=(t=e.exp_nspsytune>>14&63)&&(t-=64),i=Math.pow(10,t/4/10),32<=(t=e.exp_nspsytune>>20&63)&&(t-=64),o=i*Math.pow(10,t/4/10),t=0;ty.MAX_BITS_PER_GRANULE&&(h=y.MAX_BITS_PER_GRANULE),o=i=0;o<_.channels_out;++o)n[o]=Math.min(y.MAX_BITS_PER_CHANNEL,l/_.channels_out),f[o]=0|n[o]*t[r][o]/700-n[o],f[o]>3*a/4&&(f[o]=3*a/4),f[o]<0&&(f[o]=0),f[o]+n[o]>y.MAX_BITS_PER_CHANNEL&&(f[o]=Math.max(0,y.MAX_BITS_PER_CHANNEL-n[o])),i+=f[o];if(uy.MAX_BITS_PER_GRANULE){var p=0;for(o=0;o<_.channels_out;++o)n[o]*=y.MAX_BITS_PER_GRANULE,n[o]/=i,p+=n[o];B(p<=y.MAX_BITS_PER_GRANULE)}return h},this.reduce_side=function(e,t,n,a){B(a<=y.MAX_BITS_PER_GRANULE),B(e[0]+e[1]<=y.MAX_BITS_PER_GRANULE);var r=.33*(.5-t)/.5;r<0&&(r=0),.5y.MAX_BITS_PER_CHANNEL-e[0]&&(s=y.MAX_BITS_PER_CHANNEL-e[0]),s<0&&(s=0),125<=e[1]&&(125>1,x=0;do{x+=A=f[o]*f[o],S+=A>1;w=v/b,S=E;do{var A,B;x+=A=f[o]*f[o],S+=Aa[s-3+1]&&(a[s-3+1]+=(a[s-3]-a[s-3+1])*i.decay),a[s-3+1]>a[s-3+2]&&(a[s-3+2]+=(a[s-3+1]-a[s-3+2])*i.decay))}return _},this.calc_noise_core=function(e,t,n,a){var r=0,s=t.s,i=e.l3_enc;if(s>e.count1)for(;0!=n--;){_=e.xr[s],s++,r+=_*_,_=e.xr[s],s++,r+=_*_}else if(s>e.big_values){var o=S(2);for(o[0]=0,o[1]=a;0!=n--;){_=Math.abs(e.xr[s])-o[i[s]],s++,r+=_*_,_=Math.abs(e.xr[s])-o[i[s]],s++,r+=_*_}}else for(;0!=n--;){var _;_=Math.abs(e.xr[s])-p[i[s]]*a,s++,r+=_*_,_=Math.abs(e.xr[s])-p[i[s]]*a,s++,r+=_*_}return t.s=s,r},this.calc_noise=function(e,t,n,a,r){var s,i,o,_=0,l=0,f=0,c=0,u=0,h=-20,p=0,d=e.scalefac,b=0;for(s=a.over_SSD=0;s>1,p+e.width[s]>e.max_nonzero_coeff)i=0<(w=e.max_nonzero_coeff-p+1)?w>>1:0;var y=new R(p);g=this.calc_noise_core(e,y,i,S),p=y.s,null!=r&&(r.step[s]=v,r.noise[s]=g),g=n[_++]=g/t[l++],g=A.FAST_LOG10(Math.max(g,1e-20)),null!=r&&(r.noise_log[s]=g)}if(null!=r&&(r.global_gain=e.global_gain),u+=g,0g&&(g=e.length,S=y(w=0|1.25*g+7200));var n=r.lame_encode_buffer(m,e,t,e.length,S,0,w);return new Int8Array(S.subarray(0,n))},this.flush=function(){var e=r.lame_encode_flush(m,S,0,w);return new Int8Array(S.subarray(0,e))}},e.exports.WavHeader=o},function(e,t,n){var a=n(18);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,n(3).default)("9d62102e",a,!1,{})},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,"\n.ar-player {\n width: 380px;\n height: unset;\n border: 0;\n border-radius: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n background-color: unset;\n font-family: 'Roboto', sans-serif;\n}\n.ar-player > .ar-player-bar {\n border: 1px solid #E8E8E8;\n border-radius: 24px;\n margin: 0 0 0 5px;\n}\n.ar-player > .ar-player-bar > .ar-player__progress {\n width: 125px;\n}\n.ar-player-bar {\n display: flex;\n align-items: center;\n height: 38px;\n padding: 0 12px;\n margin: 0 5px;\n}\n.ar-player-actions {\n width: 55%;\n display: flex;\n align-items: center;\n justify-content: space-around;\n}\n.ar-player__progress {\n width: 160px;\n margin: 0 8px;\n}\n.ar-player__time {\n color: rgba(84, 84, 84, 0.5);\n font-size: 16px;\n width: 41px;\n}\n.ar-player__play {\n width: 45px;\n height: 45px;\n background-color: #FFFFFF;\n box-shadow: 0 2px 11px 11px rgba(0, 0, 0, 0.07);\n}\n.ar-player__play--active {\n fill: white !important;\n background-color: #05CBCD !important;\n}\n.ar-icon {\n fill: #747474;\n border-radius: 50%;\n border: 1px solid #05CBCD;\n background-color: #FFFFFF;\n padding: 5px;\n cursor: pointer;\n transition: .2s;\n}\n.ar-icon--no-border {\n border: 0;\n border-radius: 0;\n padding: 0;\n}\n.ar-icon--rec {\n fill: white;\n background-color: #FF6B64;\n border-color: transparent;\n}\n.ar-icon--pulse {\n animation: ripple .5s linear infinite;\n}\n@keyframes ripple {\n0% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 1px rgba(255, 0, 0, 0.1), 0 0 0 5px rgba(255, 0, 0, 0.1);\n}\n100% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 10px rgba(255, 0, 0, 0.1), 0 0 0 20px rgba(255, 0, 0, 0);\n}\n}\n.ar-icon__xs {\n width: 18px;\n height: 18px;\n line-height: 18px;\n}\n.ar-icon__sm {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.ar-icon__lg {\n width: 45px;\n height: 45px;\n line-height: 45px;\n box-shadow: 0 2px 5px 1px rgba(158, 158, 158, 0.5);\n}\n",""])},function(e,t,n){var a=n(20);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,n(3).default)("722c44a2",a,!1,{})},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,"\n.ar-line-control {\n position: relative;\n height: 8px;\n border-radius: 5px;\n background-color: #E6E6E6;\n}\n.ar-line-control__head {\n position: absolute;\n height: inherit;\n background-color: #616161;\n border-radius: inherit;\n}\n",""])},function(e,t,n){var a=n(22);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,n(3).default)("7e43270a",a,!1,{})},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,"\n.ar-volume {\n display: flex;\n align-items: center;\n line-height: 10px;\n}\n.ar-volume-bar {\n width: 50px;\n height: 6px;\n background: #E6E6E6;\n border-radius: 4px;\n position: relative;\n}\n.ar-volume__icon {\n fill: #747474;\n width: 24px;\n height: 24px;\n border: 0;\n border-radius: 0;\n padding: 0;\n background-color: unset;\n margin-right: 3px;\n}\n",""])},function(e,t,n){var a=n(24);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,n(3).default)("00c7c6ba",a,!1,{})},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,"\n.ar {\n width: 420px;\n font-family: 'Roboto', sans-serif;\n border-radius: 16px;\n background-color: #FAFAFA;\n box-shadow: 0 4px 18px 0 rgba(0, 0, 0, 0.17);\n position: relative;\n box-sizing: content-box;\n}\n.ar-content {\n padding: 16px;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.ar-records {\n height: 138px;\n padding-top: 1px;\n overflow-y: auto;\n margin-bottom: 20px;\n}\n.ar-records__record {\n width: 320px;\n height: 45px;\n padding: 0 10px;\n margin: 0 auto;\n line-height: 45px;\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid #E8E8E8;\n position: relative;\n}\n.ar-records__record--selected {\n border: 1px solid #E8E8E8;\n border-radius: 24px;\n background-color: #FFFFFF;\n margin-top: -1px;\n padding: 0 34px;\n}\n.ar-recorder {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.ar-recorder__duration {\n color: #AEAEAE;\n font-size: 32px;\n font-weight: 500;\n margin-top: 20px;\n margin-bottom: 16px;\n}\n.ar-recorder__stop {\n position: absolute;\n top: 10px;\n right: -52px;\n}\n.ar-recorder__time-limit {\n position: absolute;\n color: #AEAEAE;\n font-size: 12px;\n top: 128px;\n}\n.ar-recorder__records-limit {\n position: absolute;\n color: #AEAEAE;\n font-size: 13px;\n top: 78px;\n}\n.ar-spinner {\n display: flex;\n height: 30px;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n margin: auto;\n width: 144px;\n z-index: 10;\n}\n.ar-spinner__dot {\n display: block;\n margin: 0 8px;\n border-radius: 50%;\n width: 30px;\n height: 30px;\n background: #05CBCD;\n animation-name: blink;\n animation-duration: 1.4s;\n animation-iteration-count: infinite;\n animation-fill-mode: both;\n}\n.ar-spinner__dot:nth-child(2) {\n animation-delay: .2s;\n}\n.ar-spinner__dot:nth-child(3) {\n animation-delay: .4s;\n}\n@keyframes blink {\n0% {\n opacity: .2;\n}\n20% {\n opacity: 1;\n}\n100% {\n opacity: .2;\n}\n}\n.ar__text {\n color: rgba(84, 84, 84, 0.5);\n font-size: 16px;\n}\n.ar__blur {\n filter: blur(2px);\n opacity: 0.7;\n}\n.ar__overlay {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 10;\n}\n.ar__upload-status {\n text-align: center;\n font-size: 10px;\n padding: 2px;\n letter-spacing: 1px;\n position: absolute;\n bottom: 0;\n}\n.ar__upload-status--success {\n color: green;\n}\n.ar__upload-status--fail {\n color: red;\n}\n.ar__rm {\n cursor: pointer;\n position: absolute;\n width: 6px;\n height: 6px;\n padding: 6px;\n line-height: 6px;\n margin: auto;\n left: 10px;\n bottom: 0;\n top: 0;\n color: #f4785a;\n}\n.ar__downloader, .ar__uploader {\n position: absolute;\n top: 0;\n bottom: 0;\n margin: auto;\n}\n.ar__downloader {\n right: 115px;\n}\n.ar__uploader {\n right: 85px;\n}\n.ar-icon {\n fill: #747474;\n border-radius: 50%;\n border: 1px solid #05CBCD;\n background-color: #FFFFFF;\n padding: 5px;\n cursor: pointer;\n transition: .2s;\n}\n.ar-icon--no-border {\n border: 0;\n border-radius: 0;\n padding: 0;\n}\n.ar-icon--rec {\n fill: white;\n background-color: #FF6B64;\n border-color: transparent;\n}\n.ar-icon--pulse {\n animation: ripple .5s linear infinite;\n}\n@keyframes ripple {\n0% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 1px rgba(255, 0, 0, 0.1), 0 0 0 5px rgba(255, 0, 0, 0.1);\n}\n100% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 10px rgba(255, 0, 0, 0.1), 0 0 0 20px rgba(255, 0, 0, 0);\n}\n}\n.ar-icon__xs {\n width: 18px;\n height: 18px;\n line-height: 18px;\n}\n.ar-icon__sm {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.ar-icon__lg {\n width: 45px;\n height: 45px;\n line-height: 45px;\n box-shadow: 0 2px 5px 1px rgba(158, 158, 158, 0.5);\n}\n",""])},function(e,t,n){var a=n(26);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,n(3).default)("07a135de",a,!1,{})},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,"\n.ar-icon {\n fill: #747474;\n border-radius: 50%;\n border: 1px solid #05CBCD;\n background-color: #FFFFFF;\n padding: 5px;\n cursor: pointer;\n transition: .2s;\n}\n.ar-icon--no-border {\n border: 0;\n border-radius: 0;\n padding: 0;\n}\n.ar-icon--rec {\n fill: white;\n background-color: #FF6B64;\n border-color: transparent;\n}\n.ar-icon--pulse {\n animation: ripple .5s linear infinite;\n}\n@keyframes ripple {\n0% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 1px rgba(255, 0, 0, 0.1), 0 0 0 5px rgba(255, 0, 0, 0.1);\n}\n100% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 10px rgba(255, 0, 0, 0.1), 0 0 0 20px rgba(255, 0, 0, 0);\n}\n}\n.ar-icon__xs {\n width: 18px;\n height: 18px;\n line-height: 18px;\n}\n.ar-icon__sm {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.ar-icon__lg {\n width: 45px;\n height: 45px;\n line-height: 45px;\n box-shadow: 0 2px 5px 1px rgba(158, 158, 158, 0.5);\n}\n",""])},function(e,t,n){var a=n(0),X=a.System,q=a.VbrMode,Y=(a.Float,a.ShortBlock),j=(a.Util,a.Arrays,a.new_array_n,a.new_byte,a.new_double,a.new_float),U=(a.new_float_n,a.new_int,a.new_int_n),d=a.new_short_n,z=a.assert,G=n(28),s=n(32),K=n(4),Z=n(36),Q=n(37),W=n(38),$=n(13),J=n(7),ee=n(1);e.exports=function e(){var T=this;e.V9=410,e.V8=420,e.V7=430,e.V6=440,e.V5=450,e.V4=460,e.V3=470,e.V2=480,e.V1=490,e.V0=500,e.R3MIX=1e3,e.STANDARD=1001,e.EXTREME=1002,e.INSANE=1003,e.STANDARD_FAST=1004,e.EXTREME_FAST=1005,e.MEDIUM=1006,e.MEDIUM_FAST=1007;var k,P,g,w,S;e.LAME_MAXMP3BUFFER=147456;var y,M,x,R=new G;function A(){this.mask_adjust=0,this.mask_adjust_short=0,this.bo_l_weight=j(ee.SBMAX_l),this.bo_s_weight=j(ee.SBMAX_s)}function B(){this.lowerlimit=0}function r(e,t){this.lowpass=t}this.enc=new ee,this.setModules=function(e,t,n,a,r,s,i,o,_){k=e,P=t,g=n,w=a,S=r,y=s,M=o,x=_,this.enc.setModules(P,R,w,y)};var L=4294479419;function E(e){return 1=t),t}function F(){this.n_in=0,this.n_out=0}function f(){this.num_used=0}function C(e,t,n){var a=Math.PI*t;(e/=n)<0&&(e=0),1K.BPC&&(h=K.BPC);var p=Math.abs(c.resample_ratio-Math.floor(.5+c.resample_ratio))<1e-4?1:0,d=1/c.resample_ratio;1=m)for(l=0;le.in_samplerate&&(e.lowpassfreq=e.in_samplerate/2),e.out_samplerate=(t=0|e.lowpassfreq,n=e.in_samplerate,a=44100,48e3<=n?a=48e3:44100<=n?a=44100:32e3<=n?a=32e3:24e3<=n?a=24e3:22050<=n?a=22050:16e3<=n?a=16e3:12e3<=n?a=12e3:11025<=n?a=11025:8e3<=n&&(a=8e3),-1==t?a:(t<=15960&&(a=44100),t<=15250&&(a=32e3),t<=11220&&(a=24e3),t<=9970&&(a=22050),t<=7230&&(a=16e3),t<=5420&&(a=12e3),t<=4510&&(a=11025),t<=3970&&(a=8e3),n=t.lowpass2&&(n=Math.min(n,s)),t.lowpass1t.highpass1?E((t.highpass2-l)/(t.highpass2-t.highpass1+1e-20)):1,_=t.lowpass2>t.lowpass1?E((l-t.lowpass1)/(t.lowpass2-t.lowpass1+1e-20)):1,t.amp_filter[s]=o*_}}(e),r.samplerate_index=I(e.out_samplerate,e),r.samplerate_index<0)return e.internal_flags=null,-1;if(e.VBR==q.vbr_off){if(e.free_format)r.bitrate_index=0;else if(e.brate=V(e.brate,e.version,e.out_samplerate),r.bitrate_index=H(e.brate,e.version,e.out_samplerate),r.bitrate_index<=0)return e.internal_flags=null,-1}else r.bitrate_index=1;e.analysis&&(e.bWriteVbrTag=!1),null!=r.pinfo&&(e.bWriteVbrTag=!1),P.init_bit_stream_w(r);for(var c,u,h,p=r.samplerate_index+3*e.version+6*(e.out_samplerate<16e3?1:0),d=0;d=f){var E=i-h;if(0==i&&(E=0),b=e,m=p[0],v=p[1],g=r,w=s,S=E,void 0,y=T.enc.lame_encode_mp3_frame(b,m,v,g,w,S),b.frameNum++,(o=y)<0)return o;for(s+=o,h+=o,u.mf_size-=e.framesize,u.mf_samples_to_encode-=e.framesize,l=0;lO[h+3-2]?(ke(010*Q?(ke(0H&&(q[h/3]=h%3+1);for(h=1;h<4;h++)(N[h-1]>N[h]?(ke(01.58*e.thm[1].l[t]||e.thm[1].l[t]>1.58*e.thm[0].l[t])){var n=e.mld_l[t]*e.en[3].l[t],a=Math.max(e.thm[2].l[t],Math.min(e.thm[3].l[t],n));n=e.mld_l[t]*e.en[2].l[t];var r=Math.max(e.thm[3].l[t],Math.min(e.thm[2].l[t],n));e.thm[2].l[t]=a,e.thm[3].l[t]=r}for(t=0;t1.58*e.thm[1].s[t][s]||e.thm[1].s[t][s]>1.58*e.thm[0].s[t][s]||(n=e.mld_s[t]*e.en[3].s[t][s],a=Math.max(e.thm[2].s[t][s],Math.min(e.thm[3].s[t][s],n)),n=e.mld_s[t]*e.en[2].s[t][s],r=Math.max(e.thm[3].s[t][s],Math.min(e.thm[2].s[t][s],n)),e.thm[2].s[t][s]=a,e.thm[3].s[t][s]=r)}(w),g=e.msfix,0g&&(a[_]=g),1n[_]&&(a[_]=n[_]),l.masking_lower<1&&(a[_]*=l.masking_lower),ke(0<=a[_])}for(;_f&&(a[s]=f),1n[s]&&(a[s]=n[s]),e.masking_lower<1&&(a[s]*=e.masking_lower),ke(0<=a[s])}for(;sS[b+3-2]?(ke(010*k?(ke(0R&&(_[p][b/3]=b%3+1);for(b=1;b<4;b++){var V=y[b-1],H=y[b];Math.max(V,H)<4e4&&V<1.7*H&&H<1.7*V&&(1==b&&_[p][0]<=_[p][b]&&(_[p][0]=0),_[p][b]=0)}_[p][0]<=c.nsPsy.lastAttacks[p]&&(_[p][0]=0),3!=c.nsPsy.lastAttacks[p]&&_[p][0]+_[p][1]+_[p][2]+_[p][3]==0||((A=0)!=_[p][1]&&0!=_[p][0]&&(_[p][1]=0),0!=_[p][2]&&0!=_[p][1]&&(_[p][2]=0),0!=_[p][3]&&0!=_[p][2]&&(_[p][3]=0)),p<2?l[p]=A:0==A&&(l[0]=l[1]=0),i[p]=c.tot_ener[p]}}(e,t,n,a,r,s,_,y,M,x),function(e,t){var n=e.internal_flags;e.short_blocks!=Re.short_block_coupled||0!=t[0]&&0!=t[1]||(t[0]=t[1]=0);for(var a=0;a=s&&(b=o*(f[t]-s)/(24-s)+i*(24-f[t])/(24-s)),u[t]=Math.pow(10,b/10),0=s&&(b=l*(f[t]-s)/(24-s)+_*(24-f[t])/(24-s)),u[t]=Math.pow(10,b/10),g=G.MAX_VALUE,m=0;ma.npart_l-1&&(a.s3ind[S][1]=a.npart_l-1);var y=576*a.mode_gr/h;if(a.ATH.decay=Math.pow(10,-1.2*y),a.ATH.adjust=.01,a.ATH.adjustLimit=1,ke(a.bo_l[Pe.SBMAX_l-1]<=a.npart_l),ke(a.bo_s[Pe.SBMAX_s-1]<=a.npart_s),-1!=e.ATHtype){var M=e.out_samplerate/Pe.BLKSIZE,x=0;for(t=v=0;t>1,h=(u=(c=a)<<1)+c,a=u<<1,s=(r=t)+p;S=e[r+0]-e[r+c],w=e[r+0]+e[r+c],R=e[r+u]-e[r+h],M=e[r+u]+e[r+h],e[r+u]=w-M,e[r+0]=w+M,e[r+h]=S-R,e[r+c]=S+R,S=e[s+0]-e[s+c],w=e[s+0]+e[s+c],R=E.SQRT2*e[s+h],M=E.SQRT2*e[s+u],e[s+u]=w-M,e[s+0]=w+M,e[s+h]=S-R,e[s+c]=S+R,s+=a,(r+=a)n.max_noise-.2&&n.tot_noisen.max_noise-.2&&n.tot_noisen.max_noise-.1&&n.tot_noise+n.over_noisen.max_noise-.15&&n.tot_noise+n.over_noise+n.over_noiset.xrpow_max&&(t.xrpow_max=a[f+c]);if(2==i.noise_shaping_amp)return}}}(e,t,n,a,r);var i=o(t);return!(i||(i=2==s.mode_gr?y.scale_bitcount(t):y.scale_bitcount_lsf(s,t))&&(1e.xrpow_max&&(e.xrpow_max=t[n+i])}e.scalefac[a]=s>>1}e.preflag=0,e.scalefac_scale=1}(t,a),i=!1):t.block_type==L.SHORT_TYPE&&0>t.scalefac_scale))r[a]=f,_+=3*l;else{r[a]=0;var c=210+(f<t.xrpow_max&&(t.xrpow_max=n[_+u]);_+=l*(3-s-1)}}var h=S.IPOW20(202);for(_+=t.width[a]*(s+1),u=-t.width[a];u<0;u++)n[_+u]*=h,n[_+u]>t.xrpow_max&&(t.xrpow_max=n[_+u])}}return!1}(s,t,a)||o(t))),i||(i=2==s.mode_gr?y.scale_bitcount(t):y.scale_bitcount_lsf(s,t)),i))}this.setModules=function(e,t,n,a){m=e,g=t,this.rv=t,S=n,this.qupvt=n,y=a,r.setModules(S,y)},this.ms_convert=function(e,t){for(var n=0;n<576;++n){var a=e.tt[t][0].xr[n],r=e.tt[t][1].xr[n];e.tt[t][0].xr[n]=(a+r)*(.5*i.SQRT2),e.tt[t][1].xr[n]=(a-r)*(.5*i.SQRT2)}},this.init_xrpow=function(e,t,n){var a=0,r=0|t.max_nonzero_coeff;if(T(null!=n),t.xrpow_max=0,T(0<=r&&r<=575),b.fill(n,r,576,0),1e-20<(a=function(e,t,n,a){for(var r=a=0;r<=n;++r){var s=Math.abs(e.xr[r]);a+=s,t[r]=Math.sqrt(s*Math.sqrt(s)),t[r]>e.xrpow_max&&(e.xrpow_max=t[r])}return a}(t,n,r,a))){var s=0;0!=(2&e.substep_shaping)&&(s=1);for(var i=0;iw&&o.global_gain<=g;)o.global_gain++;if(o.global_gain>g)break;if(0==f.over_count){for(;(o.part2_3_length=y.count_bits(i,a,o,c))>u&&o.global_gain<=g;)o.global_gain++;if(o.global_gain>g)break}if(S.calc_noise(o,n,l,v,c),v.bits=o.part2_3_length,0!=(x(t.block_type!=L.SHORT_TYPE?e.quant_comp:e.quant_comp_short,f,v,o,l)?1:0))u=t.part2_3_length,f=v,t.assign(o),b=0,A.arraycopy(a,0,_,0,576);else if(0==i.full_outer_loop){if(++b>m&&0==f.over_count)break;if(3==i.noise_shaping_amp&&p&&30s[f.VBR_max_bitrate]&&(o[d][m]*=s[f.VBR_max_bitrate],o[d][m]/=h),i[d][m]>o[d][m]&&(i[d][m]=o[d][m]);return u},this.bitpressure_strategy=function(e,t,n,a){for(var r=0;rLameInternalFlags.MAX_BITS_PER_CHANNEL&&(a[o][_]=LameInternalFlags.MAX_BITS_PER_CHANNEL),p+=a[o][_]}if(p>LameInternalFlags.MAX_BITS_PER_GRANULE)for(_=0;_LameInternalFlags.MAX_BITS_PER_CHANNEL&&(a[o][_]=LameInternalFlags.MAX_BITS_PER_CHANNEL),l+=a[o][_];if(l>s[0])for(o=0;oi&&(a.ResvMax=i),(a.ResvMax<0||e.disable_reservoir)&&(a.ResvMax=0);var o=t.bits*a.mode_gr+Math.min(a.ResvSize,a.ResvMax);return n>24,e[t+1]=255&n>>16,e[t+2]=255&n>>8,e[t+3]=255&n}function H(e,t,n){e[t+0]=255&n>>8,e[t+1]=255&n}function o(e,t,n){return 255&(e<>8^n[255&(t^e)]}this.addVbrFrame=function(e){var t=e.internal_flags,n=Tables.bitrate_table[e.version][t.bitrate_index];r(null!=t.VBR_seek_table.bag),function(e,t){if(e.nVbrNumFrames++,e.sum+=t,e.seen++,!(e.seen>3&1,i=e[n+2]>>2&3,o=e[n+3]>>6&3,_=e[n+2]>>4&15;if(_=Tables.bitrate_table[s][_],e[n+1]>>4==14?t.samprate=Tables.samplerate_table[2][i]:t.samprate=Tables.samplerate_table[s][i],a=e,r=n+=0!=s?3!=o?36:21:3!=o?21:13,!new String(a,r,p.length(),null).equals(p)&&!new String(a,r,d.length(),null).equals(d))return null;n+=4,t.hId=s;var l=t.flags=b(e,n);if(n+=4,0!=(1&l)&&(t.frames=b(e,n),n+=4),0!=(2&l)&&(t.bytes=b(e,n),n+=4),0!=(4&l)){if(null!=t.toc)for(var f=0;f>4;var u=(15&e[n+1])<<8;return(c<0||3e3e.pos-1&&(r=e.pos-1);var s=0|256*e.bag[r]/e.sum;255e.scale_right||e.disable_reservoir&&e.brate<320||e.noATH||e.ATHonly||0==k||e.in_samplerate<=32e3)&&(y=1),i=w+(S<<2)+(y<<5)+(M<<6),o=f.nMusicCRC,V(n,a+c,p),c+=4;for(var P=0;P<9;P++)n[a+c+P]=255&d.charAt(P);n[a+(c+=9)]=255&s,n[a+ ++c]=255&m,V(n,a+ ++c,v),H(n,a+(c+=4),g),H(n,a+(c+=2),0),n[a+(c+=2)]=255&_,n[a+ ++c]=255<=l?255:255&l,n[a+ ++c]=255&u>>4,n[a+c+1]=255&(u<<4)+(h>>8),n[a+c+2]=255&h,n[a+(c+=3)]=255&i,c++,n[a+c++]=0,H(n,a+c,e.preset),V(n,a+(c+=2),t),H(n,a+(c+=4),o),c+=2;for(var L=0;La.length?-1:(r<1||t.write(a,0,r),0)}}s.NUMTOCENTRIES=100,s.MAXFRAMESIZE=2880,e.exports=s},function(e,t,n){var a=n(48);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,n(3).default)("5b0bec03",a,!1,{})},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,"\n.ar-icon {\n fill: #747474;\n border-radius: 50%;\n border: 1px solid #05CBCD;\n background-color: #FFFFFF;\n padding: 5px;\n cursor: pointer;\n transition: .2s;\n}\n.ar-icon--no-border {\n border: 0;\n border-radius: 0;\n padding: 0;\n}\n.ar-icon--rec {\n fill: white;\n background-color: #FF6B64;\n border-color: transparent;\n}\n.ar-icon--pulse {\n animation: ripple .5s linear infinite;\n}\n@keyframes ripple {\n0% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 1px rgba(255, 0, 0, 0.1), 0 0 0 5px rgba(255, 0, 0, 0.1);\n}\n100% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.1), 0 0 0 10px rgba(255, 0, 0, 0.1), 0 0 0 20px rgba(255, 0, 0, 0);\n}\n}\n.ar-icon__xs {\n width: 18px;\n height: 18px;\n line-height: 18px;\n}\n.ar-icon__sm {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.ar-icon__lg {\n width: 45px;\n height: 45px;\n line-height: 45px;\n box-shadow: 0 2px 5px 1px rgba(158, 158, 158, 0.5);\n}\n",""])},function(e,t,n){"use strict";n.r(t);var a={props:{name:{type:String}},data:function(){return{icons:{download:'',mic:'',pause:'',play:'',save:'',stop:'',volume:''}}}},r=function(){var e=this,t=e.$createElement;return(e._self._c||t)("div",{domProps:{innerHTML:e._s(e.icons[e.name])}})};function s(e,t,n,a,r,s,i,o){var _=typeof(e=e||{}).default;"object"!==_&&"function"!==_||(e=e.default);var l,f="function"==typeof e?e.options:e;if(t&&(f.render=t,f.staticRenderFns=n,f._compiled=!0),a&&(f.functional=!0),s&&(f._scopeId=s),i?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},f._ssrRegister=l):r&&(l=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),l)if(f.functional){f._injectStyles=l;var c=f.render;f.render=function(e,t){return l.call(t),c(e,t)}}else{var u=f.beforeCreate;f.beforeCreate=u?[].concat(u,l):[l]}return{exports:e,options:f}}r._withStripped=!0;var i=s(a,r,[],!1,null,null,null);i.options.__file="src/components/icon-button.vue";var o=i.exports;function _(e,t){var n=t.getBoundingClientRect().width,a=e.target.getBoundingClientRect().left,r=(e.clientX-a)/n;try{if(!e.target.className.match(/^ar\-line\-control/))return}catch(e){return}return r=1<(r=r<0?0:r)?1:r}function l(e){return new Date(1e3*e).toISOString().substr(14,5)}var f={props:{refId:{type:String},eventName:{type:String},percentage:{type:Number,default:0},rowDirection:{type:Boolean,default:!0}},methods:{onMouseDown:function(e){var t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t),document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp)},onMouseUp:function(e){document.removeEventListener("mouseup",this.onMouseUp),document.removeEventListener("mousemove",this.onMouseMove);var t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t)},onMouseMove:function(e){var t=_(e,this.$refs[this.refId]);this.$emit("change-linehead",t)}},computed:{calculateSize:function(){var e=this.percentage<1?100*this.percentage:this.percentage;return(this.rowDirection?"width":"height")+": "+e+"%"}}},c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:e.refId,staticClass:"ar-line-control",on:{mousedown:e.onMouseDown}},[n("div",{staticClass:"ar-line-control__head",style:e.calculateSize})])};c._withStripped=!0;var u=s(f,c,[],!1,function(e){n(19)},null,null);u.options.__file="src/components/line-control.vue";var h=u.exports,p={data:function(){return{volume:.8}},components:{IconButton:o,LineControl:h},methods:{onChangeLinehead:function(e){this.$emit("change-volume",e),this.volume=e}}},d=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"ar-volume"},[n("icon-button",{staticClass:"ar-volume__icon",attrs:{name:"volume"}}),e._v(" "),n("line-control",{staticClass:"ar-volume-bar",attrs:{"ref-id":"volume",percentage:e.volume},on:{"change-linehead":e.onChangeLinehead}})],1)};d._withStripped=!0;var b=s(p,d,[],!1,function(e){n(21)},null,null);b.options.__file="src/components/volume-control.vue";var m=b.exports,v={props:{src:{type:String},record:{type:Object},filename:{type:String}},data:function(){return{isPlaying:!1,duration:l(0),playedTime:l(0),progress:0}},components:{IconButton:o,LineControl:h,VolumeControl:m},mounted:function(){var t=this;this.player=document.getElementById(this.playerUniqId),this.player.addEventListener("ended",function(){t.isPlaying=!1}),this.player.addEventListener("loadeddata",function(e){t._resetProgress(),t.duration=l(t.player.duration)}),this.player.addEventListener("timeupdate",this._onTimeUpdate),this.$eventBus.$on("remove-record",function(){t._resetProgress()})},computed:{audioSource:function(){var e=this.src||this.record.url;if(e)return e;this._resetProgress()},playBtnIcon:function(){return this.isPlaying?"pause":"play"},playerUniqId:function(){return"audio-player"+this._uid}},methods:{playback:function(){var e=this;this.audioSource&&(this.isPlaying?this.player.pause():setTimeout(function(){e.player.play()},0),this.isPlaying=!this.isPlaying)},_resetProgress:function(){this.isPlaying&&this.player.pause(),this.duration=l(0),this.playedTime=l(0),this.progress=0,this.isPlaying=!1},_onTimeUpdate:function(){this.playedTime=l(this.player.currentTime),this.progress=this.player.currentTime/this.player.duration*100},_onUpdateProgress:function(e){e&&(this.player.currentTime=e*this.player.duration)},_onChangeVolume:function(e){e&&(this.player.volume=e)}}},g=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"ar-player"},[n("div",{staticClass:"ar-player-actions"},[n("icon-button",{staticClass:"ar-icon ar-icon__lg ar-player__play",class:{"ar-player__play--active":t.isPlaying},attrs:{id:"play",name:t.playBtnIcon},nativeOn:{click:function(e){return t.playback(e)}}})],1),t._v(" "),n("div",{staticClass:"ar-player-bar"},[n("div",{staticClass:"ar-player__time"},[t._v(t._s(t.playedTime))]),t._v(" "),n("line-control",{staticClass:"ar-player__progress",attrs:{"ref-id":"progress",percentage:t.progress},on:{"change-linehead":t._onUpdateProgress}}),t._v(" "),n("div",{staticClass:"ar-player__time"},[t._v(t._s(t.duration))]),t._v(" "),n("volume-control",{on:{"change-volume":t._onChangeVolume}})],1),t._v(" "),n("audio",{attrs:{id:t.playerUniqId,src:t.audioSource}})])};g._withStripped=!0;var w=s(v,g,[],!1,function(e){n(17)},null,null);w.options.__file="src/components/player.vue";var S=w.exports,y={props:{record:{type:Object},filename:{type:String}},components:{IconButton:o},methods:{download:function(){if(this.record.url){var e=document.createElement("a");e.href=this.record.url,e.download=this.filename+".mp3",e.click()}}}},M=function(){var t=this,e=t.$createElement;return(t._self._c||e)("icon-button",{staticClass:"ar-icon ar-icon__xs ar-icon--no-border",attrs:{id:"download",name:"download"},nativeOn:{click:function(e){return t.download(e)}}})};M._withStripped=!0;var x=s(y,M,[],!1,function(e){n(25)},null,null);x.options.__file="src/components/downloader.vue";var R=x.exports,A=n(16),B=function(){function a(e,t){for(var n=0;n=this.attempts||(!this.isRecording||this.isRecording&&this.isPause?this.recorder.start():this.recorder.pause())},stopRecorder:function(){this.isRecording&&(this.recorder.stop(),this.recordList=this.recorder.recordList())},removeRecord:function(e){this.recordList.splice(e,1),this.$set(this.selected,"url",null),this.$eventBus.$emit("remove-record")},choiceRecord:function(e){this.selected!==e&&(this.selected=e,this.selectRecord&&this.selectRecord(e))},_initRecorder:function(){return new k({beforeRecording:this.beforeRecording,afterRecording:this.afterRecording,pauseRecording:this.pauseRecording,micFailed:this.micFailed})}},computed:{attemptsLeft:function(){return this.attempts-this.recordList.length},iconButtonType:function(){return this.isRecording&&this.isPause?"mic":this.isRecording?"pause":"mic"},isPause:function(){return this.recorder.isPause},isRecording:function(){return this.recorder.isRecording},recordedTime:function(){return this.time&&this.recorder.duration>=60*this.time&&this.stopRecorder(),l(this.recorder.duration)},volume:function(){return parseFloat(this.recorder.volume)}}},N=function(){var a=this,e=a.$createElement,r=a._self._c||e;return r("div",{staticClass:"ar"},[a.isUploading?r("div",{staticClass:"ar__overlay"}):a._e(),a._v(" "),a.isUploading?r("div",{staticClass:"ar-spinner"},[r("div",{staticClass:"ar-spinner__dot"}),a._v(" "),r("div",{staticClass:"ar-spinner__dot"}),a._v(" "),r("div",{staticClass:"ar-spinner__dot"})]):a._e(),a._v(" "),r("div",{staticClass:"ar-content",class:{ar__blur:a.isUploading}},[r("div",{staticClass:"ar-recorder"},[r("icon-button",{staticClass:"ar-icon ar-icon__lg",class:{"ar-icon--rec":a.isRecording,"ar-icon--pulse":a.isRecording&&.02", "license": "MIT", "scripts": { "dev": "webpack-dev-server --env.NODE_ENV=development --mode development --open --hot --https", "build": "webpack --env.NODE_ENV=production --mode production --progress --hide-modules" }, - "dependencies": {}, + "dependencies": { + "lamejs": "^1.2.0" + }, "browserslist": [ "> 1%", "last 2 versions", diff --git a/screenshot.png b/screenshot.png index c7779c3..25a48fd 100644 Binary files a/screenshot.png and b/screenshot.png differ diff --git a/src/components/downloader.vue b/src/components/downloader.vue new file mode 100644 index 0000000..224123b --- /dev/null +++ b/src/components/downloader.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/src/components/line-control.vue b/src/components/line-control.vue index 1b9ab55..17dabc4 100644 --- a/src/components/line-control.vue +++ b/src/components/line-control.vue @@ -35,7 +35,7 @@ }, methods: { onMouseDown (ev) { - let seekPos = calculateLineHeadPosition(ev, this.$refs[this.refId]) + const seekPos = calculateLineHeadPosition(ev, this.$refs[this.refId]) this.$emit('change-linehead', seekPos) document.addEventListener('mousemove', this.onMouseMove) document.addEventListener('mouseup', this.onMouseUp) @@ -43,17 +43,17 @@ onMouseUp (ev) { document.removeEventListener('mouseup', this.onMouseUp) document.removeEventListener('mousemove', this.onMouseMove) - let seekPos = calculateLineHeadPosition(ev, this.$refs[this.refId]) + const seekPos = calculateLineHeadPosition(ev, this.$refs[this.refId]) this.$emit('change-linehead', seekPos) }, onMouseMove (ev) { - let seekPos = calculateLineHeadPosition(ev, this.$refs[this.refId]) + const seekPos = calculateLineHeadPosition(ev, this.$refs[this.refId]) this.$emit('change-linehead', seekPos) } }, computed: { calculateSize () { - let value = this.percentage < 1 ? this.percentage * 100 : this.percentage + const value = this.percentage < 1 ? this.percentage * 100 : this.percentage return `${this.rowDirection ? 'width' : 'height'}: ${value}%` } } diff --git a/src/components/player.vue b/src/components/player.vue index e001644..81ea69d 100644 --- a/src/components/player.vue +++ b/src/components/player.vue @@ -1,16 +1,26 @@