信息
您所需的主题如下所示。但此主题未包含在此库中。

CameraCaptureUI Class

提供用于从相机捕获音频、视频和照片的全屏 UI。以及用于裁剪视频、时间延迟捕获和照相机设置的控件。

语法


var cameraCaptureUI = new Windows.Media.Capture.CameraCaptureUI();

特性

[MarshalingBehavior(None)]
[Threading(STA)]
[Version(0x06020000)]

成员

CameraCaptureUI类 具有这些类型的成员:

构造函数

CameraCaptureUI类 具有这些构造函数。

构造函数说明
CameraCaptureUI Create a new CameraCaptureUI object.

 

方法

The CameraCaptureUI 类 具有这些方法。 对于 C#、Visual Basic 和 C++,它还继承方法于Object 类.

方法说明
CaptureFileAsync Launches the CameraCaptureUI user interface.

 

属性

CameraCaptureUI类 具有这些属性。

属性访问类型说明

PhotoSettings

只读Provides settings for capturing photos.

VideoSettings

只读Provides settings for capturing videos. The settings include format, maximum resolution, maximum duration, and whether or not to allow trimming.

 

备注

CameraCaptureUI 提供用于捕获音频、视频和图像的全窗口 UI。 它提供用于在照片捕获上设置时间、剪裁视频以及调整照相机设置的控件,例如视频分辨率、音频设备、亮度和对比度。

调用 CaptureFileAsync 可启动 UI。用户可以控制何时开始捕获。 当异步 CaptureFileAsync 操作完成时,将返回 StorageFile 对象。

注意  此类不敏捷,这意味着您需要考虑其线程模型和封送行为。有关更多信息,请参见线程处理和封送处理 (C++/CX)在多线程环境中使用 Windows 运行时对象 (.NET)

Windows 8 的 N 版本不支持 CameraCaptureUI。尝试创建 CameraCaptureUI 将失败。使用 CameraCaptureUI 的应用程序应妥善处理此故障。

示例

下面的示例演示如何将 CameraCaptureUI 类用于照相。此示例显示一条指示操作是否成功的信息。


// Take a photo using the default JPEG format.
function takepicture() {
    var captureUI = new Windows.Media.Capture.CameraCaptureUI();
    captureUI.captureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.photo).then(function (capturedItem) {
        if (capturedItem) {
            document.getElementById("message").innerHTML = "User captured a photo."
        }
        else {
            document.getElementById("message").innerHTML = "User didn't capture a photo."
        }
    });
}


下面是生成 CameraCaptureUI 的某些代码。此外,如果存在捕获文件,则在 MediaElement 中预览它。


<MediaElement x:Name="mediaPreivew"
              Width="320" />



async private void CameraCaptureUI_Click(object sender, RoutedEventArgs e)
{
    CameraCaptureUI cameraUI = new CameraCaptureUI();
    
    Windows.Storage.StorageFile capturedMedia = 
        await cameraUI.CaptureFileAsync(CameraCaptureUIMode.Video);

    if (capturedMedia != null)
    {
        var stream = await capturedMedia.OpenAsync(FileAccessMode.Read);

        mediaPreivew.SetSource(stream, capturedMedia.ContentType);
        mediaPreivew.Play();
    }
}


要求

最低支持客户端

Windows 8 [仅 Windows 应用商店应用程序]

最低支持服务器

Windows Server 2012 [仅 Windows 应用商店应用程序]

命名空间

Windows.Media.Capture
Windows::Media::Capture [C++]

元数据

Windows.winmd

Capabilities

webcam
microphone

另请参见

路线图
使用 C++、C# 或 Visual Basic,将多媒体添加到 Windows 应用商店应用程序
正在将多媒体添加到使用 JavaScript 编写的 Windows Store 应用程序
示例
照相机捕获 UI 示例
照相机选项 UI 示例

 

 

显示:
© 2014 Microsoft