Langkapi ke konten utama
@capgo/camera-preview Media Terbuka Sumber

Kamera Preview plugin Capacitor

Tampilkan feed kamera hidup sebagai overlay dengan kontrol yang dapat disesuaikan dan kemampuan tangkap

Pasang

bun add @capgo/camera-preview bunx cap sync
npm, pnpm atau yarn
  • npm install @capgo/camera-preview
  • pnpm add @capgo/camera-preview
  • yarn add @capgo/camera-preview

Petunjuk

Cara menggunakan Camera Preview di Capacitor

Tes di perangkat

Unduh aplikasi Capgo, kemudian scan kode QR code.

Tautan QR pratinjau plugin kamera code

Menggunakan @capgo/camera-preview

Antarmuka utama untuk plugin CameraPreview.

Pasang

bun add @capgo/camera-preview
bunx cap sync

bunx cap sync Menggandakan plugin asli code ke proyek-proyek native Anda. Jalankan lagi setelah setiap pembaruan plugin.

Impor

import { CameraPreview } from '@capgo/camera-preview';

Pandangan singkat API

Metode Deskripsi
start Mengaktifkan pratinjau kamera.
stop Menghentikan pratinjau kamera.
capture Mengambil gambar dari kamera.
captureSample Mengambil frame tunggal dari aliran pratinjau kamera.
startBarcodeScanner Mengaktifkan pemindaian kode barcode pada pratinjau kamera aktif.
stopBarcodeScanner Menghentikan pemindaian kode barcode sambil menjalankan pratinjau kamera.
getSupportedFlashModes Mendapatkan mode kilat yang didukung oleh kamera aktif.
setAspectRatio Mengatur rasio aspek pratinjau kamera.
getAspectRatio Mendapatkan rasio aspek kamera pratinjau saat ini.
setGridMode Mengatur mode jaringan grid pratinjau kamera overlay.
getGridMode Mendapatkan mode jaringan grid pratinjau kamera overlay saat ini.
checkPermissions Mengecek status izin kamera (dan mikrofon, jika ada) tanpa menampilkan dialog sistem.
requestPermissions Mengajukan izin kamera (dan mikrofon opsional). Jika izin sudah diberikan atau ditolak, status saat ini akan dikembalikan tanpa meminta izin. Ketika showSettingsAlert Apabila nilai ini adalah true dan izin ditolak, akan ditampilkan peringatan spesifik platform untuk mengarahkan pengguna ke pengaturan aplikasi.
getHorizontalFov Mendapatkan sudut pandang horizontal (FoV) untuk kamera aktif. Perlu diingat: Ini bisa menjadi perkiraan pada beberapa perangkat.
getSupportedPictureSizes Mendapatkan ukuran gambar yang didukung untuk semua kamera.
setFlashMode Mengatur mode kilasan untuk kamera aktif.
flip Mengganti antara kamera depan dan belakang.
setOpacity Mengatur kejelasan kamera preview.
stopRecordVideo Stops an ongoing video recording.
startRecordVideo Mengaktifkan rekaman video.
setVideoQuality Mengatur kualitas rekaman video untuk sesi kamera aktif.
getVideoQuality Mendapatkan kualitas video saat ini.
getSupportedVideoQualities Mendapatkan kualitas video yang didukung oleh kamera aktif.
setVideoCodec Mengatur codec video yang digunakan saat merekam.
getVideoCodec Mengambil codec video yang saat ini digunakan untuk merekam.
getSupportedVideoCodecs Mengembalikan codec video yang didukung oleh kamera aktif.
isVideoStabilizationSupported Mengecek apakah stabilisasi video didukung oleh kamera aktif.
getSupportedVideoStabilizationModes Mengembalikan mode stabilisasi video yang didukung oleh kamera aktif.
getVideoStabilizationMode Mengambil mode stabilisasi video yang saat ini digunakan.
setVideoStabilizationMode Mengatur mode stabilisasi video untuk merekam. Tidak dapat diubah saat merekam sedang berlangsung. Anda juga dapat melewati videoStabilizationMode Mengatur startRecordVideo() opsi.
isRunning Mengecek apakah tampilan kamera preview sedang berjalan.
getAvailableDevices Mengambil semua perangkat kamera yang tersedia.
getZoom Mengambil keadaan zoom saat ini, termasuk min/max dan informasi lens saat ini.
getZoomButtonValues Mengembalikan nilai tombol zoom untuk beralih cepat. - iOS/Android: termasuk 0,5 jika ultra-lebar tersedia; 1 dan 2 jika lebar tersedia; 3 jika telefoto tersedia - Web: tidak didukung.
setZoom Mengatur tingkat zoom kamera.
getFlashMode Mengambil mode kilat saat ini.
setDeviceId Mengganti kamera aktif ke satu dengan spesifikasi yang ditentukan. deviceId.
getDeviceId Mengambil ID perangkat kamera yang saat ini terikat. Pada Android, jika permintaan lensa fisik jatuh kembali ke kamera logis, ini mengembalikan ID kamera logis yang terikat.
getPreviewSize Mengambil ukuran dan posisi preview saat ini.
setPreviewSize Mengatur ukuran dan posisi preview.
setFocus Mengatur fokus kamera ke titik tertentu di preview.
deleteFile Menghapus file di jalur absolut yang diberikan di perangkat. Gunakan ini untuk membersihkan cepat gambar sementara yang dibuat dengan storeToFilePada web, fitur ini tidak tersedia dan akan menyebabkan kesalahan.
getSafeAreaInsets Gets the safe area insets for devices. Returns the orientation-aware notch/camera cutout inset and the current orientation. In portrait mode: returns top inset (notch at top). In landscape mode: returns left inset (notch moved to side). This specifically targets the cutout area (notch, punch hole, etc.) that all modern phones have.
getOrientation Mendapatkan orientasi perangkat saat ini dalam format lintas platform.
getExposureModes Mengembalikan mode eksposur yang didukung oleh kamera aktif. Mode dapat mencakup: 'terkunci', 'otomatis', 'terus menerus', 'kustom'.
getExposureMode Kembali nilai mode pencahayaan saat ini.
setExposureMode Mengatur mode pencahayaan.
getExposureCompensationRange Kembali rentang nilai kompensasi pencahayaan (EV bias) yang didukung.
getExposureCompensation Kembali nilai kompensasi pencahayaan (EV bias) saat ini.
setExposureCompensation Mengatur kompensasi pencahayaan (EV bias). Nilai akan dikompresi ke rentang.
getWhiteBalanceModes Mengembalikan mode keseimbangan warna yang didukung oleh kamera aktif. Mode dapat mencakup: 'AUTO', 'LOCK', 'CONTINUOUS'. CUSTOM belum terdaftar sampai dukungan manual gain diimplementasikan.
getWhiteBalanceMode Kembali nilai mode pencahayaan putih saat ini.
setWhiteBalanceMode Mengatur mode pencahayaan putih. CONTINUOUS menjaga auto white balance berjalan (direkomendasikan; menghindari bayangan hangat/kuning), LOCK menghentikan penggunaan auto white balance saat ini. AUTO Melakukan penyesuaian satu kali. CUSTOM Terlindungi dan ditolak sampai dukungan manual untuk pengaturan diterapkan.
getSupportedVideoFrameRates Menampilkan kecepatan frame video yang didukung oleh kamera aktif untuk format saat ini. Nilai yang didukung bergantung pada kamera yang dipilih, lensa, dan kualitas video.
getVideoFrameRate Mengembalikan kecepatan frame video yang dikonfigurasi untuk kamera aktif. Pada Android, kecepatan rekaman sebenarnya masih dapat bervariasi dalam kondisi pencahayaan rendah atau tekanan panas.
setVideoFrameRate Mengatur kecepatan target frame video untuk sesi kamera aktif. Lebih baik melewati frameRate ke startRecordVideo() ketika merekam dimulai. Menolak nilai yang tidak didukung dengan pesan kesalahan yang jelas.

