Files
vue-audio-recorder/dist/vue-audio-recorder.min.js
Gennady Grishkovtsov 206216643a Update version to 2.1.0
2018-09-30 16:01:51 +03:00

2 lines
28 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define("VueAudioRecorder",[],n):"object"==typeof exports?exports.VueAudioRecorder=n():t.VueAudioRecorder=n()}("undefined"!=typeof self?self:this,function(){return function(t){function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}var e={};return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=12)}([function(t,n){t.exports=function(t,n,e,r,i,o){var a,s=t=t||{},c=typeof t.default;"object"!==c&&"function"!==c||(a=t,s=t.default);var l="function"==typeof s?s.options:s;n&&(l.render=n.render,l.staticRenderFns=n.staticRenderFns,l._compiled=!0),e&&(l.functional=!0),i&&(l._scopeId=i);var u;if(o?(u=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=u):r&&(u=r),u){var d=l.functional,p=d?l.render:l.beforeCreate;d?(l._injectStyles=u,l.render=function(t,n){return u.call(n),p(t,n)}):l.beforeCreate=p?[].concat(p,u):[u]}return{esModule:a,exports:s,options:l}}},function(t,n){function e(t,n){var e=t[1]||"",i=t[3];if(!i)return e;if(n&&"function"==typeof btoa){var o=r(i);return[e].concat(i.sources.map(function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"})).concat([o]).join("\n")}return[e].join("\n")}function r(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var n=[];return n.toString=function(){return this.map(function(n){var r=e(n,t);return n[2]?"@media "+n[2]+"{"+r+"}":r}).join("")},n.i=function(t,e){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},i=0;i<this.length;i++){var o=this[i][0];"number"==typeof o&&(r[o]=!0)}for(i=0;i<t.length;i++){var a=t[i];"number"==typeof a[0]&&r[a[0]]||(e&&!a[2]?a[2]=e:e&&(a[2]="("+a[2]+") and ("+e+")"),n.push(a))}},n}},function(t,n,e){function r(t){for(var n=0;n<t.length;n++){var e=t[n],r=u[e.id];if(r){r.refs++;for(var i=0;i<r.parts.length;i++)r.parts[i](e.parts[i]);for(;i<e.parts.length;i++)r.parts.push(o(e.parts[i]));r.parts.length>e.parts.length&&(r.parts.length=e.parts.length)}else{for(var a=[],i=0;i<e.parts.length;i++)a.push(o(e.parts[i]));u[e.id]={id:e.id,refs:1,parts:a}}}}function i(){var t=document.createElement("style");return t.type="text/css",d.appendChild(t),t}function o(t){var n,e,r=document.querySelector("style["+g+'~="'+t.id+'"]');if(r){if(f)return m;r.parentNode.removeChild(r)}if(_){var o=h++;r=p||(p=i()),n=a.bind(null,r,o,!1),e=a.bind(null,r,o,!0)}else r=i(),n=s.bind(null,r),e=function(){r.parentNode.removeChild(r)};return n(t),function(r){if(r){if(r.css===t.css&&r.media===t.media&&r.sourceMap===t.sourceMap)return;n(t=r)}else e()}}function a(t,n,e,r){var i=e?"":r.css;if(t.styleSheet)t.styleSheet.cssText=y(n,i);else{var o=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(o,a[n]):t.appendChild(o)}}function s(t,n){var e=n.css,r=n.media,i=n.sourceMap;if(r&&t.setAttribute("media",r),v.ssrId&&t.setAttribute(g,n.id),i&&(e+="\n/*# sourceURL="+i.sources[0]+" */",e+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}var c="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!c)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var l=e(15),u={},d=c&&(document.head||document.getElementsByTagName("head")[0]),p=null,h=0,f=!1,m=function(){},v=null,g="data-vue-ssr-id",_="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());t.exports=function(t,n,e,i){f=e,v=i||{};var o=l(t,n);return r(o),function(n){for(var e=[],i=0;i<o.length;i++){var a=o[i],s=u[a.id];s.refs--,e.push(s)}n?(o=l(t,n),r(o)):o=[];for(var i=0;i<e.length;i++){var s=e[i];if(0===s.refs){for(var c=0;c<s.parts.length;c++)s.parts[c]();delete u[s.id]}}}};var y=function(){var t=[];return function(n,e){return t[n]=e,t.filter(Boolean).join("\n")}}()},function(t,n,e){"use strict";function r(t,n){var e=n.getBoundingClientRect().width,r=t.target.getBoundingClientRect().left,i=(t.clientX-r)/e;try{if(!t.target.className.match(/^ar\-line\-control/))return}catch(t){return}return i=i<0?0:i,i=i>1?1:i}function i(t){return new Date(1e3*t).toISOString().substr(14,5)}n.a=r,n.b=i},function(t,n,e){"use strict";var r=e(7),i=e(16),o=e(0),a=o(r.a,i.a,!1,null,null,null);n.a=a.exports},function(t,n,e){"use strict";function r(t){e(13)}var i=e(6),o=e(24),a=e(0),s=r,c=a(i.a,o.a,!1,s,null,null);n.a=c.exports},function(t,n,e){"use strict";var r=e(4),i=e(8),o=e(20),a=e(3);n.a={props:{src:{type:String},uploadUrl:{type:String},record:{type:Object},compact:{type:Boolean,default:!0},startUpload:{type:Function},successfulUpload:{type:Function},failedUpload:{type:Function}},data:function(){return{isPlaying:!1,duration:Object(a.b)(0),playedTime:Object(a.b)(0),progress:0}},components:{IconButton:r.a,LineControl:i.a,VolumeControl:o.a},mounted:function(){var t=this;this.player=document.getElementById(this.playerUniqId),this.player.addEventListener("ended",function(){t.isPlaying=!1}),this.player.addEventListener("loadeddata",function(n){t._resetProgress(),t.duration=Object(a.b)(t.player.duration)}),this.player.addEventListener("timeupdate",this._onTimeUpdate)},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},upload:function(){var t=this;this.startUpload&&this.startUpload(),this.$emit("on-start-upload");var n=new FormData;n.append("audio",this.record.blob,"my-record"),this.$http.post(this.uploadUrl,n,{headers:{"Content-Type":"multipart/form-data; boundary="+n._boundary}}).then(function(n){t.$emit("on-end-upload","success"),t.successfulUpload&&t.successfulUpload(n)}).catch(function(n){t.$emit("on-end-upload","fail"),t.failedUpload&&t.failedUpload(n)})},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(){var t=this;this.isPlaying&&this.player.pause(),setTimeout(function(){t.duration=Object(a.b)(0),t.playedTime=Object(a.b)(0),t.progress=0,t.isPlaying=!1},0)},_onTimeUpdate:function(){this.playedTime=Object(a.b)(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)}}}},function(t,n,e){"use strict";n.a={props:{name:{type:String}},data:function(){return{icons:{download:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"/><path fill="none" d="M0 0h24v24H0z"/></svg>',mic:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3zm5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72h-1.7z"/><path d="M0 0h24v24H0z" fill="none"/></svg>',pause:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/><path d="M0 0h24v24H0z" fill="none"/></svg>',play:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8 5v14l11-7z"/><path d="M0 0h24v24H0z" fill="none"/></svg>',save:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"/></svg>',stop:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M6 6h12v12H6z"/></svg>',volume:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z"/><path d="M0 0h24v24H0z" fill="none"/></svg>'}}}}},function(t,n,e){"use strict";function r(t){e(17)}var i=e(9),o=e(19),a=e(0),s=r,c=a(i.a,o.a,!1,s,null,null);n.a=c.exports},function(t,n,e){"use strict";var r=e(3);n.a={props:{refId:{type:String},eventName:{type:String},percentage:{type:Number,default:0},rowDirection:{type:Boolean,default:!0}},methods:{onMouseDown:function(t){var n=Object(r.a)(t,this.$refs[this.refId]);this.$emit("change-linehead",n),document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp)},onMouseUp:function(t){document.removeEventListener("mouseup",this.onMouseUp),document.removeEventListener("mousemove",this.onMouseMove);var n=Object(r.a)(t,this.$refs[this.refId]);this.$emit("change-linehead",n)},onMouseMove:function(t){var n=Object(r.a)(t,this.$refs[this.refId]);this.$emit("change-linehead",n)}},computed:{calculateSize:function(){var t=this.percentage<1?100*this.percentage:this.percentage;return(this.rowDirection?"width":"height")+": "+t+"%"}}}},function(t,n,e){"use strict";var r=e(4),i=e(8);n.a={data:function(){return{volume:.8}},components:{IconButton:r.a,LineControl:i.a},methods:{onChangeLinehead:function(t){this.$emit("change-volume",t),this.volume=t}}}},function(t,n,e){"use strict";var r=e(5),i=e(4),o=e(28),a=e(3);n.a={props:{attempts:{type:Number},compact:{type:Boolean,default:!1},time:{type:Number},uploadUrl:{type:String},attemptsLimit:{type:Function},failedUpload:{type:Function},micFailed:{type:Function},startRecord:{type:Function},startUpload:{type:Function},stopRecord:{type:Function},successfulUpload:{type:Function},successfulUploadMsg:{type:String,default:"Upload successful"},failedUploadMsg:{type:String,default:"Upload fail"}},data:function(){var t=this;return{isUploading:!1,recorder:new o.a({afterStop:function(){t.recordList=t.recorder.recordList(),t.stopRecord&&t.stopRecord("stop record")},attempts:this.attempts,time:this.time}),recordList:[],selected:{},uploadStatus:null}},components:{AudioPlayer:r.a,IconButton:i.a},methods:{toggleRecorder:function(){this.attempts&&this.recorder.records.length>=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)},onStartUpload:function(){this.isUploading=!0},onEndUpload:function(t){var n=this;this.isUploading=!1,this.uploadStatus=t,setTimeout(function(){n.uploadStatus=null},1500)}},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(),Object(a.b)(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)}}}},function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e(5),i=e(25);e.d(n,"AudioPlayer",function(){return r.a}),e.d(n,"AudioRecorder",function(){return i.a});var o={AudioPlayer:r.a,AudioRecorder:i.a,install:function(t){this.installed||(this.installed=!0,t.component("audio-player",r.a),t.component("audio-recorder",i.a))}};n.default=o},function(t,n,e){var r=e(14);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);e(2)("2ae0cf23",r,!0,{})},function(t,n,e){n=t.exports=e(1)(!1),n.push([t.i,"\n.ar-player {\n width: 380px;\n height: 120px;\n border: 1px solid #E8E8E8;\n border-radius: 24px;\n display: flex;\n flex-direction: column-reverse;\n align-items: center;\n justify-content: center;\n background-color: #FAFAFA;\n font-family: 'Roboto', sans-serif;\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--compact {\n height: unset;\n flex-direction: row;\n border: 0;\n border-radius: 0;\n background-color: unset;\n}\n.ar-player--compact > .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,n){t.exports=function(t,n){for(var e=[],r={},i=0;i<n.length;i++){var o=n[i],a=o[0],s=o[1],c=o[2],l=o[3],u={id:t+":"+i,css:s,media:c,sourceMap:l};r[a]?r[a].parts.push(u):e.push(r[a]={id:a,parts:[u]})}return e}},function(t,n,e){"use strict";var r=function(){var t=this,n=t.$createElement;return(t._self._c||n)("div",{domProps:{innerHTML:t._s(t.icons[t.name])}})},i=[],o={render:r,staticRenderFns:i};n.a=o},function(t,n,e){var r=e(18);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);e(2)("56ec0610",r,!0,{})},function(t,n,e){n=t.exports=e(1)(!1),n.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,n,e){"use strict";var r=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",{ref:t.refId,staticClass:"ar-line-control",on:{mousedown:t.onMouseDown}},[e("div",{staticClass:"ar-line-control__head",style:t.calculateSize})])},i=[],o={render:r,staticRenderFns:i};n.a=o},function(t,n,e){"use strict";function r(t){e(21)}var i=e(10),o=e(23),a=e(0),s=r,c=a(i.a,o.a,!1,s,null,null);n.a=c.exports},function(t,n,e){var r=e(22);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);e(2)("9c708ed6",r,!0,{})},function(t,n,e){n=t.exports=e(1)(!1),n.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,n,e){"use strict";var r=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",{staticClass:"ar-volume"},[e("icon-button",{staticClass:"ar-volume__icon",attrs:{name:"volume"}}),t._v(" "),e("line-control",{staticClass:"ar-volume-bar",attrs:{"ref-id":"volume",percentage:t.volume},on:{"change-linehead":t.onChangeLinehead}})],1)},i=[],o={render:r,staticRenderFns:i};n.a=o},function(t,n,e){"use strict";var r=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",{staticClass:"ar-player",class:{"ar-player--compact":t.compact}},[e("div",{staticClass:"ar-player-actions"},[e("icon-button",{staticClass:"ar-icon ar-icon__sm",attrs:{id:"download",name:"download"},nativeOn:{click:function(n){t.decorator(t.download)}}}),t._v(" "),e("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(n){t.decorator(t.playback)}}}),t._v(" "),e("icon-button",{staticClass:"ar-icon ar-icon__sm",attrs:{id:"upload",name:"save"},nativeOn:{click:function(n){t.decorator(t.upload)}}})],1),t._v(" "),e("div",{staticClass:"ar-player-bar"},[e("div",{staticClass:"ar-player__time"},[t._v(t._s(t.playedTime))]),t._v(" "),e("line-control",{staticClass:"ar-player__progress",attrs:{"ref-id":"progress",percentage:t.progress},on:{"change-linehead":t._onUpdateProgress}}),t._v(" "),e("div",{staticClass:"ar-player__time"},[t._v(t._s(t.duration))]),t._v(" "),e("volume-control",{on:{"change-volume":t._onChangeVolume}})],1),t._v(" "),e("audio",{attrs:{id:t.playerUniqId,src:t.audioSource}})])},i=[],o={render:r,staticRenderFns:i};n.a=o},function(t,n,e){"use strict";function r(t){e(26)}var i=e(11),o=e(30),a=e(0),s=r,c=a(i.a,o.a,!1,s,null,null);n.a=c.exports},function(t,n,e){var r=e(27);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);e(2)("92692bf8",r,!0,{})},function(t,n,e){n=t.exports=e(1)(!1),n.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,n,e){"use strict";function r(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}var i=e(29),o=e(3),a=function(){function t(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(n,e,r){return e&&t(n.prototype,e),r&&t(n,r),n}}(),s=function(){function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r(this,t),this.afterStop=n.afterStop,this.micFailed=n.micFailed,this.bufferSize=4096,this.records=[],this.samples=[],this.isPause=!1,this.isRecording=!1,this.duration=0,this.volume=0,this._duration=0}return a(t,[{key:"start",value:function(){navigator.mediaDevices.getUserMedia({audio:!0}).then(this._micCaptured.bind(this)).catch(this._micError.bind(this)),this.isPause=!1,this.isRecording=!0}},{key:"stop",value:function(){this.stream.getTracks().forEach(function(t){return t.stop()}),this.input.disconnect(),this.processor.disconnect(),this.context.close();var t=new i.a({bufferSize:this.bufferSize,sampleRate:this.context.sampleRate,samples:this.samples}),n=t.getData(),e=URL.createObjectURL(n);this.samples=[],this.records.push({id:Date.now(),blob:n,duration:Object(o.b)(this.duration),url:e}),this._duration=0,this.duration=0,this.isPause=!1,this.isRecording=!1,this.afterStop&&this.afterStop()}},{key:"pause",value:function(){this.stream.getTracks().forEach(function(t){return t.stop()}),this.input.disconnect(),this.processor.disconnect(),this.context.close(),this._duration=this.duration,this.isPause=!0}},{key:"recordList",value:function(){return this.records}},{key:"lastRecord",value:function(){return this.records.slice(-1)}},{key:"_micCaptured",value:function(t){var n=this;this.context=new(window.AudioContext||window.webkitAudioContext),this.duration=this._duration,this.input=this.context.createMediaStreamSource(t),this.processor=this.context.createScriptProcessor(this.bufferSize,1,1),this.stream=t,this.processor.onaudioprocess=function(t){for(var e=t.inputBuffer.getChannelData(0),r=0,i=0;i<e.length;++i)r+=e[i]*e[i];n.duration=parseFloat(n._duration)+parseFloat(n.context.currentTime.toFixed(2)),n.volume=Math.sqrt(r/e.length).toFixed(2),n.samples.push(new Float32Array(e))},this.input.connect(this.processor),this.processor.connect(this.context.destination)}},{key:"_micError",value:function(t){this.micFailed&&this.micFailed(t)}}]),t}();n.a=s},function(t,n,e){"use strict";function r(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}var i=function(){function t(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(n,e,r){return e&&t(n.prototype,e),r&&t(n,r),n}}(),o=function(){function t(n){r(this,t),this.bufferSize=n.bufferSize||4096,this.sampleRate=n.sampleRate,this.samples=n.samples}return i(t,[{key:"getData",value:function(){this._joinSamples();var t=new ArrayBuffer(44+2*this.samples.length),n=new DataView(t);return this._writeString(n,0,"RIFF"),n.setUint32(4,36+2*this.samples.length,!0),this._writeString(n,8,"WAVE"),this._writeString(n,12,"fmt "),n.setUint32(16,16,!0),n.setUint16(20,1,!0),n.setUint16(22,1,!0),n.setUint32(24,this.sampleRate,!0),n.setUint32(28,4*this.sampleRate,!0),n.setUint16(32,4,!0),n.setUint16(34,16,!0),this._writeString(n,36,"data"),n.setUint32(40,2*this.samples.length,!0),this._floatTo16BitPCM(n,44,this.samples),new Blob([n],{type:"audio/wav"})}},{key:"_floatTo16BitPCM",value:function(t,n,e){for(var r=0;r<e.length;r++,n+=2){var i=Math.max(-1,Math.min(1,e[r]));t.setInt16(n,i<0?32768*i:32767*i,!0)}}},{key:"_joinSamples",value:function(){for(var t=this.samples.length*this.bufferSize,n=new Float64Array(t),e=0,r=0;r<this.samples.length;r++){var i=this.samples[r];n.set(i,e),e+=i.length}this.samples=n}},{key:"_writeString",value:function(t,n,e){for(var r=0;r<e.length;r++)t.setUint8(n+r,e.charCodeAt(r))}}]),t}();n.a=o},function(t,n,e){"use strict";var r=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",{staticClass:"ar"},[t.isUploading?e("div",{staticClass:"ar__overlay"}):t._e(),t._v(" "),t.isUploading?e("div",{staticClass:"ar-spinner"},[e("div",{staticClass:"ar-spinner__dot"}),t._v(" "),e("div",{staticClass:"ar-spinner__dot"}),t._v(" "),e("div",{staticClass:"ar-spinner__dot"})]):t._e(),t._v(" "),e("div",{staticClass:"ar-content",class:{ar__blur:t.isUploading}},[e("div",{staticClass:"ar-recorder"},[e("icon-button",{staticClass:"ar-icon ar-icon__lg",class:{"ar-icon--rec":t.isRecording,"ar-icon--pulse":t.isRecording&&t.volume>.02},attrs:{name:t.iconButtonType},nativeOn:{click:function(n){return t.toggleRecorder(n)}}}),t._v(" "),e("icon-button",{staticClass:"ar-icon ar-icon__sm ar-recorder__stop",attrs:{name:"stop"},nativeOn:{click:function(n){return t.stopRecorder(n)}}})],1),t._v(" "),t.attempts?e("div",{staticClass:"ar-recorder__records-limit"},[t._v("Attempts: "+t._s(t.attemptsLeft)+"/"+t._s(t.attempts))]):t._e(),t._v(" "),e("div",{staticClass:"ar-recorder__duration"},[t._v(t._s(t.recordedTime))]),t._v(" "),t.time?e("div",{staticClass:"ar-recorder__time-limit"},[t._v("Record duration is limited: "+t._s(t.time)+"m")]):t._e(),t._v(" "),e("div",{staticClass:"ar-records"},t._l(t.recordList,function(n,r){return e("div",{key:n.id,staticClass:"ar-records__record",class:{"ar-records__record--selected":n.id===t.selected.id},on:{click:function(e){t.selected=n}}},[n.id===t.selected.id?e("div",{staticClass:"ar__rm",on:{click:function(n){t.removeRecord(r)}}},[t._v("×")]):t._e(),t._v(" "),e("div",{staticClass:"ar__text"},[t._v("Record "+t._s(r+1))]),t._v(" "),e("div",{staticClass:"ar__text"},[t._v(t._s(n.duration))])])})),t._v(" "),e("audio-player",{attrs:{compact:t.compact,record:t.selected,"upload-url":t.uploadUrl,"start-upload":t.startUpload,"successful-upload":t.successfulUpload,"failed-upload":t.failedUpload},on:{"start-upload":t.onStartUpload,"end-upload":t.onEndUpload}}),t._v(" "),t.uploadStatus?e("div",{class:t.uploadStatusClasses},[t._v(t._s(t.message))]):t._e()],1)])},i=[],o={render:r,staticRenderFns:i};n.a=o}]).default});
//# sourceMappingURL=vue-audio-recorder.min.js.map