某些容器中的 CameraCaptureUI
CameraCaptureUI in some container
我喜欢在我的 windows 商店应用程序中使用默认的 CameraCaptureUI 创建屏幕。可以使用以下代码启动 CameraCaptureUI
var cameraUI = new CameraCaptureUI();
var capturedMedia = await cameraUI.CaptureFileAsync(CameraCaptureUIMode.Photo);
此代码在整个屏幕上打开相机。我需要的是我的 winstore 应用程序中的 运行 相机,例如在一些容器中,并在同一屏幕上添加更多控件。
如果可能的话,你有什么线索吗?如果是,执行此场景的最佳方法是什么?
您可以使用 MediaCapture 控件在您的应用中创建自定义照片 UI。 CameraCaptureUI 不可自定义。它旨在成为获得默认 UI.
的简单方法
见https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.media.capture.mediacapture.aspx
1) 添加功能 "Microphone" 和 "Webcam".
2) 在视图中定义CaptureElement
。
<CaptureElement Name="captureElement"/>
3) 在 class 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();
我喜欢在我的 windows 商店应用程序中使用默认的 CameraCaptureUI 创建屏幕。可以使用以下代码启动 CameraCaptureUI
var cameraUI = new CameraCaptureUI();
var capturedMedia = await cameraUI.CaptureFileAsync(CameraCaptureUIMode.Photo);
此代码在整个屏幕上打开相机。我需要的是我的 winstore 应用程序中的 运行 相机,例如在一些容器中,并在同一屏幕上添加更多控件。
如果可能的话,你有什么线索吗?如果是,执行此场景的最佳方法是什么?
您可以使用 MediaCapture 控件在您的应用中创建自定义照片 UI。 CameraCaptureUI 不可自定义。它旨在成为获得默认 UI.
的简单方法见https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.media.capture.mediacapture.aspx
1) 添加功能 "Microphone" 和 "Webcam".
2) 在视图中定义CaptureElement
。
<CaptureElement Name="captureElement"/>
3) 在 class 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();