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 cattura

Installa

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

Testa sul dispositivo

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

QR anteprima plugin Camera Preview code

Usare @capgo/camera-preview

L'interfaccia principale per il plugin CameraPreview.

Installa

bun add @capgo/camera-preview
bunx cap sync

bunx cap sync copia i code nativi 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 camera preview.
stop Ferma la camera preview.
capture Scatta una foto con la fotocamera.
captureSample Cattura un singolo frame dallo stream della camera preview.
startBarcodeScanner Avvia la scansione dei codici a barre sulla anteprima della fotocamera attiva.
stopBarcodeScanner Interrompe la scansione dei codici a barre mantenendo attiva l'anteprima della fotocamera.
getSupportedFlashModes Ottiene le modalità flash supportate dalla fotocamera attiva.
setAspectRatio Imposta l'aspect ratio della camera preview.
getAspectRatio Ottiene l'aspect ratio attuale della camera preview.
setGridMode Imposta la modalità griglia dell'overlay della camera preview.
getGridMode Ottiene la modalità griglia attuale dell'overlay della camera preview.
checkPermissions Verifica lo stato dei permessi della fotocamera (e opzionalmente del microfono) senza mostrare il prompt di sistema.
requestPermissions Richiede i permessi per la fotocamera (e il microfono opzionale). Se i permessi sono già concessi o negati, viene restituito lo stato attuale senza mostrare prompt. Quando showSettingsAlert se è true e i permessi sono negati, verrà mostrato un alert specifico della piattaforma per guidare l'utente nelle impostazioni dell'app.
getHorizontalFov Ottiene il campo visivo orizzontale (FoV) della fotocamera attiva. Nota: su alcuni dispositivi può essere una stima.
getSupportedPictureSizes Ottiene le dimensioni delle immagini supportate da tutte le fotocamere.
setFlashMode Imposta la modalità flash per la fotocamera attiva.
flip Passa dalla fotocamera anteriore a quella posteriore.
setOpacity Imposta l'opacità dell'anteprima della fotocamera.
stopRecordVideo Interrompe una registrazione video in corso.
startRecordVideo Avvia la registrazione video.
setVideoQuality Imposta la qualità della registrazione video per la sessione della fotocamera attiva.
getVideoQuality Ottiene l'attuale qualità della registrazione video.
getSupportedVideoQualities Restituisce le qualità video supportate dalla fotocamera attiva.
setVideoCodec Imposta il codec video utilizzato durante la registrazione.
getVideoCodec Ottiene il codec video attualmente utilizzato 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 corrente.
setVideoStabilizationMode Imposta la modalità di stabilizzazione video per la registrazione. Non può essere modificata durante una registrazione in corso. È anche possibile passare videoStabilizationMode nella startRecordVideo() opzioni.
isRunning Verifica se la camera preview è attualmente attiva.
getAvailableDevices Ottiene tutti i dispositivi fotocamera disponibili.
getZoom Ottiene lo stato attuale dello zoom, inclusi min/max e le info sull'obiettivo corrente.
getZoomButtonValues Restituisce i valori dei pulsanti di zoom per il cambio rapido. - iOS/Android: include 0.5 se l'ultra-wide è disponibile; 1 e 2 se il wide è disponibile; 3 se il telephoto è disponibile - Web: non supportato.
setZoom Imposta il livello di zoom della fotocamera.
getFlashMode Ottiene la modalità flash attuale.
setDeviceId Passa la camera attiva a quella con l'ID specificato. deviceId.
getDeviceId Ottiene l'ID del dispositivo fotocamera attualmente associato. Su Android, se una richiesta per una lente fisica ricade su una fotocamera logica, restituisce l'ID della fotocamera logica associata.
getPreviewSize Restituisce la dimensione e la posizione attuali 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 non è supportato e lancerà un errore.
getSafeAreaInsets Ottiene gli inset della safe area per i dispositivi. Restituisce l'inset della notch/camera cutout in base all'orientamento e l'orientamento attuale. In modalità portrait: restituisce l'inset superiore (notch in alto). In modalità landscape: restituisce l'inset sinistro (notch spostata sul lato). Si concentra specificamente sull'area di cutout (notch, punch hole, ecc.) presente su tutti i telefoni moderni.
getOrientation Ottiene l'orientamento corrente 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 supportato per la compensazione dell'esposizione (EV bias).
getExposureCompensation Restituisce la compensazione dell'esposizione (EV bias) corrente.
setExposureCompensation Imposta la compensazione dell'esposizione (EV bias). Il valore verrà limitato all'intervallo.
getWhiteBalanceModes Restituisce le modalità di bilanciamento del bianco supportate dalla fotocamera attiva. Le modalità possono includere: 'AUTO', 'LOCK', 'CONTINUOUS'. CUSTOM non è elencato finché non viene implementato il supporto ai guadagni manuali.
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 congela i guadagni correnti, AUTO effettua un aggiustamento una tantum. CUSTOM è riservata e rifiutata finché non viene implementato il supporto ai guadagni manuali.
getSupportedVideoFrameRates Elenca i frame rate video supportati dalla fotocamera attiva per il formato corrente. I valori supportati 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ò comunque variare in condizioni di scarsa illuminazione o sotto 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. Rifiuta i valori non supportati con un errore chiaro.

Esempi

start()

Avvia la camera preview.

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

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

stop()

Ferma la camera preview.

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

await CameraPreview.stop();

capture()

Scatta una foto con la fotocamera.

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

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

captureSample()

Cattura un singolo frame dallo stream della camera preview.

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

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

startBarcodeScanner()

Avvia la scansione dei codici a barre sulla anteprima della fotocamera attiva.

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

await CameraPreview.startBarcodeScanner();

stopBarcodeScanner()

Interrompe la scansione dei codici a barre mantenendo attiva l'anteprima della fotocamera.

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

await CameraPreview.stopBarcodeScanner();

La tabella sopra elenca i 56 metodi principali. I listener, gli helper di versione e il contratto completo di ciascun 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

Continua da 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, Per iniziare per i dettagli di implementazione nella guida introduttiva, Uso di @capgo/capacitor-live-activities per la funzionalità nativa nella pagina Uso di @capgo/capacitor-live-activities, @capgo/capacitor-live-activities per i dettagli di implementazione in @capgo/capacitor-live-activities, e Uso di @capgo/capacitor-video-player per la funzionalità nativa in Usare @capgo/capacitor-video-player.

FAQ

FAQ del plugin Camera Preview

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

Esegui "bun add @capgo/camera-preview" (oppure "npm install @capgo/camera-preview"), poi esegui "bunx cap sync" così che i progetti iOS e Android rilevino il codice nativo code. Importalo da "@capgo/camera-preview" nel code della tua app.

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

Sì. Camera Preview è un pacchetto Capacitor, quindi funziona con qualsiasi framework web che gira all'interno di 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 code sorgente è pubblico su GitHub all'indirizzo https://github.com/Cap-go/capacitor-camera-preview/ e il pacchetto si installa gratuitamente da npm. Bug report e pull request sono benvenuti.

Posso aggiornare code che usa Camera Preview senza una 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 le live updates di Capgo.

Pubblica modifiche a Camera Preview senza aspettare la revisione dell'app

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

Inizia con Capgo