11 #if ENABLE_WINMD_SUPPORT 13 using System.Threading.Tasks;
14 using Windows.Media.Capture;
40 #if ENABLE_WINMD_SUPPORT 49 private static int NoCaptureDevicesHResult = -1072845856;
65 public async
static Task<MicrophoneStatus> GetMicrophoneStatus()
69 MediaCaptureInitializationSettings settings =
new MediaCaptureInitializationSettings();
70 settings.StreamingCaptureMode = StreamingCaptureMode.Audio;
71 settings.MediaCategory = MediaCategory.Speech;
72 MediaCapture capture =
new MediaCapture();
81 await capture.InitializeAsync(settings);
83 catch (TypeLoadException)
89 catch (UnauthorizedAccessException)
96 catch (Exception exception)
101 if (exception.HResult == NoCaptureDevicesHResult)
113 if(capture.AudioDeviceController.Muted)
128 public static async Task<bool> IsMicrophoneReady()
130 var status = await GetMicrophoneStatus();
150 var status = GetMicrophoneStatus();