Lebih lanjut ke konten utama
@capgo/kamera-pratinjau Media Sumber Terbuka

Kamera Pratinjau plugin Capacitor

Pameran feed kamera hidup sebagai overlay dengan kontrol yang dapat disesuaikan dan kemampuan tangkapan

Install

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

Panduan

Cara menggunakan Camera Preview di Capacitor

Uji coba di perangkat

Unduh aplikasi Capgo, kemudian scan kode QR code.

Tautan QR Pratinjau Kamera code

Menggunakan @capgo/camera-preview

Antarmuka Utama untuk Plugin Pratinjau Kamera

Pasang

bun add @capgo/camera-preview
bunx cap sync

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

Impor

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

Lihat API secara singkat

Metode Deskripsi
start Mulai tampilan kamera.
stop Berhenti tampilan kamera.
capture Ambil gambar dari kamera.
captureSample Ambil frame tunggal dari aliran tampilan kamera.
startBarcodeScanner Mulai skanning kode barcode pada tampilan kamera aktif.
stopBarcodeScanner Berhenti skanning kode barcode sambil menjalankan tampilan kamera.
getSupportedFlashModes Dapatkan mode kilat yang didukung oleh kamera aktif.
setAspectRatio Set rasio aspek tampilan kamera.
getAspectRatio Dapatkan rasio aspek kamera saat ini.
setGridMode Set mode grid tampilan overlay kamera.
getGridMode Mendapatkan mode grid saat ini dari overlay pratinjau kamera.
checkPermissions Mengecek status izin kamera (dan mikrofon opsional) saat ini tanpa mempromosikan dialog sistem.
requestPermissions Mengajukan izin kamera (dan mikrofon opsional). Jika izin sudah diberikan atau ditolak, status saat ini akan dikembalikan tanpa mempromosikan. showSettingsAlert Jika nilai ini adalah true dan izin ditolak, maka akan ditampilkan peringatan spesifik platform untuk mengarahkan pengguna ke pengaturan aplikasi.
getHorizontalFov Mengambil sudut pandang horizontal (FoV) untuk kamera aktif. Perlu diingat: ini bisa menjadi perkiraan pada beberapa perangkat.
getSupportedPictureSizes Mengambil 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 Berhenti Rekaman Video yang Sedang Berlangsung.
startRecordVideo Mengaktifkan rekaman video.
setVideoQuality Mengatur kualitas rekaman video untuk sesi kamera aktif.
getVideoQuality Mengambil kualitas rekaman video saat ini.
getSupportedVideoQualities Mengembalikan kualitas video yang didukung oleh kamera aktif.
setVideoCodec Mengatur codec video yang digunakan saat merekam.
getVideoCodec Mengembalikan 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 Mengembalikan mode stabilisasi video saat ini.
setVideoStabilizationMode Mengatur mode stabilisasi video untuk merekam. Tidak dapat diubah saat merekam sedang berlangsung. Anda juga dapat melewati videoStabilizationMode opsi. startRecordVideo() options.
isRunning Mengembalikan semua perangkat kamera yang tersedia.
getAvailableDevices Mengambil semua perangkat kamera yang tersedia.
getZoom Mendapatkan status 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 tersedia.
setZoom Mengatur tingkat zoom kamera.
getFlashMode Mendapatkan mode kilat saat ini.
setDeviceId Mengganti kamera aktif ke satu dengan spesifikasi deviceId.
getDeviceId Mendapatkan ID perangkat kamera yang saat ini terikat. Pada Android, jika permintaan lens fisik jatuh kembali ke kamera logis, ini mengembalikan ID kamera logis yang terikat.
getPreviewSize Mendapatkan 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 pada perangkat. Gunakan ini untuk membersihkan cepat gambar sementara yang dibuat dengan storeToFilePada web, ini tidak tersedia dan akan melemparkan kesalahan.
getSafeAreaInsets Mendapatkan inset area yang aman untuk perangkat. Mengembalikan inset orientasi-aware notch/kamera cutout dan orientasi saat ini. Pada mode potret: mengembalikan inset atas (notch di atas). Pada mode lanskap: mengembalikan inset kiri (notch dipindahkan ke samping). Ini secara spesifik mengarahkan ke area cutout (notch, lubang punch, dll.) yang semua ponsel modern memiliki.
getOrientation Mengambil orientasi perangkat saat ini dalam format lintas platform.
getExposureModes Mengembalikan mode pencahayaan yang didukung oleh kamera aktif. Mode dapat mencakup: 'terkunci', 'otomatis', 'terus menerus', 'kustom'.
getExposureMode Mengembalikan mode pencahayaan saat ini.
setExposureMode Mengatur mode pencahayaan.
getExposureCompensationRange Mengembalikan rentang nilai kompensasi pencahayaan (EV bias).
getExposureCompensation Mengembalikan nilai kompensasi pencahayaan (EV bias) saat ini.
setExposureCompensation Mengatur kompensasi pencahayaan (EV bias). Nilai akan ditekan ke rentang.
getWhiteBalanceModes Dapatkan mode keseimbangan warna yang didukung oleh kamera aktif. Mode dapat mencakup: 'AUTO', 'LOCK', 'CONTINUOUS'. CUSTOM belum terdaftar sampai dukungan manual gain diimplementasikan.
getWhiteBalanceMode Mengembalikan mode kecerahanan putih saat ini.
setWhiteBalanceMode Mengatur mode kecerahanan putih. CONTINUOUS menggunakan auto kecerahanan putih yang berjalan (direkomendasikan; menghindari bayangan kuning/keemasan), LOCK menghentikan keuntungan saat ini, AUTO melakukan penyesuaian satu kali. CUSTOM ditahan dan ditolak sampai dukungan keuntungan manual diimplementasikan.
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 aktual masih dapat bervariasi dalam kondisi pencahayaan rendah atau tekanan panas.
setVideoFrameRate Mengatur kecepatan target frame video untuk sesi kamera aktif. Lebih baik melewati frameRate to startRecordVideo() ketika merekam dimulai. Menolak nilai yang tidak didukung dengan pesan kesalahan yang jelas.

