我喜欢使用默认的CameraCaptureUI在我的Windows应用商店应用中创建屏幕。可以使用以下代码
启动CameraCaptureUIvar cameraUI = new CameraCaptureUI();
var capturedMedia = await cameraUI.CaptureFileAsync(CameraCaptureUIMode.Photo);
此代码在整个场景中打开相机。我需要的是在我的winstore应用程序中运行相机,例如在某个容器中,并在同一屏幕上添加更多控件。
如果有可能,你有任何线索吗?如果是,那么该方案的最佳方法是什么?
答案 0 :(得分:1)
您可以使用MediaCapture控件在应用中创建自定义照片用户界面。 CameraCaptureUI无法自定义。它旨在成为获取默认UI的简便方法。
请参阅https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.media.capture.mediacapture.aspx
答案 1 :(得分:1)
1)添加功能“麦克风”和“网络摄像头”。
2)在视图中定义CaptureElement
。
<CaptureElement Name="captureElement"/>
3)在班级MediaCapture
中创建字段。
private readonly MediaCapture _mediaCapture = new MediaCapture();
4)使用相机中的实时内容创建填充CaputreElement
的方法。
async Task ShowPreview()
{
try
{
await _mediaCapture.InitializeAsync();
captureElement.Source = _mediaCapture;
await _mediaCapture.StartPreviewAsync();
}
catch (Exception)
{
// exception handling ...
}
}
5)调用ShowPreview
方法:
ShowPreview();