diff --git a/src/camera.js b/src/camera.js index 5403b3ca..4dab51e3 100644 --- a/src/camera.js +++ b/src/camera.js @@ -16,20 +16,40 @@ class Camera { this.name = name; this._stream = null; } - + + async start() { - let constraints = { - audio: false, - video: { - mandatory: { - sourceId: this.id, - minWidth: 600, - maxWidth: 800, - minAspectRatio: 1.6 - }, - optional: [] - } - }; + let constraints; + var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; + + if (iOS) { + constraints = { + audio: false, + video: { + facingMode: 'environment', + mandatory: { + sourceId: this.id, + minWidth: 600, + maxWidth: 800, + minAspectRatio: 1.6 + }, + optional: [] + } + }; + } else { + constraints = { + audio: false, + video: { + mandatory: { + sourceId: this.id, + minWidth: 600, + maxWidth: 800, + minAspectRatio: 1.6 + }, + optional: [] + } + }; + } this._stream = await Camera._wrapErrors(async () => { return await navigator.mediaDevices.getUserMedia(constraints);