@@ -245,6 +245,7 @@ protected override async void OnElementPropertyChanged(object? sender, PropertyC
245
245
switch ( e . PropertyName )
246
246
{
247
247
case nameof ( CameraView . CameraOptions ) :
248
+ case nameof ( CameraView . CaptureMode ) :
248
249
await CleanupCameraAsync ( ) ;
249
250
await InitializeCameraAsync ( ) ;
250
251
break ;
@@ -333,8 +334,12 @@ async Task InitializeCameraAsync()
333
334
return ;
334
335
}
335
336
336
- var audioDevice = await DeviceInformation . FindAllAsync ( DeviceClass . AudioCapture ) ;
337
- var selectedAudioDevice = audioDevice . Count == 0 ? null : audioDevice [ 0 ] . Id ;
337
+ string ? selectedAudioDevice = null ;
338
+ if ( Element . CaptureMode == CameraCaptureMode . Video )
339
+ {
340
+ var audioDevice = await DeviceInformation . FindAllAsync ( DeviceClass . AudioCapture ) ;
341
+ selectedAudioDevice = audioDevice . Count == 0 ? null : audioDevice [ 0 ] . Id ;
342
+ }
338
343
339
344
mediaCapture = new MediaCapture ( ) ;
340
345
try
@@ -345,7 +350,7 @@ await mediaCapture.InitializeAsync(new MediaCaptureInitializationSettings
345
350
MediaCategory = MediaCategory . Media ,
346
351
StreamingCaptureMode = selectedAudioDevice == null ? StreamingCaptureMode . Video : StreamingCaptureMode . AudioAndVideo ,
347
352
AudioProcessing = Windows . Media . AudioProcessing . Default ,
348
- AudioDeviceId = selectedAudioDevice
353
+ AudioDeviceId = selectedAudioDevice ?? string . Empty ,
349
354
} ) ;
350
355
flash = await Lamp . GetDefaultAsync ( ) ;
351
356
0 commit comments