Lines 43-61
function startup() {
Link Here
|
43 |
camera = document.getElementById("camera"); |
43 |
camera = document.getElementById("camera"); |
44 |
uploadfiletext = document.getElementById("uploadfiletext"); |
44 |
uploadfiletext = document.getElementById("uploadfiletext"); |
45 |
|
45 |
|
46 |
navigator.mediaDevices.getUserMedia({ |
46 |
try { |
47 |
video: true, |
47 |
navigator.mediaDevices.getUserMedia({ |
48 |
audio: false |
48 |
video: true, |
49 |
}) |
49 |
audio: false |
50 |
.then(function (stream) { |
|
|
51 |
video.srcObject = stream; |
52 |
video.play(); |
53 |
}) |
50 |
}) |
54 |
.catch(function (err) { |
51 |
.then(function (stream) { |
55 |
$("#capture-patron-image").hide(); |
52 |
video.srcObject = stream; |
56 |
$("#camera-error").css("display", "flex"); |
53 |
video.play(); |
57 |
$("#camera-error-message").text( showMediaErrors( err ) ); |
54 |
}) |
58 |
}); |
55 |
.catch(function (err) { |
|
|
56 |
$("#capture-patron-image").hide(); |
57 |
$("#camera-error").css("display", "flex"); |
58 |
$("#camera-error-message").text( showMediaErrors( err ) ); |
59 |
}); |
60 |
} catch(err) { |
61 |
$("#capture-patron-image").hide(); |
62 |
$("#camera-error").css("display", "flex"); |
63 |
$("#camera-error-message").text( showMediaErrors( err ) ); |
64 |
} |
59 |
|
65 |
|
60 |
video.addEventListener('canplay', function () { |
66 |
video.addEventListener('canplay', function () { |
61 |
if (!streaming) { |
67 |
if (!streaming) { |
Lines 108-113
function showMediaErrors( err ){
Link Here
|
108 |
case "PermissionDeniedError": |
114 |
case "PermissionDeniedError": |
109 |
output = __("Access to camera denied."); |
115 |
output = __("Access to camera denied."); |
110 |
break; |
116 |
break; |
|
|
117 |
case "TypeError": |
118 |
output = __("This feature is available only in secure contexts (HTTPS)."); |
119 |
break; |
111 |
default: |
120 |
default: |
112 |
output = __("An unknown error occurred: ") + err; |
121 |
output = __("An unknown error occurred: ") + err; |
113 |
break; |
122 |
break; |
114 |
- |
|
|