"No capture devices are available" 在 mediaCapture.InitializeAsync

"No capture devices are available" in mediaCapture.InitializeAsync

代码如下:

MediaCapture mediaCapture;
mediaCapture = new MediaCapture();
await mediaCapture.InitializeAsync(new MediaCaptureInitializationSettings { MediaCategory = MediaCategory.Speech });

最后一行抛出异常:

"No capture devices are available"

尽管连接了麦克风。麦克风与内置 Windows 10 录音机应用程序配合使用,所以我知道它很好。 该应用有权使用麦克风,并且在应用的设置中已开启。

那么为什么我会收到错误/我该如何克服它?

您是否在 Package.appxmainfest 中指定了 Micorphone 功能? 如果是,它应该可以工作,但会抛出另一个异常。

There are no more endpoints available from the endpoint mapper.

因为您需要设置 StreamingCaptureMode

我已经更正了你的代码,见下文。

MediaCapture mediaCapture = new MediaCapture();
await mediaCapture.InitializeAsync(new MediaCaptureInitializationSettings 
{
    MediaCategory = MediaCategory.Speech,
    StreamingCaptureMode = StreamingCaptureMode.Audio
});

关于语音的更多信息,可以参考这篇doc