Fitur UI Kamera untuk perangkat seluler

Artikel ini menunjukkan kepada Anda cara memanfaatkan fitur UI kamera khusus yang hanya ada di perangkat seluler.

Menambahkan ekstensi seluler ke proyek Anda

Untuk menggunakan fitur ini, Anda harus menambahkan referensi ke Microsoft Mobile Extension SDK untuk Universal App Platform ke proyek Anda.

Untuk menambahkan referensi ke SDK ekstensi seluler untuk dukungan tombol kamera perangkat keras

  1. Di Penjelajah Solusi, klik kanan Referensi dan pilih Tambahkan Referensi.

  2. Perluas Windows node Universal dan pilih Ekstensi.

  3. Pilih kotak centang Microsoft Mobile Extension SDK untuk Universal App Platform .

Menyembunyikan bilah status

Perangkat seluler memiliki kontrol StatusBar yang memberi pengguna informasi status tentang perangkat. Kontrol ini memakan ruang pada layar yang dapat mengganggu UI tangkapan media. Anda dapat menyembunyikan bilah status dengan memanggil HideAsync, tetapi Anda harus melakukan panggilan ini dari dalam blok bersyarat tempat Anda menggunakan metode ApiInformation.IsTypePresent untuk menentukan apakah API tersedia. Metode ini hanya akan kembali benar pada perangkat seluler yang mendukung bilah status. Anda harus menyembunyikan bilah status saat aplikasi diluncurkan atau saat Mulai melihat pratinjau dari kamera.

// Hide the status bar
if (ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))
{
    await Windows.UI.ViewManagement.StatusBar.GetForCurrentView().HideAsync();
}

Saat aplikasi Anda mati atau saat pengguna menavigasi jauh dari halaman pengambilan media aplikasi Anda, Anda dapat membuat kontrol terlihat lagi.

// Show the status bar
if (ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))
{
    await Windows.UI.ViewManagement.StatusBar.GetForCurrentView().ShowAsync();
}

Gunakan tombol kamera perangkat keras

Beberapa perangkat seluler memiliki tombol kamera perangkat keras khusus yang disukai beberapa pengguna daripada kontrol di layar. Untuk diberi tahu saat tombol kamera perangkat keras ditekan, daftarkan penangan untuk acara HardwareButtons.CameraPressed . Karena API ini hanya tersedia di perangkat seluler, Anda harus kembali menggunakan IsTypePresent untuk memastikan API didukung pada perangkat saat ini sebelum mencoba mengaksesnya.

using Windows.Phone.UI.Input;
if (ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
{
    HardwareButtons.CameraPressed += HardwareButtons_CameraPressed;
}

Di penangan untuk acara CameraPressed , Anda dapat memulai pengambilan foto.

private async void HardwareButtons_CameraPressed(object sender, CameraEventArgs e)
{
    await TakePhotoAsync();
}

Saat aplikasi Anda mati atau pengguna menjauh dari halaman pengambilan media aplikasi Anda, tidak terdaftarkan penangan tombol perangkat keras.

if (ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
{
    HardwareButtons.CameraPressed -= HardwareButtons_CameraPressed;
}