Examples

start()

Mulai tampilan kamera.

import { CameraPreview } from '@capgo/camera-preview';

const result = await CameraPreview.start({ parent: 'parent' });
console.log(result);

stop()

Berhenti menampilkan kamera.

import { CameraPreview } from '@capgo/camera-preview';

await CameraPreview.stop();

capture()

Mengambil gambar dari kamera.

import { CameraPreview } from '@capgo/camera-preview';

const result = await CameraPreview.capture({ height: 1920 });
console.log(result);

captureSample()

Mengambil gambar tunggal dari aliran preview kamera.

import { CameraPreview } from '@capgo/camera-preview';

const result = await CameraPreview.captureSample({
  quality: 85,
  mirrorFrontCamera: false,
});
console.log(result);

startBarcodeScanner()

Mulai sken barcode pada preview kamera aktif.

import { CameraPreview } from '@capgo/camera-preview';

await CameraPreview.startBarcodeScanner();

stopBarcodeScanner()

Menghentikan sken barcode sambil menjalankan preview kamera.

import { CameraPreview } from '@capgo/camera-preview';

await CameraPreview.stopBarcodeScanner();

Daftar metode inti di atas mencakup 56 metode utama. Bantuan pemangku jawab dan versi, serta kontrak penuh setiap metode, terdokumentasi di repository GitHub.

