CameraCaptureUI在某个容器中

时间:2015-02-27 13:55:01

标签: c# camera windows-runtime windows-store-apps

我喜欢使用默认的CameraCaptureUI在我的Windows应用商店应用中创建屏幕。可以使用以下代码

启动CameraCaptureUI
var cameraUI = new CameraCaptureUI();
var capturedMedia = await cameraUI.CaptureFileAsync(CameraCaptureUIMode.Photo);

此代码在整个场景中打开相机。我需要的是在我的winstore应用程序中运行相机,例如在某个容器中,并在同一屏幕上添加更多控件。

如果有可能,你有任何线索吗?如果是,那么该方案的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以使用MediaCapture控件在应用中创建自定义照片用户界面。 CameraCaptureUI无法自定义。它旨在成为获取默认UI的简便方法。

请参阅https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.media.capture.mediacapture.aspx

答案 1 :(得分:1)

1)添加功能“麦克风”和“网络摄像头”。

enter image description here

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();