in src/js/client/camera.ts [58:84]
async setupCamera() {
const me = this;
const stream = await navigator.mediaDevices.getUserMedia({
'audio': false,
'video': {deviceId: 'cam', facingMode: 'environment'}
});
(<any>window).stream = stream;
this.videoElement.srcObject = stream;
return new Promise((resolve, reject) => {
me.cameraButton.addEventListener('click', function(e: any) {
e.preventDefault();
me.cameraButton.className = 'hidden';
let img = me.snapshot();
// fire event from window
let event = new CustomEvent('cameraPhoto', {
detail: img
});
window.dispatchEvent(event);
});
me.videoElement.onloadedmetadata = () => {
resolve([me.videoElement.videoWidth,
me.videoElement.videoHeight]);
};
});
}