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 使用者介面。

適用於

另請參閱