MediaCapture StartPreviewAsync失败

Tre*_*ron 2 c# media camera windows-runtime uwp

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

样例代码:

MediaCapture mc = new MediaCapture();
await mc.InitializeAsync();
await mc.StartPreviewAsync();
Run Code Online (Sandbox Code Playgroud)

Tre*_*ron 5

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

<CaptureElement Name="captureElement"/>
Run Code Online (Sandbox Code Playgroud)

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

MediaCapture mc = new MediaCapture();
await mc.InitializeAsync();
captureElement.Source = mc;
await mc.StartPreviewAsync();
Run Code Online (Sandbox Code Playgroud)

如果要开始预览而不在屏幕上显示任何内容,则可以在应用逻辑中创建captureElement而不添加到视图中。

var captureElement = new CaptureElement();
Run Code Online (Sandbox Code Playgroud)