private void StartPreview() { int videoDevice = VideoSelect.SelectedIndex; int audioDevice = AudioSelect.SelectedIndex; if (videoDevice == -1 || audioDevice == -1) { return; } ResetEffects(); UpdateUiState(PageState.None); string videoDeviceId = ((ComboBoxItem)VideoSelect.SelectedItem).Name.ToString(); string audioDeviceId = ((ComboBoxItem)AudioSelect.SelectedItem).Name.ToString(); MediaCaptureInitializationSettings settings = new MediaCaptureInitializationSettings { VideoDeviceId = videoDeviceId, AudioDeviceId = audioDeviceId, StreamingCaptureMode = StreamingCaptureMode.AudioAndVideo, }; IAsyncOperation <IPreview> previewTask; previewTask = cameraCapture.createPreview(PreviewWindow, settings); if (preview != null) { preview.start().AsTask().Wait(); } previewTask.Completed = delegate { try { preview = previewTask.GetResults(); } catch (UnauthorizedAccessException) { ShowMessageDialog(StringLoader.Get("Camera_Access_Denied")); return; } preview.start().AsTask().Wait(); UpdateUiState(PageState.Ready); }; }