mengembalikan sebuah handle. Panggil

addListener ketika layar diunmount, atau handle.remove() untuk menghapus setiap pemangku jawab. CameraPreview.removeAllListeners() Referensi lengkap

Dokumentasi

Teruskan dari Menggunakan @capgo/camera-preview

Jika Anda menggunakan Menggunakan @capgo/camera-preview Untuk merencanakan perilaku media dan antarmuka native, hubungkannya dengan @capgo/camera-preview untuk detail implementasi di @capgo/camera-preview, Mulai Menggunakan untuk detail implementasi di Getting Started, Menggunakan @capgo/capacitor-live-activities untuk kemampuan native di Menggunakan @capgo/capacitor-live-activities, @capgo/capacitor-aktivitas-hidup untuk detail implementasi di @capgo/capacitor-live-activities, dan Gunakan @capgo/capacitor-video-player untuk kemampuan asli di Gunakan @capgo/capacitor-video-player.

FAQ

Tanya Jawab Plugin Camera Preview

Bagaimana cara menginstal plugin Camera Preview di sebuah aplikasi Capacitor?

Jalankan "bun add @capgo/camera-preview" (atau "npm install @capgo/camera-preview"), kemudian jalankan "bunx cap sync" agar projek iOS dan Android dapat menangkap native code. Import dari "@capgo/camera-preview" di aplikasi code.

Apakah @capgo/camera-preview berfungsi dengan React, Vue dan Angular?

Iya. Camera Preview adalah sebuah paket Capacitor, sehingga berfungsi dengan semua framework web yang berjalan di dalam Capacitor, termasuk Ionic, React, Vue, Angular, Svelte dan JavaScript biasa.

Versi Capacitor apa yang didukung oleh @capgo/camera-preview?

Paket Capgo mengikuti versi utama Capacitor: gunakan versi plugin utama yang sesuai dengan versi utama Capacitor (misalnya plugin v8 dengan Capacitor 8). Tabel kompatibilitas di README GitHub menampilkan versi yang masih dipelihara.

Apakah @capgo/camera-preview gratis dan terbuka sumber?

Iya. Sumber code yang terbuka dapat ditemukan di GitHub di https://github.com/Cap-go/capacitor-camera-preview/ dan paketnya dapat diinstal secara gratis dari npm. Laporan bug dan permintaan pull diterima.

Bisa saya memperbarui code yang menggunakan Camera Preview tanpa melalui tinjauan App Store?

Penginstalan atau pengupgrade plugin mengubah native code, sehingga memerlukan build toko baru. Setelah itu, perubahan JavaScript, HTML dan CSS yang memanggil plugin dapat dikirimkan secara instan dengan Capgo live updates.

Kirim perubahan Camera Preview tanpa menunggu tinjauan aplikasi

Setelah plugin masuk ke dalam toko aplikasi Anda, Capgo pembaruan hidup akan meneruskan perubahan JavaScript, HTML, dan CSS Anda ke pengguna dalam menit-menit.

Mulai dengan Capgo