Examples

start()

Menghentikan tampilan kamera.

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

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

stop()

Mengambil gambar dari 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 frame tunggal dari aliran pratinjau kamera.

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

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

startBarcodeScanner()

Mengaktifkan skanner kode barcode pada pratinjau kamera aktif.

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

await CameraPreview.startBarcodeScanner();

stopBarcodeScanner()

Menghentikan skanner kode barcode sambil menjalankan pratinjau kamera.

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

await CameraPreview.stopBarcodeScanner();

Daftar metode inti di atas mencakup 56 metode utama. Pembantu pendengar dan versi, serta kontrak lengkap setiap metode, terdokumentasi di repository GitHub.

Dengarkan event

addListener mengembalikan sebuah handle. Panggil handle.remove() ketika layar diunmount, atau CameraPreview.removeAllListeners() untuk membersihkan setiap pendengar.

Referensi lengkap

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, Berikut Langkah Awal untuk detail implementasi di Berikut Langkah Awal, Menggunakan @capgo/capacitor-aktivitas-hidup untuk kemampuan native di Menggunakan @capgo/capacitor-aktivitas-hidup, @capgo/capacitor-aktivitas-hidup untuk detail implementasi di @capgo/capacitor-aktivitas-nyata, dan Menggunakan @capgo/capacitor-pemain-video untuk kemampuan asli di Menggunakan @capgo/capacitor-pemain-video.

FAQ

FAQ Kamera Preview

Bagaimana cara menginstal plugin Kamera 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 code native. Import dari "@capgo/camera-preview" di aplikasi code Anda.

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

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

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

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

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

Ya. Sumber code tersedia secara publik 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.

Dapatkah saya memperbarui code yang menggunakan Kamera Preview tanpa melalui tinjauan App Store?

Memasang atau mengupgrade plugin mengubah native code, sehingga memerlukan pembangunan toko baru. Setelah itu, perubahan JavaScript, HTML, dan CSS yang memanggil plugin dapat berlayar segera dengan Capgo pembaruan hidup.

Kirim perubahan Camera Preview tanpa menunggu tinjauan aplikasi

Setelah plugin masuk ke dalam toko Anda, Capgo pembaruan hidup mengirimkan perubahan JavaScript, HTML, dan CSS Anda ke pengguna dalam menit.

Mulai dengan Capgo