forked from AckerApple/ack-angular-webcam
/
webcam.component.js.map
1 lines (1 loc) · 25.2 KB
/
webcam.component.js.map
1
{"version":3,"file":"webcam.component.js","sourceRoot":"","sources":["../src/webcam.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, ElementRef, Input, Output, EventEmitter } from '@angular/core'\nimport { DomSanitizer } from '@angular/platform-browser'\nimport {\n browser,\n getMedia,\n Options,\n dataUriToFormData,\n videoInputsByDevices,\n Fallback,\n //MediaDevice,\n promiseDevices,\n promiseDeviceById\n} from \"./videoHelp\"\n\nconst template = `<video id=\"video\" *ngIf=\"(isSupportUserMedia||isSupportWebRTC)\" autoplay=\"\" playsinline=\"\">Video stream not available</video>`\n\nexport interface vidElmOptions{\n audio: boolean | MediaTrackConstraints\n video: boolean | MediaTrackConstraints\n}\n\nexport interface elementSets{\n width:number\n height:number\n}\n\nexport interface sets{\n element:elementSets\n}\n\n@Component({\n selector: 'ack-webcam',\n template: template,\n exportAs: 'webcam'\n}) export class WebCamComponent {\n /* platform support variables */\n flashPlayer:Fallback\n isSupportUserMedia: boolean = false\n isSupportWebRTC: boolean = false\n isFallback: boolean = false\n /* end: platform support variables */\n \n initComplete:boolean\n observer:MutationObserver\n onResize:()=>any\n stream:MediaStream\n\n sets:sets = {element:{width:0,height:0}}\n\n @Input() videoDevice:MediaDeviceInfo\n @Input() videoDeviceId:string\n //@Input() audioDeviceId:string\n \n @Input() reflect:boolean//mirror camera image\n @Input() facingMode:\"user\"|\"environment\"|\"left\"|\"right\"|string\n @Input() mime = 'image/jpeg'\n @Input() useParentWidthHeight:boolean = false\n \n @Input() options: Options\n @Output() success = new EventEmitter()\n\n //-Lazy @ViewChild() variable reference\n @Input() ref:WebCamComponent\n @Output() refChange:EventEmitter<WebCamComponent> = new EventEmitter()\n \n @Input() error:Error\n @Output() errorChange:EventEmitter<Error> = new EventEmitter()\n @Output('catch') catcher:EventEmitter<Error> = new EventEmitter()\n\n constructor(private sanitizer: DomSanitizer, private element: ElementRef){}\n\n ngOnInit(){\n this.isSupportUserMedia = getMedia()!=null ? true : false\n this.isSupportUserMedia = false\n this.isSupportWebRTC = !!(browser.mediaDevices && browser.mediaDevices.getUserMedia)\n }\n\n ngAfterViewInit(){\n this.applyDefaults()\n setTimeout(()=>this.afterInitCycles(), 0)\n }\n\n ngOnChanges( changes ) {\n if( !this.initComplete )return\n\n if(\n changes.facingMode\n || changes.videoDevice\n || changes.videoDeviceId\n ){\n this.redraw()//restart\n }\n\n if( changes.reflect ){\n this.applyReflect()\n }\n }\n\n ngOnDestroy(){\n this.observer.disconnect()\n window.removeEventListener('resize', this.onResize)\n this.stop()\n }\n\n play(){\n return this.redraw()\n }\n\n stop(){\n const vid = this.getVideoElm()\n if(vid && vid.pause){\n vid.pause()\n }\n\n if( this.stream ){\n this.stream.getTracks().forEach(track=>track.stop())\n }\n }\n\n redraw(){\n this.stop()\n this.startCapturingVideo()\n }\n\n afterInitCycles(){\n const media = getMedia()\n\n // Older browsers might not implement mediaDevices at all, so we set an empty object first\n if ((browser.mediaDevices === undefined) && !!media) {\n browser.mediaDevices = {}\n }\n\n // Some browsers partially implement mediaDevices. We can't just assign an object\n // with getUserMedia as it would overwrite existing properties.\n // Here, we will just add the getUserMedia property if it's missing.\n const getUserMediaUndefined = (browser.mediaDevices && browser.mediaDevices.getUserMedia === undefined) && !!media\n if( getUserMediaUndefined ){\n browser.mediaDevices.getUserMedia = constraints=>{\n return new Promise((resolve, reject)=>{\n const userMedia = media.call(browser, constraints, resolve, reject)\n\n if( userMedia.then ){\n userMedia.then( stream=>this.applyStream(stream) )\n }\n })\n .catch( err=>this.catchError(err) )\n }\n }\n\n this.initComplete = true\n \n //deprecated. Use angular hash template referencing and @ViewChild\n setTimeout(()=>this.refChange.emit(this), 0)\n\n this.createVideoResizer()\n \n this.startCapturingVideo()\n .then( ()=>setTimeout(()=>this.resize(), 10) )\n .catch( err=>this.catchError(err) )\n }\n\n applyReflect(){\n const videoElm = this.getVideoElm()\n\n if(!videoElm)return\n\n if( this.reflect ){\n videoElm.style.transform = \"scaleX(-1)\"\n }else{\n videoElm.style.transform = \"scaleX(1)\"\n }\n }\n\n applyStream(stream){\n const videoElm = this.getVideoElm()\n videoElm.srcObject = stream\n this.applyReflect()\n }\n\n createVideoResizer(){\n this.observer = new MutationObserver( ()=>this.resize() )\n \n const config = {\n attributes: true,\n childList: true,\n characterData: true\n //,subtree: true\n }\n this.observer.observe(this.element.nativeElement, config)\n\n this.onResize = ()=>this.resize()\n window.addEventListener('resize', this.onResize)\n }\n\n applyDefaults(){\n this.options = this.options || <Options>{}\n this.options.fallbackSrc = this.options.fallbackSrc || 'jscam_canvas_only.swf'\n this.options.fallbackMode = this.options.fallbackMode || 'callback'\n this.options.fallbackQuality = this.options.fallbackQuality || 200\n this.isFallback = this.options.fallback || (!this.isSupportUserMedia && !this.isSupportWebRTC && this.options.fallbackSrc) ? true : false\n\n if(!this.options.video && !this.options.audio){\n this.options.video = true\n }\n }\n\n onWebRTC(): Promise<MediaStream> {\n let promise:Promise<MediaDeviceInfo> = Promise.resolve(null)\n\n return this.promiseVideoOptions()\n .then( options=>{\n this.options.video = options\n return this.setWebcam(this.options)\n })\n }\n\n promiseVideoOptions():Promise<MediaTrackConstraints>{\n let promise = Promise.resolve()\n\n const videoOptions:MediaTrackConstraints = {}\n \n if( this.options.video && isOb(this.options.video) ){\n Object.assign(videoOptions, this.options.video)\n\n if( videoOptions.width && isOb(videoOptions.width) && !Object.keys(videoOptions.width).length ){\n delete videoOptions.width\n }\n\n if( videoOptions.height && isOb(videoOptions.height) && !Object.keys(videoOptions.height).length ){\n delete videoOptions.height\n }\n }\n\n if( this.facingMode ){\n videoOptions.facingMode = this.facingMode//{exact:this.facingMode}\n }\n\n if( this.videoDeviceId ){\n //videoOptions.deviceId = {exact:this.videoDeviceId}\n videoOptions.deviceId = this.videoDeviceId\n }else if( this.videoDevice ){\n //videoOptions.deviceId = {exact:this.videoDevice.deviceId}\n videoOptions.deviceId = this.videoDevice.deviceId\n }\n\n return promise.then( ()=>videoOptions )\n }\n\n //old method name (deprecated)\n resizeVideo(maxAttempts=4){\n return this.resize(maxAttempts)\n }\n\n resize(maxAttempts=4){\n const video = this.getVideoElm()\n \n if(!video)return\n\n video.style.position='absolute'\n \n const elm = this.useParentWidthHeight ? this.element.nativeElement.parentNode : this.element.nativeElement\n\n let width = this.options.width || parseInt(elm.offsetWidth, 10)\n let height = this.options.height || parseInt(elm.offsetHeight, 10)\n\n if(!width || !height){\n width = 320\n height = 240\n }\n\n setTimeout(()=>{\n video.width = width\n video.height = height\n \n this.sets.element.width = width\n this.sets.element.height = height\n \n video.style.position='static'\n \n //now that we set a width and height, it may need another adjustment if it pushed percent based items around\n const resizeAgain = (!this.options.width && width!=parseInt(elm.offsetWidth, 10)) || (!this.options.height && height!=parseInt(elm.offsetHeight, 10))\n \n if( resizeAgain && maxAttempts){\n this.resize( --maxAttempts )\n }\n }, 1)\n }\n\n getVideoDimensions(video){\n video = video || this.getVideoElm()\n const dim = {width:0, height:0}\n\n if( video.videoWidth ){\n dim.width = video.videoWidth\n dim.height = video.videoHeight\n }else{\n dim.width = this.options.width || parseInt(this.element.nativeElement.offsetWidth, 10)\n dim.height = this.options.height || parseInt(this.element.nativeElement.offsetHeight, 10)\n }\n\n if( !dim.width )dim.width = 320\n if( !dim.height )dim.height = 240\n\n return dim\n }\n\n getVideoElm(){\n const native = this.element.nativeElement\n const elmType = this.isFallback ? 'object' : 'video'\n return native.getElementsByTagName(elmType)[0]\n }\n\n setWebcam(options:Options): Promise<MediaStream> {\n return this.promiseStreamByVidOptions(options)\n .then(stream=>{\n this.applyStream(stream)\n this.processSuccess(stream)\n this.stream = stream\n return stream\n })\n .catch( err=>this.catchError(err) )\n }\n\n catchError(err:Error):Promise<any>{\n this.errorChange.emit(this.error=err)\n this.catcher.emit(err)\n\n if( !this.errorChange.observers.length && !this.catcher.observers.length ){\n return Promise.reject(err)//if no error subscriptions promise need to continue to be Uncaught\n }\n }\n\n promiseStreamByVidOptions(\n optionObject:vidElmOptions\n ):Promise<MediaStream>{\n return new Promise((resolve, reject) => {\n try {\n browser.mediaDevices.getUserMedia(optionObject)\n .then(stream=>resolve(stream))\n .catch((objErr:any)=>reject(objErr))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n processSuccess(stream?){\n if (this.isFallback) {\n this.setupFallback()\n }else{\n this.success.emit(stream)\n }\n }\n\n /**\n * Start capturing video stream\n * @returns {void}\n */\n startCapturingVideo(): Promise<any> {\n if (!this.isFallback && this.isSupportWebRTC) {\n return this.onWebRTC()\n }\n\n return Promise.resolve( this.processSuccess() )\n }\n\n getCanvas(){\n return document.createElement('canvas')\n }\n\n /** returns promise . @mime - null=png . Also accepts image/jpeg */\n getBase64(mime?){\n if(this.isFallback){\n return this.flashPlayer.captureBase64(mime||this.mime)\n //return this.getFallbackBase64(mime)\n }else{\n const canvas = this.getCanvas()\n const video = this.getVideoElm()\n this.setCanvasWidth(canvas, video)\n const ctx = canvas.getContext('2d')\n\n if( this.reflect ){\n ctx.translate(canvas.width, 0);\n ctx.scale(-1, 1);\n }\n\n ctx.drawImage(video, 0, 0)\n return Promise.resolve( canvas.toDataURL(mime) )\n }\n }\n\n setCanvasWidth(canvas?, video?){\n const di = this.getVideoDimensions(video)\n canvas = canvas || this.getCanvas()\n canvas.width = di.width\n canvas.height = di.height\n }\n\n /** older browsers (IE11) cannot dynamically apply most attribute changes to object elements. Use this method during fallback */\n createVidElmOb(){\n const rtnElm = document.createElement('object')\n rtnElm.innerHTML = 'Video stream not available'\n rtnElm.setAttribute('type','application/x-shockwave-flash')\n rtnElm.setAttribute('data',this.options.fallbackSrc)\n\n let paramVar = document.createElement('param')\n paramVar.setAttribute('name','FlashVars')\n paramVar.setAttribute('value','mode=callback&quality=200')\n rtnElm.appendChild( paramVar )\n\n paramVar = document.createElement('param')\n paramVar.setAttribute('name','allowScriptAccess')\n paramVar.setAttribute('value','always')\n rtnElm.appendChild( paramVar )\n\n paramVar = document.createElement('param')\n paramVar.setAttribute('name','movie')\n paramVar.setAttribute('value',this.options.fallbackSrc)\n rtnElm.appendChild( paramVar )\n\n const obs = this.element.nativeElement.getElementsByTagName('object')\n if(obs.length){\n this.element.nativeElement.removeChild( obs[0] )\n }\n\n this.element.nativeElement.appendChild( rtnElm )\n\n return rtnElm\n }\n\n setupFallback(): void {\n this.isFallback = true\n const vidElm = this.getVideoElm() || this.createVidElmOb()\n this.flashPlayer = new Fallback( vidElm )\n }\n\n /** single image to FormData */\n captureAsFormData(options?:{mime?:string, fileName?:string, form?:FormData}){\n options = options || {}\n return this.getBase64(options.mime)\n .then( base64=>dataUriToFormData(base64, {fileName:options.fileName}) )\n }\n\n dataUriToFormData(base64, options){\n return dataUriToFormData(base64, {fileName:options.fileName})\n }\n}\n\n\nfunction isOb(v){\n return typeof(v)==='object'\n}"]}