PrepareLowLagPhotoCaptureAsync | prepareLowLagPhotoCaptureAsync メソッド
TOC
目次を折りたたむ
目次を展開する

MediaCapture.PrepareLowLagPhotoCaptureAsync | prepareLowLagPhotoCaptureAsync Method

低シャッター遅延の写真のキャプチャを初期化し、記録の管理に使用する LowLagPhotoCapture オブジェクトを提供します。

構文


public IAsyncOperation<LowLagPhotoCapture> PrepareLowLagPhotoCaptureAsync(
  ImageEncodingProperties type
)

パラメーター

type

型: ImageEncodingProperties

イメージ用のエンコーディング プロファイル。

戻り値

型: IAsyncOperation<LowLagPhotoCapture>

このメソッドが完了すると、写真のキャプチャを開始するために使用できる LowLagPhotoCapture オブジェクトが返されます。

解説

PrepareLowLagPhotoCaptureAsync を使用してキャプチャを初期化します。 これは、終了時に LowLagPhotoCapture オブジェクトを返す非同期の呼び出しで、LowLagPhotoCapture.CaptureAsync 呼び出しによる実際の写真キャプチャの開始に使用されます。

PrepareLowLagPhotoCaptureAsyncLowLagPhotoCapture.CaptureAsync の前に呼び出す必要があります。

低遅延の写真を設定および撮影する方法を示すコードを次に示します。複数の Image オブジェクト内で、キャプチャしたの写真とサムネイルを表示します。XAML は、2 つの Image オブジェクト、およびサンプルとやり取りするためのいくつかの Button オブジェクトを使用して簡潔な UI を作成します。 コード内に、MediaCapture オブジェクトを初期化するメソッド、LowLagPhotoCapture オブジェクトを初期化するメソッド、写真を取得して表示するメソッド、LowLagPhotoCapture をシャットダウンするメソッドがあります。


<StackPanel Orientation="Horizontal">
    <Image x:Name="imageLowLagPhoto" Stretch="None" 
           Width="320" Height="240" />
    <Image x:Name="imageLowLagThumbnail" Stretch="None" 
           Width="320" Height="240" />
</StackPanel>

<StackPanel Orientation="Horizontal">
    <Button Click="InitMediaCapture_Click" Content="Initialize Camera" />
    <Button Click="InitLowLagPhotoCapture_Click" Content="Initialize Low Lag Photo Capture"/>
    <Button Click="CaptureLagPhotoCapture_Click" Content="Capture Low Lag Photo"/>
    <Button Click="CloseLagPhotoCapture_Click" Content="Finish low Lag Capture"/>
</StackPanel>



LowLagPhotoCapture lowLagCaptureMgr = null;
MediaCapture mediaCaptureManager;

async private void InitMediaCapture_Click(object sender, RoutedEventArgs e)
{
    mediaCaptureManager = new MediaCapture();
    await mediaCaptureManager.InitializeAsync();
}

async private void InitLowLagPhotoCapture_Click(object sender, RoutedEventArgs e)
{
    // Enable thumbnail images
    mediaCaptureManager.VideoDeviceController.LowLagPhoto.ThumbnailEnabled = true;
    mediaCaptureManager.VideoDeviceController.LowLagPhoto.ThumbnailFormat = MediaThumbnailFormat.Bmp;
    mediaCaptureManager.VideoDeviceController.LowLagPhoto.DesiredThumbnailSize = 25;

    // Image properties
    ImageEncodingProperties imgFormat = ImageEncodingProperties.CreateJpeg();

    // Create LowLagPhotoCapture object
    lowLagCaptureMgr = await mediaCaptureManager.PrepareLowLagPhotoCaptureAsync(imgFormat);
}

async private void CaptureLagPhotoCapture_Click(object sender, RoutedEventArgs e)
{
    // Take photo
    CapturedPhoto photo = await lowLagCaptureMgr.CaptureAsync();

    // Get photo as a BitmapImage
    BitmapImage bitmap = new BitmapImage();
    await bitmap.SetSourceAsync(photo.Frame);

    // Get thumbnail as a BitmapImage
    BitmapImage bitmapThumbnail = new BitmapImage();    
    await bitmapThumbnail.SetSourceAsync(photo.Thumbnail);

    // imageLowLagPhoto is a <Image> object defined in XAML
    imageLowLagPhoto.Source = bitmap;

    // imageLowLagThumbnail is a <Image> object defined in XAML
    imageLowLagThumbnail.Source = bitmapThumbnail;
}

async private void CloseLagPhotoCapture_Click(object sender, RoutedEventArgs e)
{
    // Release the LowLagPhotoCapture object and resources
    await lowLagCaptureMgr.FinishAsync();
}


要件

最小限サポートされるクライアント

Windows 8.1

最小限サポートされるサーバー

Windows Server 2012 R2

名前空間

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

メタデータ

Windows.winmd

参照

MediaCapture

 

 

表示:
© 2018 Microsoft