@@ -6,8 +6,13 @@ export async function enumerateDevices() {
66 console . log ( "enumerateDevices() not supported." ) ;
77 }
88 else {
9- await navigator . mediaDevices . getUserMedia ( { video : true , audio : true } ) ;
10- ret = await navigator . mediaDevices . enumerateDevices ( ) ;
9+ try {
10+ await navigator . mediaDevices . getUserMedia ( { video : true , audio : true } ) ;
11+ ret = await navigator . mediaDevices . enumerateDevices ( ) ;
12+ }
13+ catch ( e ) {
14+ console . warn ( e ) ;
15+ }
1116 }
1217 return ret ;
1318}
@@ -25,12 +30,12 @@ export async function open(type, options) {
2530
2631export async function close ( selector ) {
2732 const media = registerBootstrapBlazorModule ( "MediaDevices" ) ;
28- let ret = false ;
33+ let ret ;
2934 if ( media . stream ) {
3035 ret = await closeVideoDevice ( selector ) ;
3136 }
3237 else {
33- ret = await stop ( selector ) ;
38+ ret = stop ( selector ) ;
3439 }
3540 return ret ;
3641}
@@ -143,11 +148,17 @@ export async function getPreviewUrl() {
143148 const capture = new ImageCapture ( track ) ;
144149 const blob = await capture . takePhoto ( ) ;
145150 url = URL . createObjectURL ( blob ) ;
151+ media . previewBlob = blob ;
146152 }
147153 }
148154 return url ;
149155}
150156
157+ export function getPreviewData ( ) {
158+ const media = registerBootstrapBlazorModule ( "MediaDevices" ) ;
159+ return media . previewBlob ;
160+ }
161+
151162const closeStream = stream => {
152163 if ( stream ) {
153164 const tracks = stream . getTracks ( ) ;
@@ -205,7 +216,7 @@ export async function record(options) {
205216 return ret ;
206217}
207218
208- export async function stop ( selector ) {
219+ export function stop ( selector ) {
209220 let ret = false ;
210221 const media = registerBootstrapBlazorModule ( "MediaDevices" ) ;
211222 if ( selector ) {
0 commit comments