Salta al contenuto principale
@capgo/camera-preview Media Open source

Anteprima fotocamera plugin Capacitor

Visualizza il feed della fotocamera in overlay con controlli personalizzabili e funzioni di scatto

Installazione

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

Guida

Come usare Camera Preview in Capacitor

Test sul dispositivo

Scarica l'app Capgo, poi scansiona il QR code.

Anteprima QR del plugin Camera Preview code

Utilizzo di @capgo/camera-preview

L'interfaccia principale per il plugin CameraPreview.

Installazione

bun add @capgo/camera-preview
bunx cap sync

bunx cap sync copia il code nativo del plugin nei tuoi progetti nativi. Eseguilo di nuovo dopo ogni aggiornamento del plugin.

Importa

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

API in breve

Metodo Descrizione
start Avvia la preview della camera.
stop Ferma la preview della camera.
capture Scatta una foto con la camera.
captureSample Cattura un singolo frame dallo stream della preview.
startBarcodeScanner Avvia la scansione dei barcode sulla preview della camera attiva.
stopBarcodeScanner Ferma la scansione dei barcode mantenendo attiva la preview della camera.
getSupportedFlashModes Restituisce le modalità flash supportate dalla camera attiva.
setAspectRatio Imposta l'aspect ratio della preview della camera.
getAspectRatio Ottiene l'aspect ratio corrente dell'anteprima della fotocamera.
setGridMode Imposta la modalità griglia dell'overlay dell'anteprima della fotocamera.
getGridMode Ottiene la modalità griglia corrente dell'overlay dell'anteprima della fotocamera.
checkPermissions Verifica lo stato attuale dei permessi della fotocamera (e opzionalmente del microfono) senza mostrare il dialog di sistema.
requestPermissions Richiede i permessi per la fotocamera (e facoltativamente per il microfono). Se i permessi sono già concessi o negati, restituisce lo stato attuale senza mostrare il prompt. Quando showSettingsAlert se è true e i permessi sono negati, verrà mostrato un alert specifico della piattaforma che guida l'utente alle impostazioni dell'app.
getHorizontalFov Ottiene il campo visivo (FoV) orizzontale della fotocamera attiva. Nota: su alcuni dispositivi può essere una stima.
getSupportedPictureSizes Ottiene le dimensioni immagine supportate da tutte le fotocamere.
setFlashMode Imposta la modalità flash per la fotocamera attiva.
flip Alterna tra la fotocamera anteriore e quella posteriore.
setOpacity Imposta l'opacità della preview della fotocamera.
stopRecordVideo Ferma una registrazione video in corso.
startRecordVideo Avvia la registrazione di un video.
setVideoQuality Imposta la qualità di registrazione video per la sessione della fotocamera attiva.
getVideoQuality Ottiene la qualità di registrazione video corrente.
getSupportedVideoQualities Restituisce le qualità video supportate dalla fotocamera attiva.
setVideoCodec Imposta il codec video utilizzato durante la registrazione.
getVideoCodec Ottiene il codec video attualmente in uso per la registrazione.
getSupportedVideoCodecs Restituisce i codec video supportati dalla fotocamera attiva.
isVideoStabilizationSupported Verifica se la stabilizzazione video è supportata dalla fotocamera attiva.
getSupportedVideoStabilizationModes Restituisce le modalità di stabilizzazione video supportate dalla fotocamera attiva.
getVideoStabilizationMode Ottiene la modalità di stabilizzazione video attuale.
setVideoStabilizationMode Imposta la modalità di stabilizzazione video per la registrazione. Non può essere modificata mentre una registrazione è in corso. Puoi anche passare videoStabilizationMode le startRecordVideo() opzioni.
isRunning Verifica se la camera preview è attualmente in esecuzione.
getAvailableDevices Ottiene tutti i dispositivi fotocamera disponibili.
getZoom Ottiene lo stato attuale dello zoom, inclusi min/max e info sull'obiettivo corrente.
getZoomButtonValues Restituisce i valori dei pulsanti di zoom per uno switch rapido. - iOS/Android: include 0.5 se è disponibile l'ultra-wide; 1 e 2 se è disponibile il wide; 3 se è disponibile il telephoto - Web: non supportato.
setZoom Imposta il livello di zoom della fotocamera.
getFlashMode Ottiene la modalità flash corrente.
setDeviceId Passa la fotocamera attiva a quella con il valore specificato deviceId.
getDeviceId Ottiene l'ID del dispositivo fotocamera attualmente collegato. Su Android, se una richiesta per una lente fisica passa a una fotocamera logica, restituisce l'ID della fotocamera logica collegata.
getPreviewSize Ottiene la dimensione e la posizione correnti dell'anteprima.
setPreviewSize Imposta la dimensione e la posizione dell'anteprima.
setFocus Imposta il focus della fotocamera su un punto specifico dell'anteprima.
deleteFile Elimina un file al percorso assoluto specificato sul dispositivo. Usalo per pulire rapidamente le immagini temporanee create con storeToFile. Sul web, questa funzione non è supportata e restituirà un errore.
getSafeAreaInsets Ottiene i safe area insets per i dispositivi. Restituisce l'inset della notch/cutout della fotocamera in base all'orientamento e l'orientamento corrente. In portrait: restituisce l'inset superiore (notch in alto). In landscape: restituisce l'inset sinistro (notch laterale). Si rivolge specificamente all'area di cutout (notch, punch hole, ecc.) presente in tutti i telefoni moderni.
getOrientation Ottiene l'orientamento attuale del dispositivo in un formato cross-platform.
getExposureModes Restituisce le modalità di esposizione supportate dalla fotocamera attiva. Le modalità possono includere: 'locked', 'auto', 'continuous', 'custom'.
getExposureMode Restituisce la modalità di esposizione corrente.
setExposureMode Imposta la modalità di esposizione.
getExposureCompensationRange Restituisce l'intervallo di compensazione dell'esposizione (bias EV) supportato.
getExposureCompensation Restituisce la compensazione dell'esposizione attuale (bias EV).
setExposureCompensation Imposta la compensazione dell'esposizione (bias EV). Il valore verrà limitato all'intervallo consentito.
getWhiteBalanceModes Restituisce le modalità di bilanciamento del bianco supportate dalla fotocamera attiva. Le modalità possono includere: 'AUTO', 'LOCK', 'CONTINUOUS'. CUSTOM non è presente nell'elenco finché non verrà implementato il supporto manuale.
getWhiteBalanceMode Returns the current white-balance mode.
setWhiteBalanceMode Imposta la modalità di bilanciamento del bianco. CONTINUOUS mantiene attivo il bilanciamento del bianco automatico (consigliato; evita dominanti calde/gialle), LOCK blocca i guadagni attuali, AUTO esegue una regolazione singola. CUSTOM è riservato e verrà rifiutato finché non sarà implementato il supporto manuale.
getSupportedVideoFrameRates Elenca i frame rate video supportati dalla fotocamera attiva per il formato corrente. I valori dipendono dalla fotocamera, dall'obiettivo e dalla qualità video selezionati.
getVideoFrameRate Restituisce il frame rate video configurato per la fotocamera attiva. Su Android, il frame rate di registrazione effettivo può variare in condizioni di scarsa luminosità o stress termico.
setVideoFrameRate Imposta il frame rate video target per la sessione della fotocamera attiva. Si consiglia di passare frameRate a startRecordVideo() all'avvio di una registrazione. Restituisce un errore chiaro se i valori non sono supportati.

