Fitur antarmuka pengguna 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-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 simpul Universal Windows dan pilih Ekstensi.

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

Sembunyikan bilah status

Perangkat seluler memiliki kontrol StatusBar yang memberi pengguna informasi status tentang perangkat. Kontrol ini membutuhkan ruang pada layar yang dapat mengganggu UI pengambilan media. Anda dapat menyembunyikan bilah status dengan memanggil HideAsync, tetapi Anda harus melakukan panggilan ini dari dalam blok kondisional tempat Anda menggunakan metode ApiInformation.IsTypePresent untuk menentukan apakah API tersedia. Metode ini hanya akan mengembalikan true pada perangkat seluler yang mendukung bilah status. Anda harus menyembunyikan bilah status saat aplikasi diluncurkan atau saat mulai mempratinjau dari kamera.

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

Saat aplikasi dimatikan atau saat pengguna menavigasi jauh dari halaman pengambilan media aplikasi, 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 lebih disukai beberapa pengguna daripada kontrol di layar. Untuk diberi tahu ketika tombol kamera perangkat keras ditekan, daftarkan handler untuk peristiwa 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 handler untuk acara CameraPressed , Anda dapat memulai pengambilan foto.

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

Saat aplikasi Anda dimatikan atau pengguna menjauh dari halaman pengambilan media aplikasi Anda, batalkan pendaftaran handler tombol perangkat keras.

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