forked from smronju/vue-webcam
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathVueWebcam.min.js
2 lines (2 loc) · 1.58 KB
/
VueWebcam.min.js
1
2
var e,t=(e=require("vue"))&&"object"==typeof e&&"default"in e?e.default:e,a=t.extend({render:function(e){return e("video",{ref:"video",attrs:{width:this.width,height:this.height,src:this.src,autoplay:this.autoplay}})},props:{autoplay:{type:Boolean,default:!0},width:{type:Number,default:400},height:{type:Number,default:300},mirror:{type:Boolean,default:!0},screenshotFormat:{type:String,default:"image/jpeg"}},data:function(){return{video:"",src:"",stream:"",hasUserMedia:!1,styleObject:{transform:"scale(-1, 1)",filter:"FlipH"}}},methods:{getPhoto:function(){return this.hasUserMedia?this.getCanvas().toDataURL(this.screenshotFormat):null},getCanvas:function(){if(!this.hasUserMedia)return null;var e=this.$refs.video;if(!this.ctx){var t=document.createElement("canvas");t.height=e.clientHeight,t.width=e.clientWidth,this.canvas=t,this.ctx=t.getContext("2d")}var a=this.canvas;return this.ctx.drawImage(e,0,0,a.width,a.height),a}},mounted:function(){var e=this;this.video=this.$refs.video,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,navigator.getUserMedia&&navigator.getUserMedia({video:!0},function(t){try{e.video.srcObject=t}catch(a){e.src=window.URL.createObjectURL(t)}e.stream=t,e.hasUserMedia=!0},function(e){console.log(e)})},beforeDestroy:function(){this.video.pause(),this.src="",this.stream&&this.stream.getTracks()[0]&&this.stream.getTracks()[0].stop()},destroyed:function(){console.log("Destroyed")}}),i=t.component("vue-webcam",a);module.exports=i;
//# sourceMappingURL=VueWebcam.min.js.map