Langsung ke konten

@capgo/camera-preview

Pratinjau kamera live, capture, lensa zoom, dan pemindaian barcode di atas WebView Anda.

@capgo/camera-preview merender sebuah layer kamera native di belakang atau di atas WebView Anda dengan preview kontinu, tangkapan gambar, kontrol flash, aspect ratio, dan opsi pemindaian barcode. Bangun fitur scan-to-pay, overlay gaya AR, UX shutter kustom, dan alur kerja vision tanpa harus mengarahkan pengguna ke aplikasi kamera bawaan.

Pasangkan dengan @capgo/capacitor-uploader untuk upload hasil tangkapan dari path disk alih-alih memuat buffer penuh di JavaScript.

PlatformCatatan
iOSPerangkat multi-lensa, pinch zoom, format barcode via native scanner
AndroidPreview CameraX, resolusi capture dapat dikonfigurasi
WebDukungan terbatas, cek README plugin untuk info web saat ini
  • start - Menjalankan preview kamera.
  • stop - Menghentikan preview kamera.
  • capture - Mengambil foto dari kamera.
  • captureSample - Mengambil satu frame dari stream preview kamera.
MetodeDeskripsi
startMemulai camera preview.
stopMenghentikan camera preview.
captureMengambil foto dari kamera.
captureSampleMengambil satu frame dari stream camera preview.
getSupportedFlashModesMendapatkan mode flash yang didukung oleh kamera aktif.
setAspectRatioMengatur aspect ratio camera preview.
getAspectRatioMendapatkan aspect ratio camera preview saat ini.
setGridModeMengatur mode grid pada overlay camera preview.
getGridModeMendapatkan mode grid overlay camera preview saat ini.
checkPermissionsMengecek status izin kamera (dan mikrofon, opsional) saat ini tanpa memunculkan dialog sistem.
requestPermissionsMeminta izin kamera (dan mikrofon opsional). Jika izin sudah diberikan atau ditolak, status saat ini akan dikembalikan tanpa prompt. Jika showSettingsAlert jika bernilai true dan izin ditolak, alert khusus platform akan ditampilkan untuk mengarahkan pengguna ke pengaturan aplikasi.
getHorizontalFovMendapatkan field of view horizontal untuk kamera aktif. Catatan: Ini bisa berupa estimasi pada beberapa perangkat.
getSupportedPictureSizesMendapatkan ukuran foto yang didukung untuk semua kamera.
setFlashModeMengatur mode flash untuk kamera yang aktif.
flipBeralih antara kamera depan dan belakang.
setOpacityMengatur opasitas preview kamera.
stopRecordVideoMenghentikan rekaman video yang sedang berjalan.
startRecordVideoMemulai rekaman video.
isRunningMemeriksa apakah preview kamera sedang berjalan.
getAvailableDevicesMengambil semua perangkat kamera yang tersedia.
getZoomMendapatkan status zoom saat ini, termasuk min/max dan info lensa saat ini.
getZoomButtonValuesMengembalikan nilai tombol zoom untuk perpindahan cepat. - iOS/Android: menyertakan 0.5 jika ultra-wide tersedia; 1 dan 2 jika wide tersedia; 3 jika telephoto tersedia - Web: tidak didukung.
setZoomMengatur level zoom kamera.
getFlashModeMendapatkan mode flash saat ini.
removeAllListenersMenghapus semua listener yang terdaftar.
setDeviceIdMengalihkan kamera aktif ke kamera dengan spesifikasi tertentu deviceId.
getDeviceIdMendapatkan ID perangkat kamera yang sedang terhubung. Di Android, jika permintaan lensa fisik beralih ke kamera logis, ini akan mengembalikan ID kamera logis yang terhubung.
getPreviewSizeMendapatkan ukuran dan posisi preview saat ini.
setPreviewSizeMengatur ukuran dan posisi preview.
setFocusMengatur fokus kamera ke titik tertentu pada preview.
addListenerMenambahkan listener untuk event resize layar.
addListenerMenambahkan listener untuk event perubahan orientasi.
deleteFileMenghapus file pada path absolut tertentu di perangkat. Gunakan ini untuk membersihkan gambar sementara yang dibuat dengan storeToFile. Di web, fitur ini tidak didukung dan akan error.
getSafeAreaInsetsMendapatkan safe area insets untuk perangkat. Mengembalikan inset notch/camera cutout sesuai orientasi dan orientasi saat ini. Dalam mode portrait: mengembalikan top inset (notch di atas). Dalam mode landscape: mengembalikan left inset (notch di samping). Ini khusus menargetkan area cutout (notch, punch hole, dll.) yang ada di semua ponsel modern.
getOrientationMendapatkan orientasi perangkat saat ini dalam format cross-platform.
getExposureModesMengembalikan mode exposure yang didukung oleh kamera yang aktif. Mode dapat berupa: ‘locked’, ‘auto’, ‘continuous’, ‘custom’.
getExposureModeMengembalikan mode exposure saat ini.
setExposureModeMengatur mode exposure.
getExposureCompensationRangeMengembalikan rentang kompensasi eksposur (EV bias) yang didukung.
getExposureCompensationMengembalikan kompensasi eksposur (EV bias) saat ini.
setExposureCompensationMengatur kompensasi eksposur (EV bias). Nilai akan dibatasi sesuai rentang.
getPluginVersionDapatkan versi plugin native Capacitor.

Gunakan nilai berikut dari CameraLens.deviceType atau LensInfo.deviceType untuk memilih lensa kamera fisik.

NilaiPengguna akan menemukan
ultraWideLensa kamera ultra-wide.
wideAngleLensa kamera wide-angle standar.
telephotoLensa kamera telephoto.
trueDepthKamera depan TrueDepth.
dualSistem kamera ganda.
dualWideSistem kamera dual wide.
tripleSistem kamera triple.

Referensi ini disinkronkan dari src/definitions.ts di capacitor-camera-preview.

Jika Anda menggunakan @capgo/camera-preview untuk merencanakan perilaku media dan antarmuka native, hubungkan dengan Menggunakan @capgo/camera-preview untuk kapabilitas native saat menggunakan @capgo/camera-preview, Menggunakan @capgo/capacitor-live-activities untuk kemampuan native di Menggunakan @capgo/capacitor-live-activities, @capgo/capacitor-live-activities untuk detail implementasi di @capgo/capacitor-live-activities, Menggunakan @capgo/capacitor-video-player untuk kemampuan native di Menggunakan @capgo/capacitor-video-player, dan @capgo/capacitor-video-player untuk detail implementasi di @capgo/capacitor-video-player.