Esempi

start()

Avvia la preview della camera.

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

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

stop()

Ferma la preview della camera.

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

await CameraPreview.stop();

capture()

Scatta una foto con la camera.

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

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

captureSample()

Cattura un singolo frame dallo stream della preview.

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

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

startBarcodeScanner()

Avvia la scansione dei barcode sulla preview della camera attiva.

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

await CameraPreview.startBarcodeScanner();

stopBarcodeScanner()

Ferma la scansione dei barcode mantenendo attiva la preview della camera.

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

await CameraPreview.stopBarcodeScanner();

La tabella sopra elenca i 56 metodi core. I listener, gli helper per le versioni e il contratto completo di ogni metodo sono documentati in repository GitHub.

Ascolta gli eventi

addListener restituisce un handle. Chiama handle.remove() quando la schermata viene smontata, o CameraPreview.removeAllListeners() per rimuovere tutti i listener.

Riferimento completo

Torna a Usare @capgo/camera-preview

Se stai usando Usare @capgo/camera-preview per pianificare il comportamento dei media nativi e dell'interfaccia, collegalo a @capgo/camera-preview per i dettagli di implementazione in @capgo/camera-preview, Guida rapida per i dettagli di implementazione in Getting Started, Usare @capgo/capacitor-live-activities per la funzionalità nativa nella guida Usare @capgo/capacitor-live-activities, @capgo/capacitor-live-activities per i dettagli di implementazione in @capgo/capacitor-live-activities, e Usare @capgo/capacitor-video-player per la funzionalità nativa in Utilizzo di @capgo/capacitor-video-player.

FAQ

FAQ sul plugin Camera Preview

Come installo il plugin Camera Preview in un'app Capacitor?

Esegui "bun add @capgo/camera-preview" (o "npm install @capgo/camera-preview"), poi lancia "bunx cap sync" in modo che i progetti iOS e Android includano le code native. Importalo da "@capgo/camera-preview" nel tuo code.

@capgo/camera-preview funziona con React, Vue e Angular?

Sì. Camera Preview è un pacchetto Capacitor, quindi funziona con qualsiasi framework web che giri dentro Capacitor, inclusi Ionic, React, Vue, Angular, Svelte e JavaScript puro.

Quale versione di Capacitor supporta @capgo/camera-preview?

I plugin Capgo seguono la major version di Capacitor: usa la major version del plugin che corrisponde alla tua major version di Capacitor (ad esempio plugin v8 con Capacitor 8). La tabella di compatibilità nel README di GitHub elenca le versioni mantenute.

@capgo/camera-preview è gratuito e open source?

Sì. Il codice sorgente code è pubblico su GitHub all'indirizzo https://github.com/Cap-go/capacitor-camera-preview/ e puoi installare il pacchetto gratuitamente da npm. Bug report e pull request sono benvenuti.

Posso aggiornare code che usa Camera Preview senza passare dalla revisione dell'App Store?

Installare o aggiornare il plugin modifica il code nativo, quindi serve una nuova build per lo store. Dopo, le modifiche a JavaScript, HTML e CSS che chiamano il plugin possono essere rilasciate subito con i live update di Capgo.

Distribuisci le modifiche a Camera Preview senza attendere la revisione dell'app

Una volta incluso il plugin nel tuo store build, Capgo live updates invia le modifiche a JavaScript, HTML e CSS agli utenti in pochi minuti.

Inizia con Capgo