forked from smronju/vue-webcam
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathVueWebcam.min.m.js
2 lines (2 loc) · 1.53 KB
/
VueWebcam.min.m.js
1
2
import t from"vue";var e=t.extend({render:function(t){return t("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 t=this.$refs.video;if(!this.ctx){var e=document.createElement("canvas");e.height=t.clientHeight,e.width=t.clientWidth,this.canvas=e,this.ctx=e.getContext("2d")}var a=this.canvas;return this.ctx.drawImage(t,0,0,a.width,a.height),a}},mounted:function(){var t=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(e){try{t.video.srcObject=e}catch(a){t.src=window.URL.createObjectURL(e)}t.stream=e,t.hasUserMedia=!0},function(t){console.log(t)})},beforeDestroy:function(){this.video.pause(),this.src="",this.stream&&this.stream.getTracks()[0]&&this.stream.getTracks()[0].stop()},destroyed:function(){console.log("Destroyed")}});export default t.component("vue-webcam",e);
//# sourceMappingURL=VueWebcam.min.m.js.map