MediaCapture StartPreviewAsync 失败

MediaCapture StartPreviewAsync fails

我正在尝试从我的 UWP 应用中的摄像头开始视频预览捕获,但 StartPreviewAsync 引发异常

示例代码:

MediaCapture mc = new MediaCapture();
await mc.InitializeAsync();
await mc.StartPreviewAsync();

发生此错误是因为当前 StartPreviewAsync 需要一个接收器来将帧输出到。这可以通过在 xaml 中创建一个捕获元素来显示帧来解决。

<CaptureElement Name="captureElement"/>

现在可以更新代码以在屏幕上显示预览

MediaCapture mc = new MediaCapture();
await mc.InitializeAsync();
captureElement.Source = mc;
await mc.StartPreviewAsync();

如果您想在不向屏幕显示任何内容的情况下开始预览,您可以在应用程序逻辑中创建 captureElement 而无需添加到视图。

var captureElement = new CaptureElement();