快速入门:使用相机捕获 UI 捕获照片或视频 (HTML)

[ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员。如果你要针对 Windows 10 进行开发,请参阅 最新文档 ]

本主题为你显示了通过使用 CameraCaptureUI API,从你的嵌入或附加相机中捕获照片或视频的最简单方法。此 API 启动了显示相机 UI 的全屏对话框,并让你至少使用一种调用方法捕获照片或视频。

作为替代方法,如果你希望创建自己的用户界面而不是使用 CameraCaptureUI 类提供的用户界面,你应该使用 MediaCapture。有关详细信息,请参阅快速入门:使用 MediaCapture API 捕获视频

目标: 从摄相机捕获照片或视频。

先决条件

你应当熟悉 JavaScript,并在 Windows 8 上安装了 Microsoft Visual Studio。

完成所需时间: 20 分钟.

说明

1. 打开 Visual Studio

打开 Visual Studio 的一个实例。

2. 创建新项目

在“新建项目”对话框中,从 JavaScript 项目类型中选择一个空白应用程序。

3. 插入应用 JavaScript 和 HTML

打开你的文件 Default.html,将下面的 HTML 复制到此文件中(替换原有内容)。

<!DOCTYPE html>
<html>
<head>   
   <title>WinWebApp1</title>
   <!-- WinJS references -->
   <link rel="stylesheet" href="/winjs/css/ui-dark.css" />
   <script src="/winjs/js/base.js"></script>
   <script src="/winjs/js/wwaapp.js"></script>
   <!-- WinWebApp1 references -->
   <link rel="stylesheet" href="/css/default.css" />
    
   <script type = "text/javascript" >

   // Takes 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."
         }
      });
   }
   </script>
</head>
<body>
   <input type="button" onclick="takepicture()" value="Take a Picture" /><br />
   <span id="message"></span>
</body>
</html>

4. 声明摄相机功能

使用应用程序清单设计器文件添加摄像机功能。选择“功能”****选项卡,然后从列表中选择“网络摄像机”。

5. 生成应用

选择“生成”****>“生成解决方案”以生成项目。

6. 测试应用

  1. 选择“调试”****>“启动调试”测试该解决方案。
  2. 单击“拍照”****按钮拍摄照片。

摘要

你可使用默认设置拍摄照片。 你还可指定其他格式或纵横比,或者录制视频。

  • 若要以 PNG 格式捕获纵横比为 4:3 的照片,请在你粘贴到应用中的代码中,将此代码插入到 captureFileAsync 调用的上方。

    captureUI.photoCaptureSettings.format = Windows.Media.Capture.CameraCaptureUIPhotoFormat.png;
    captureUI.photoCaptureSettings.croppedAspectRatio = {width:4, height:3};
    

相关主题

快速入门:使用 MediaCapture API 捕获视频

媒体捕获示例