CameraCaptureUI 类

定义

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

public ref class CameraCaptureUI sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.None)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.STA)]
class CameraCaptureUI final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.None)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.STA)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class CameraCaptureUI final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.None)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.STA)]
public sealed class CameraCaptureUI
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.None)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.STA)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class CameraCaptureUI
function CameraCaptureUI()
Public NotInheritable Class CameraCaptureUI
继承
Object Platform::Object IInspectable CameraCaptureUI
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
应用功能
microphone webcam

示例

此代码演示如何使用 CameraCaptureUI 类拍摄照片。 代码来自 相机捕获 UI C# 示例的文件 CapturePhoto.xaml.cs。 还提供了等效的 相机捕获 UI C++ 示例 。 调用异步方法 CaptureFileAsync 时,将发生与用户的对话框。

// Using Windows.Media.Capture.CameraCaptureUI API to capture a photo
CameraCaptureUI dialog = new CameraCaptureUI();
Size aspectRatio = new Size(16, 9);
dialog.PhotoSettings.CroppedAspectRatio = aspectRatio;

StorageFile file = await dialog.CaptureFileAsync(CameraCaptureUIMode.Photo);

注解

CameraCaptureUI 提供用于捕获音频、视频和图像的全屏 UI 体验。 它提供用于设置照片捕获时间延迟、剪裁视频以及调整相机设置(如视频分辨率、音频设备、亮度和对比度)的控件。

调用 CaptureFileAsync 以启动 UI。 用户可以控制何时开始捕获。 异步 CaptureFileAsync 操作完成后,将返回 StorageFile 对象。 有关使用 CameraCaptureUI 的操作指南,请参阅 使用 Windows 内置相机 UI 捕获照片和视频

注意

如果使用 CameraCaptureUI,则不应在应用清单文件中指定网络摄像头麦克风功能。 如果你这样做,你的应用将显示在设备的相机隐私设置中,但即使用户拒绝相机访问你的应用,也不会阻止 CameraCaptureUI 捕获媒体。 这是因为 Windows 内置的摄像头应用是受信任的第一方应用,需要用户按下按钮来启动照片、音频和视频捕获。 如果你在使用 CameraCaptureUI 时指定了网络摄像头麦克风功能,则提交到应用商店的应用可能无法通过 Windows 应用程序认证工具包认证。

如果使用 MediaCapture 以编程方式捕获音频、照片或视频,则必须在应用清单文件中指定网络摄像头麦克风功能。

注意

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

构造函数

CameraCaptureUI()

创建新的 CameraCaptureUI 对象。

属性

PhotoSettings

提供用于捕获照片的设置。 设置包括纵横比、图像大小、格式、分辨率以及用户界面 (UI) 是否允许裁剪。

VideoSettings

提供用于捕获视频的设置。 设置包括格式、最大分辨率、最大持续时间以及是否允许剪裁。

方法

CaptureFileAsync(CameraCaptureUIMode)

启动 CameraCaptureUI 用户界面。

适用于

另请参阅