FotocameraX
Questa tabella elenca tutti gli artefatti nel gruppo androidx.camera
.
Elemento | Release stabile | Candidato per la release | Versione beta | Release alpha |
---|---|---|---|---|
fotocamera-camera2 | 1.3.4 | - | 1.4.0-beta02 | - |
core della fotocamera | 1.3.4 | - | 1.4.0-beta02 | - |
effetti fotocamera | - | - | 1.4.0-beta02 | - |
estensioni-fotocamera | 1.3.4 | - | 1.4.0-beta02 | - |
ciclo di vita della fotocamera | 1.3.4 | - | 1.4.0-beta02 | - |
fotocamera-mlkit-vision | - | - | 1.4.0-beta02 | - |
visualizzazione-fotocamera | 1.3.4 | - | 1.4.0-beta02 | - |
mirino della fotocamera | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
videocamera-video | 1.3.4 | - | 1.4.0-beta02 | - |
Test dei dispositivi
CameraX viene testata su molti dispositivi nel nostro laboratorio. Per visualizzare un elenco dei dispositivi attualmente nel lab, vedi Dispositivi sottoposti a test di laboratorio con CameraX.
Dichiarazione delle dipendenze
Per aggiungere una dipendenza a CameraX, devi aggiungere il Repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il Repository Maven di Google.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle
per
l'app o il modulo:
trendy
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.4.0-beta02" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation "androidx.camera:camera-core:${camerax_version}" implementation "androidx.camera:camera-camera2:${camerax_version}" // If you want to additionally use the CameraX Lifecycle library implementation "androidx.camera:camera-lifecycle:${camerax_version}" // If you want to additionally use the CameraX VideoCapture library implementation "androidx.camera:camera-video:${camerax_version}" // If you want to additionally use the CameraX View class implementation "androidx.camera:camera-view:${camerax_version}" // If you want to additionally add CameraX ML Kit Vision Integration implementation "androidx.camera:camera-mlkit-vision:${camerax_version}" // If you want to additionally use the CameraX Extensions library implementation "androidx.camera:camera-extensions:${camerax_version}" }
Kotlin
dependencies { // CameraX core library using the camera2 implementation val camerax_version = "1.4.0-beta02" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation("androidx.camera:camera-core:${camerax_version}") implementation("androidx.camera:camera-camera2:${camerax_version}") // If you want to additionally use the CameraX Lifecycle library implementation("androidx.camera:camera-lifecycle:${camerax_version}") // If you want to additionally use the CameraX VideoCapture library implementation("androidx.camera:camera-video:${camerax_version}") // If you want to additionally use the CameraX View class implementation("androidx.camera:camera-view:${camerax_version}") // If you want to additionally add CameraX ML Kit Vision Integration implementation("androidx.camera:camera-mlkit-vision:${camerax_version}") // If you want to additionally use the CameraX Extensions library implementation("androidx.camera:camera-extensions:${camerax_version}") }
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se rilevi nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne una nuova. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione di Issue Tracker.
Camera Viewfinder Compose versione 1.0
Versione 1.0.0-alpha02
12 giugno 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha02
viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.
Versione 1.0.0-alpha01
14 maggio 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha01
viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
- Nuova raccolta. Questa libreria presenta un mirino componibile nativo di Compose, che può essere utilizzato con CameraX e Camera2. Il mirino componibile supporta diverse proporzioni e la gestione di eventi touch.
Mirino della fotocamera versione 1.4
Versione 1.4.0-alpha07
12 giugno 2024
androidx.camera:camera-viewfinder:1.4.0-alpha07
e androidx.camera:camera-viewfinder-core:1.4.0-alpha07
vengono rilasciati. La versione 1.4.0-alpha07 contiene questi commit.
Versione 1.4.0-alpha06
14 maggio 2024
androidx.camera:camera-viewfinder:1.4.0-alpha06
e androidx.camera:camera-viewfinder-core:1.4.0-alpha06
vengono rilasciati. La versione 1.4.0-alpha06 contiene questi commit.
Modifiche alle API
- Rinomina gli enum
ImplementationMode
diViewfinder
per riflettere meglio le implementazioni sottostanti e aggiungi le costanti fisse perTransformationInfo.sourceRotation
. (Ic6149) - È stato aggiunto
ZoomGestureDetector.ZoomEvent
per incapsulare gli stati di un gesto di zoom. (I84cdf)
Versione fotocamera 1.4
Versione 1.4.0-beta02
12 giugno 2024
androidx.camera:camera-*:1.4.0-beta02
viene rilasciato. La versione 1.4.0-beta02 contiene questi commit.
Modifiche alle API
- Analogamente a
VideoCapture
, aggiungisetMirrorMode
per il caso d'uso in anteprima. Supporterà l'attivazione e la disattivazione della modalità di mirroring per lo streaming di anteprima tramiteOutputConfiguration.setMirrorMode
dall'API 33 e versioni successive. Per le API meno recenti, l'operazione sarà automatica. (I821f4)
Correzioni di bug
- Risolto il problema che causava l'impossibilità di scattare foto dalle app su Samsung Tab A8 quando
ImageCapture
seleziona la combinazione 1920 x 1080 con una combinazione diPreview
VideoCapture
ImageCapture
UseCase
. (I5a463, b/336925549) - La registrazione persistente corretta potrebbe non continuare a registrare dopo aver cambiato fotocamera. (Icb0a1).
Versione 1.4.0-beta01
14 maggio 2024
androidx.camera:camera-*:1.4.0-beta01
viene rilasciato. La versione 1.4.0-beta01 contiene questi commit.
Modifiche alle API
- È stato aggiunto
ZoomGestureDetector.ZoomEvent
per incapsulare gli stati di un gesto di zoom. (I84cdf)
Correzioni di bug
- Risolto il bug per l'acquisizione e il tocco per mettere a fuoco che non utilizzano i valori della modalità di stabilizzazione/f/s della richiesta di ripetizione, il che potrebbe ricreare la sessione di acquisizione e causare problemi di latenza o il blocco dell'anteprima in alcuni dispositivi. (I7dc0b)
- Risolto il bug per cui non è possibile selezionare le alte risoluzioni quando
CameraEffect
è attivo su alcuni dispositivi. (ad es. 4000 x 3000 su Samsung A32 5G). (Ie3ed3, b/337336152). - Risolto il problema di arresto anomalo quando si scattano foto con l'anteprima,
ImageCapture
eVideoCapture(UHD)
sono vincolati all'API29 di Pixel 4XL. (I5b288). - Supporto dei dispositivi virtuali: il contesto trasferito a
ProcessCameraProvider
conserva l'ID dispositivo per garantire la funzionalità in un ambiente di dispositivo virtuale. (I5ba48).
Versione 1.4.0-alpha05
17 aprile 2024
androidx.camera:camera-*:1.4.0-alpha05
viene rilasciato. La versione 1.4.0-alpha05 contiene questi commit.
Nuove funzionalità
ProcessCameraProvider
convertita in implementazione Kotlin. (I46d4f).- Sono state aggiunte
ImageCapture.takePicture
funzioni di sospensione per consentire la chiamata in modo idiomatico Kotlin. (I920be)
Modifiche alle API
- Aggiungi le API per il formato di output a
ImageCapture
e aggiungi il metodogetSupportedOutputFormats
aImageCaptureCapabilities
per eseguire query sulle funzionalità del dispositivo. Il valore predefinito del formato di output èOUTPUT_FORMAT_JPEG
, che acquisisce le immagini SDR in formato JPEG. Se il dispositivo supporta la funzionalità Ultra HDR e il formato di output è impostato suOUTPUT_FORMAT_JPEG_ULTRA_HDR
, CameraX acquisisce immagini compresse in Ultra HDR utilizzando il formato immagine JPEG/R. Il formato è compatibile con le versioni precedenti del formato JPEG SDR e supporta il rendering HDR dei contenuti. Ciò significa che su app o dispositivi meno recenti le immagini vengono visualizzate senza problemi come un normale formato JPEG; sulle app e sui dispositivi che sono stati aggiornati per supportare completamente il formato, le immagini vengono visualizzate in HDR. (I5de50) - Aggiungi
PhysicalCameraInfo
inCameraInfo
per eseguire query sulle informazioni delle videocamere fisiche e aggiungi setter/getter ID videocamera fisica inCameraSelector
(Ic5b90) - Sostituisci
CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED
conImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED
. Il valore della costante rimane invariato. Serve a raggruppare tutte le costanti in un unico posto. (I890bb) - La nuova API
RetryPolicy
consente agli sviluppatori di personalizzare il comportamento dei nuovi tentativi per l'inizializzazione di CameraX. (I36dd2). - Abilita la creazione dell'oggetto
ImageCaptureLatencyEstimate
per facilitare la verificabilità (Iaba99) - Aggiungi un
ImageAnalysis#COORDINATE_SYSTEM_SENSOR
. Se viene utilizzata,MlKitAnalyzer
restituisce le coordinate nel sistema di coordinate del sensore della fotocamera. (I3ec61) - API dei metadati delle estensioni esposte. Le nuove interfacce
CameraExtensionsInfo
eCameraExtensionsControl
consentono alle applicazioni di monitorare e regolare le impostazioni di efficacia delle estensioni. Le applicazioni possono ottenere l'istanzaCameraExtensionsInfo
oCameraExtensionsControl
tramite i metodiExtensionsManager#getCameraExtensionsInfo()
oExtensionsManager#getCameraExtensionsControl()
appena aggiunti. (I28e1a). - È stato aggiunto
ProcessCameraProvider.awaitInstance
, che è una versione sospesa diProcessCameraProvider.getInstance
(Ib22b9) - Aggiungi un'API
PreviewView#getSensorToViewTransform()
. La matrice rappresenta la trasformazione dalle coordinate del sensore della fotocamera alle coordinate diPreviewView
. che può essere utilizzata per trasformare le coordinate da un valoreUseCase
a un altro. Ad esempio, trasformazione delle coordinate degli oggetti rilevati nell'overlayImageAnalysis
inPreviewView
. (I947ab) - Rendi l'API
camera-viewfinder-core
più generica in modo che possa essere utilizzata dacamera-viewfinder
ecamera-viewfinder-compose
. (I1e295). - Aggiungi la funzione
getSurface
aViewfinderSurfaceRequest
. (I781a0) - Utilizza
camera-viewfinder-core
incamera-viewfinder
e ritiraViewfinderSurfaceRequest
eCameraViewfinder
. (I6198c) - È stato aggiunto
ZoomGestureDetector
che interpreta i gesti di ridimensionamento configurati specificamente per l'attività di pizzicatura per lo zoom. (Ifafbf)
Correzioni di bug
- Risolto il problema di selezione della risoluzione di
ImageAnalysis
relativo all'impostazione di risoluzione target predefinita dello strumento di analisi: la risoluzione target è stata mantenuta erroneamente a 640 x 480 anche se le applicazioni hanno impostato un'impostazione di risoluzione predefinita diversa per l'analizzatore. Se le applicazioni riscontrano questo problema (1.3.0 ~ 1.3.2) e non possono eseguire l'upgrade per utilizzare le release più recenti che contengono la soluzione, puoi risolvere il problema impostando direttamente unResolutionSelector
con la risoluzione preferita e unAspectRatioStrategy
corrispondente all'UseCase
ImageAnalysis
. (I81f72, b/330091012). - Risolto il problema per cui la richiesta
takePicture
in coda potrebbe non essere eseguita se la richiesta attuale non va a buon fine. (Ie0801) - Esegui il controllo dei dati JPEG non valido applicato ai dispositivi Vivo X60 e X60 Pro. In questo modo è possibile risolvere il problema relativo alle immagini di dimensioni insolitamente grandi su questi dispositivi. (I82247, b/288828159)
- Risolto il problema errato dei metadati delle immagini JPEG sui dispositivi Samsung A24. Con la correzione, CameraX è in grado di salvare correttamente l'immagine JPEG oppure è possibile restituire oggetti bitmap corretti quando si chiama la funzione
ImageProxy.toBitmap()
sui dispositivi Samsung A24. (I8d6eb, b/309005680). - Se l'immagine acquisita supera i 10 MB, applica il controllo dei dati JPEG non validi a tutti i dispositivi Samsung. Questo può risolvere un problema di dimensioni insolitamente grandi sui dispositivi Samsung. (Ic2a65, b/288828159).
- Rimosso il supporto di
ImageAnalysis
sulle estensioni CameraX perché le implementazioni di estensioni di molti OEM non funzionano bene conImageAnalysis
e potrebbero causare problemi incoerenti. (I2d926)
Versione 1.4.0-alpha04
24 gennaio 2024
androidx.camera:camera-*:1.4.0-alpha04
viene rilasciato. La versione 1.4.0-alpha04 contiene questi commit.
Nuove funzionalità
- Nuovo elemento: effetti della fotocamera: una raccolta per applicare effetti in tempo reale all'output di CameraX, tra cui
Preview
,VideoCapture
e/oImageCapture
. Questo artefatto contiene implementazioni OpenGL dell'APICameraEffect
che manipolano l'output della fotocamera in modo efficiente. OverlayEffect
: per disegnare overlay con l'API Canvas di Android. In questo modo l'app può applicare una filigrana o evidenziare gli oggetti rilevati nelle uscite della fotocamera.DynamicRange
API per il caso d'uso in anteprima: l'intervallo dinamico può ora essere impostato nel caso d'uso in anteprima, indipendentemente dal caso d'uso dei video. In questo modo sono consentiti intervalli dinamici HDR, ad esempio HLG10 solo per l'anteprima. InCameraInfo
sono disponibili anche nuove API per eseguire query sugli intervalli dinamici supportati da ogni videocamera.
Modifiche alle API
- Il nome
ScreenFlashUiCompleter
è stato rinominato inScreenFlashListener
e il parametroScreenFlashUiCompleter#getExpirationTimeMillis
è stato spostato nel parametroexpirationTimeMillis
diScreenFlash#apply
. (I13944) - Sono state aggiunte nuove API per consentire l'impostazione dell'intervallo dinamico nel caso d'uso in anteprima e per eseguire query sugli intervalli dinamici supportati da ogni fotocamera. In questo modo è possibile utilizzare intervalli dinamici HDR, come HLG10, solo nel caso d'uso Anteprima, senza che sia più necessario associare un elemento
VideoCapture
contemporaneamente. (If25e3). - Rinominato
getMirroring()
inisMirroring()
(I47063) - Aggiunto il supporto per la stima della latenza di acquisizione comunque in tempo reale in CameraX. Le estensioni della fotocamera consentono alle applicazioni di utilizzare un'API che fornisce una stima del tempo richiesto per l'acquisizione. La stima tiene conto delle condizioni ambientali attuali e dello stato della fotocamera e include il tempo impiegato per elaborare le richieste di acquisizione multi-frame e il tempo aggiuntivo per la codifica dei buffer elaborati, se necessario. (I05c3a).
ScreenFlashUiControl
è stato rinominato inScreenFlash
,ScreenFlashUiControl#applyScreenFlashUi
inScreenFlash#apply
,ScreenFlashUiControl#clearScreenFlashUi
inScreenFlash#clear
e aggiunto il metodogetScreenFlashUiApplyTimeoutSeconds
anziché esporre direttamenteSCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS
. (Iccdd0)
Correzioni di bug
- Risolto il problema di perdita di memoria che comporta il mancato rilascio di attività o frammenti quando le estensioni sono abilitate (I14215)
- Risolto il problema per cui
getZoomRatio
restituiva erroneamente un valore diminuito durante l'applicazione di un fattore di zoom crescente. (I4aa0d, b/317543616). - L'evento
ImageCapture#ScreenFlash#clear
viene richiamato immediatamente quandoImageCapture
non è associato o la fotocamera è chiusa; inoltre, corregge alcuni bug per cui non viene mai richiamato a causa di acquisizioni in questi scenari che non vengono completate correttamente. (If99f9). - Risolto l'arresto anomalo che si verifica quando il ciclo di vita viene arrestato prima del completamento della richiesta
takePicture
(Idf017, b/306202751) - Risolto il problema per cui l'anteprima della fotocamera diventava nera quando le estensioni erano attivate su alcuni dispositivi (I1ffd0)
- È stata corretta la durata errata della registrazione video sui dispositivi che utilizzavano il SoC Snapdragon 778G. (If6aa7, b/316057919)
Versione 1.4.0-alpha03
13 dicembre 2023
androidx.camera:camera-*:1.4.0-alpha03
viene rilasciato. La versione 1.4.0-alpha03 contiene questi commit.
Nuove funzionalità
- È stato aggiunto
CameraInfo.mustPlayShutterSound
per specificare se il suono dell'otturatore deve essere riprodotto o meno in conformità alle restrizioni locali. (Ifda84) - Sono stati aggiunti
OnImageCapturedCallback.onCaptureStarted
eOnImageSavedCallback.onCaptureStarted
per la notifica quando la fotocamera ha iniziato a esporre un fotogramma. A questo punto ti consigliamo di riprodurre il suono dell'otturatore o l'animazione dell'otturatore. (Ic49b3) - Aggiunto il supporto della funzionalità Flash dello schermo in CameraX per l'acquisizione delle immagini con la fotocamera anteriore. CameraX si occuperà della gestione dell'API lato framework e sincronizzerà la tempistica con le modifiche all'interfaccia utente dell'applicazione secondo necessità (ad esempio, attivatore di preacquisizione AE dopo la modifica del colore/luminosità dello schermo dell'app). Le app dovranno aggiungere le relative implementazioni lato UI solo nell'interfaccia
ScreenFlashUiControl
fornita a CameraX. (I8ae84). - È stato aggiunto il supporto per l'implementazione lato interfaccia della funzionalità Flash dello schermo in CameraX. Le app potranno usufruire dell'implementazione di base di
ImageCapture.ScreenFlashUiControl
daPreviewView
o dalla nuovaScreenFlashView
, che aggiungerà una visualizzazione overlay monocromatica e massimizzerà la luminosità dello schermo durante l'acquisizione di foto flash dello schermo. (I1810e).
Modifiche alle API
- Supporta nuove funzionalità per le estensioni(avanzamento del processo post-visualizzazione e acquisizione). Sono state aggiunte le API
ImageCapture#getImageCaptureCapabilities()
per consentire alle app di eseguire query sulle funzionalità del callback di avanzamento del processo di postview e di acquisizione. Le app possono attivare il postview utilizzando l'ImageCapture.Builder#setPostviewEnabled()
. La dimensione del postview può essere selezionata utilizzandoImageCapture.Builder#setPostviewResolutionSelector()
. Quando si richiamatakePicture()
,onPostviewBitmapAvailable
eonCaptureProcessProgressed
possono essere implementati inOnImageSavedCallback
oOnImageCapturedCallback
per ricevere la notifica di avanzamento post-visualizzazione e processo, se supportati. (I5cd88) - API per il calcolo della trasformazione delle coordinate dal sensore al buffer attuale, con un flag che indica se la superficie contiene o meno le informazioni sull'orientamento della fotocamera. (I59096)
- Esponi l'API per eseguire una query su
PreviewCapabitlity
nell'anteprimaUseCase
. (Ie5b6c) - Sono state aggiunte API per supportare più qualità per
VideoCapture
.Recorder.Builder#setVideoCapabilitiesSource(int)
può essere utilizzato conVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES
per creare un'istanzaRecorder
che supporta più qualità rispetto aVIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE
. Un caso d'uso comune si verifica quando l'applicazione tenta di registrare video UHD ogni volta che è possibile, ma laCamcorderProfile
del dispositivo non include impostazioni UHD, anche se il codec è in grado di registrare video UHD. (Iedbe2, b/263961771). - Aggiungi il getter/setter del formato di output
ImageAnalysis
aCameraController
. (I9a96c, b/308240643).
Correzioni di bug
- Da Fotocamera
1.3.1
: sono state migliorate le prestazioni diProcessCameraProvider#bindToLifecycle()
. La modifica principale riguarda l'ottimizzazione del processo di identificazione delle combinazioni di taglie più adatte perUseCases
. I risultati ottimali variano in base alle specifiche combinazioni diUseCase
e al numero di dimensioni di output supportate per i dispositivi target. (I454f2) - Consenti l'utilizzo di
VideoCapture
quando le estensioni sono attivate. (I91f32) - Risolto il problema di grandi immagini JPEG acquisite sui dispositivi Samsung A71 e serie M51. Le immagini JPEG acquisite contengono dati di spaziatura interna ridondanti nel segmento di dati compressi con JFIF. Questo fa sì che le immagini acquisite abbiano file di dimensioni estreme. I dati di spaziatura interna di questi 0 ridondanti verranno rimossi in modo che le immagini acquisite abbiano dimensioni normali dei file immagine. (I01afc, b/288828159).
- Disattiva il supporto di
ImageAnalysis
sui Pixel per evitare il bug che restituisce accidentalmente le dimensioniImageAnalysis
non vuote supportate. (I7ec31) - Risolto il problema di prestazioni per cui il carico della CPU e il consumo energetico aumentavano quando le estensioni erano attivate. (Ibdccb)
- È stato aggiunto Snapdragon 480 a
CameraUseInconsistentTimebaseQuirk
. Questo risolve un problema su Android 12 per i dispositivi che utilizzano questo chipset, quando l'audio nelle registrazioni viene compensato in base al periodo di tempo in cui il dispositivo è in stato di sospensione. (I58010)
Versione 1.4.0-alpha02
18 ottobre 2023
androidx.camera:camera-*:1.4.0-alpha02
viene rilasciato. La versione 1.4.0-alpha02 contiene questi commit.
Modifiche alle API
- Rinomina l'API in
setCameraOpenRetryMaxTimeoutInMillisWhileResuming
e rinomina l'argomento. (I72370) - Aggiunta di API per eseguire query sulle funzionalità del dispositivo e abilitare la stabilizzazione di video e anteprime. (I87544)
- Fornisci l'API per personalizzare l'apertura della videocamera con il tempo massimo di timeout. (I0c642)
- Rilasciata
ProcessCameraProvider.shutdownAsync
come API di test pubblico per consentire l'utilizzo del fornitore di videocamere di processo in suite di test che potrebbero dover inizializzare CameraX in modi diversi tra un test e l'altro. (I9eca7) - Aggiungi API per configurare intervallo dinamico, frequenza fotogrammi e modalità di mirroring dell'acquisizione video. (Ifb8f7)
- Ritira
OutputSize
e sostituiscilo conResolutionSelector
.ResolutionSelector
offre un modo più completo per selezionare le risoluzioni ed è coerente con l'API Camera-core. (I93abd, b/286801438).
Correzioni di bug
- Risolto il problema dell'anteprima in nero su Samsung Galaxy S23 Ultra 5G quando le estensioni Bokeh o il ritocco viso sono attivati con
ImageAnalysis
sulla fotocamera posteriore. (I2e8b1). - Sono stati corretti i problemi relativi all'anteprima e al allungamento di
VideoCapture
su Moto E5 Play. (73dce2)
Versione 1.4.0-alpha01
20 settembre 2023
androidx.camera:camera-*:1.4.0-alpha01
viene rilasciato. La versione 1.4.0-alpha01 contiene questi commit.
Modifiche alle API
- Aggiungi una nuova API per accedere alle informazioni sull'ampiezza dell'audio durante la registrazione. (Id4925)
Correzioni di bug
- Migliora la stabilità delle estensioni assicurandoti che gli eventi di inizializzazione e deinizializzazione vengano attivati nell'ordine corretto. (Ib3b8e).
- È stato corretto l'errore di configurazione della sessione di acquisizione a causa di un superamento della combinazione di superfici supportata a causa dell'aggiunta interna di una superficie ricorrente aggiuntiva. (Id718c)
- Risolto il problema di immagini JPEG acquisite di grandi dimensioni sul dispositivo Vivo S16. Le immagini JPEG acquisite contengono dati di spaziatura interna ridondanti nel segmento di dati compressi con JFIF. Di conseguenza, le immagini acquisite hanno file di grandi dimensioni. I dati di spaziatura interna di questi 0 ridondanti verranno rimossi in modo che le immagini acquisite abbiano dimensioni normali dei file immagine. (I79505, b/299069235)
- Risolto il problema che non permetteva di associare
ImageAnalysis
aImageCapture
e all'anteprima quando su alcuni dispositivi erano attivate alcune modalità di estensione. La correzione restituirà il valore corretto quando le app interrogano la disponibilità diImageAnalysis
tramiteExtensionsManager#isImageAnalysisSupported()
. (I7d538) - Aggiorna JavaDoc in modo che corrisponda al comportamento. Invece di completare il processo immediatamente,
#setZoomRatio
,#setLinearZoom
e#enableTorch
attendono che la fotocamera sia pronta. Sono state inoltre aggiunte informazioni su come ottenere il FOV massimo con l'API#takePicture
. (I23588)
Versione 1.3
Versione 1.3.4
12 giugno 2024
androidx.camera:camera-*:1.3.4
viene rilasciato. La versione 1.3.4 contiene questi commit.
Correzioni di bug
- Risolto il problema per cui
getZoomRatio
restituiva erroneamente un valore diminuito durante l'applicazione di un fattore di zoom crescente. (I4aa0d, b/317543616). - È stato risolto il problema di acquisizione/tocco per mettere a fuoco che non utilizzava i valori della modalità di stabilizzazione/f/s della richiesta di ripetizione che potrebbe ricreare la sessione di acquisizione e causare problemi di latenza o il blocco dell'anteprima in alcuni dispositivi. (I7dc0b)
- È stato risolto il problema a causa del quale la frequenza fotogrammi veniva impostata su un valore più basso quando si chiama
setTargetFrameRate
conFRAME_RATE_RANGE_UNSPECIFIED
. (I78c61)
Versione 1.3.3
17 aprile 2024
androidx.camera:camera-*:1.3.3
viene rilasciato. La versione 1.3.3 contiene questi commit.
Correzioni di bug
- Risolto il problema di selezione della risoluzione di
ImageAnalysis
relativo all'impostazione di risoluzione target predefinita dello strumento di analisi: la risoluzione target è stata mantenuta erroneamente a 640 x 480 anche se le applicazioni hanno impostato un'impostazione di risoluzione predefinita diversa per l'analizzatore. Se le applicazioni riscontrano questo problema (1.3.0 ~ 1.3.2) e non possono eseguire l'upgrade per utilizzare le release più recenti che contengono la soluzione, puoi risolvere il problema impostando direttamente unResolutionSelector
con la risoluzione preferita e unAspectRatioStrategy
corrispondente al caso d'usoImageAnalysis
. (I81f72, b/330091012).
Versione 1.3.2
6 marzo 2024
androidx.camera:camera-*:1.3.2
viene rilasciato. La versione 1.3.2 contiene questi commit.
Correzioni di bug
- Risolto il problema dei metadati JPEG sui dispositivi Samsung A24. CameraX ora salva le immagini in modo preciso e la funzione
ImageProxy.toBitmap()
restituisce gli oggetti bitmap corretti. (I8d6eb, b/309005680). - A causa di problemi, è stata rimossa l'opzione di risoluzione 9280x6944 sui dispositivi Redmi Note 9 Pro. (Ia23da).
Versione 1.3.1
13 dicembre 2023
androidx.camera:camera-*:1.3.1
viene rilasciato. La versione 1.3.1 contiene questi commit.
Correzioni di bug
Sono state migliorate le prestazioni di ProcessCameraProvider#bindToLifecycle()
. La modifica principale riguarda l'ottimizzazione del processo di identificazione delle combinazioni di taglie più adatte per UseCases
. I risultati ottimali variano in base alle specifiche combinazioni di UseCase
e al numero di dimensioni di output supportate per i dispositivi target. (I454f2)
Ecco alcuni risultati di riferimento per vari scenari:
Quattro
UseCases
:Preview
ImageCapture
ImageAnalysis
VideoCapture
- Google Pixel 7: da 430 ms circa a 60 ms
- Samsung Galaxy S23 Ultra: da 540 ms circa a 45 ms
- Samsung A53 5G: da 115 ms circa a 70 ms
Tre
UseCases
:Preview
ImageCapture
ImageAnalysis
- Google Pixel 7: da 9 ms circa a 7 ms
- Samsung Galaxy S23 Ultra: da 6 ms a 5 ms circa
- Samsung A53 5G: da 32 ms circa a 12 ms
È stato aggiunto Snapdragon 480 a
CameraUseInconsistentTimebaseQuirk
. Questo risolve un problema su Android 12 per i dispositivi che utilizzano questo chipset, quando l'audio nelle registrazioni viene compensato in base al periodo di tempo in cui il dispositivo è in stato di sospensione. (I58010)
Versione 1.3.0
18 ottobre 2023
androidx.camera:camera-*:1.3.0
viene rilasciato. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- Funzionalità video tra cui HDR a 10 bit, ritaglio, Mirroring/non mirroring, attivazione/disattivazione audio, impostazione della frequenza fotogrammi e altro ancora.
- Doppia videocamera simultanea
- Raccolta di effetti
- Selettore della risoluzione
- Selezione della fotocamera ultrawide e telescopica
- Cambio fotocamera durante la registrazione video (funzionalità sperimentale)
Versione 1.3.0-rc02
20 settembre 2023
androidx.camera:camera-*:1.3.0-rc02
viene rilasciato. La versione 1.3.0-rc02 contiene questi commit.
Correzioni di bug
- Migliora la stabilità delle estensioni assicurandoti che gli eventi di inizializzazione e deinizializzazione vengano attivati nell'ordine corretto. Sono stati risolti alcuni problemi relativi all'anteprima nera durante il passaggio da una modalità Estensioni o da una videocamera all'altra. (Iddaac)
- Risolto il problema che non permetteva di associare
ImageAnalysis
aImageCapture
e all'anteprima quando su alcuni dispositivi erano attivate alcune modalità di estensione. La correzione restituirà il valore corretto quando le app interrogano la disponibilità diImageAnalysis
tramiteExtensionsManager#isImageAnalysisSupported()
. (I7d538) - Risolto il problema per cui l'audio e il video registrati non erano sincronizzati quando la modalità di mirroring era attivata su Xiaomi Poco X3 NFC. (I20b4c).
Versione 1.3.0-rc01
23 agosto 2023
androidx.camera:camera-*:1.3.0-rc01
viene rilasciato. La versione 1.3.0-rc01 contiene questi commit.
Modifiche alle API
- È stato aggiunto
PendingRecording.asPersistentRecording
per consentire la registrazione continua di una registrazione mentre ilVideoCapture
a cui è collegato il Registratore viene rimbalzo. (I517c6)
Correzioni di bug
- Risolto il problema di arresto anomalo quando uno stream viene condiviso sia con
VideoCapture
sia con l'anteprima. È stata corretta anche la schermata nera sui dispositivi LEGACY quando la condivisione dello stream era attiva. - Risolto il problema di grandi immagini JPEG acquisite sui dispositivi della serie Samsung S7 (SM-G930T, SM-G930V). Le immagini JPEG acquisite contengono dati di spaziatura interna ridondanti nel segmento di dati compressi con JFIF. Di conseguenza, le immagini acquisite hanno file di grandi dimensioni. I dati di spaziatura interna di questi 0 ridondanti verranno rimossi in modo che le immagini acquisite abbiano dimensioni normali dei file immagine. (I407b0, b/288828159).
- È stato risolto il problema di grandi immagini JPEG acquisite sui dispositivi Samsung S22 (SM-S901B, SM-S901B/DS) e S22 (SM-S906B). Le immagini JPEG acquisite contengono dati di spaziatura interna ridondanti nel segmento di dati compressi con JFIF. Questo fa sì che le immagini acquisite abbiano file di grandi dimensioni (circa 13 MB) sul dispositivo S22 SM-S901B/DS. I dati di spaziatura interna di questi 0 ridondanti verranno rimossi in modo che le immagini acquisite abbiano dimensioni normali dei file immagine. (I73be9, b/288828159).
- Risolto il problema di grandi immagini JPEG acquisite sui Samsung A5, A52, A70 e A72. Le immagini JPEG acquisite contengono dati di spaziatura interna ridondanti nel segmento di dati compressi con JFIF. Questo fa sì che le immagini acquisite abbiano file di dimensioni estreme (ad es. circa 32 MB o perfino 96 MB). I dati di spaziatura interna di questi 0 ridondanti verranno rimossi in modo che le immagini acquisite abbiano dimensioni normali dei file immagine. (I97c4d, b/288828159).
- Risolto il problema di arresto anomalo nativo durante lo scatto di foto con le estensioni abilitate (I698f5)
Versione 1.3.0-beta02
26 luglio 2023
androidx.camera:camera-*:1.3.0-beta02
viene rilasciato. La versione 1.3.0-beta02 contiene questi commit.
Correzioni di bug
- Utilizza la torcia come flash per le varianti di Pixel 4 e 5 per migliorare la qualità dell'acquisizione in condizioni di scarsa illuminazione (I56ff5, b/280221967)
- Risolto il problema di grandi immagini JPEG acquisite sui dispositivi Samsung A5 (2017). Le immagini JPEG acquisite contengono dati di spaziatura interna ridondanti nel segmento di dati compressi con JFIF. Di conseguenza, le immagini acquisite hanno dimensioni di file di circa 32 MB. I dati di spaziatura interna di questi 0 ridondanti verranno rimossi in modo che le immagini acquisite abbiano dimensioni normali dei file immagine. (I29837, b/288828159)
- Risolto il nuovo tentativo di attivazione non corretta in caso di errore di acquisizione nei dispositivi problematici menzionati in
CaptureFailedRetryQuirk
. (I7b589)
Versione 1.3.0-beta01
21 giu 2023
androidx.camera:camera-*:1.3.0-beta01
viene rilasciato. La versione 1.3.0-beta01 contiene questi commit.
Modifiche alle API
- Il nome della funzione
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)
è stato cambiato insetAllowedResolutionMode
e le costantiResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
sono state rinominate inPREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION
/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE
. (If84e8) - Sono state rimosse le API
ImageAnalysis.setTargetRotationDegrees(int)
,ImageCapture.setTargetRotationDegrees(int)
eVideoCapture.setTargetRotationDegrees(int)
deprecate. (Id8e77) - La classe
DynamicRange
rappresenta l'intervallo dinamico delle immagini. Può essere utilizzato per selezionare i formati High Dynamic Range come output daVideoCapture
aVideoCapture.Builder#setDynamicRange()
. (Ib0377) - È stata aggiunta un'API
isImageAnalysisSupported
aExtensionsManager
che le app possono determinare se è possibile associare un caso d'usoImageAnalysis
insieme all'anteprima e aImageCapture
quando le estensioni sono abilitate. (I1bc63). - La nuova classe
VideoCapabilities
ottenuta daRecorder
può essere utilizzata per eseguire query sugli intervalli dinamici e sulle qualità supportati per la registrazione video sul dispositivo. I metodigetSupportedQualities()
eisQualitySupported()
diQualitySelector
sono in fase di ritiro. Usa i metodigetSupportedQualities()
eisQualitySupported()
diVideoCapabilities
. (I04014) CameraController#setVideoCaptureTargetQuality()
è stato rinominato insetVideoCaptureQualitySelector
e utilizza l'argomentoQualitySelector
, che offre una maggiore flessibilità per la configurazione della qualità video.CameraController#getVideoCaptureTargetQuality()
viene modificato ingetVideoCaptureQualitySelector
di conseguenza. (I520ed)- È stata rimossa l'annotazione sperimentale per le funzionalità video. Le funzionalità video sono ora stabili. (I1a113)
Correzioni di bug
- Utilizza la torcia come flash sui modelli Samsung SM-A320 per migliorare la velocità e la qualità delle immagini acquisite in condizioni di scarsa illuminazione. (I6a022, b/286190938).
- Aggiungi il supporto del formato
ImageFormat.JPEG
perImageProxy.toBitmap()
. Se l'array di byte JPEG non può essere decodificato, verrà generato un valoreUnsupportedOperationException
. (I81958, b/282057603)
Versione 1.3.0-alpha07
24 maggio 2023
androidx.camera:camera-*:1.3.0-alpha07
viene rilasciato. La versione 1.3.0-alpha07 contiene questi commit.
Nuove funzionalità
- La nuova API
VideoCapture.Builder# setTargetFrameRate(Range)
consente di acquisire registrazioni video con frequenze fotogrammi diverse da quella predefinita del dispositivo. È possibile eseguire query sulle frequenze fotogrammi disponibili per le registrazioni tramite la nuova APICameraInfo#getSupportedFrameRates()
.
Modifiche alle API
- Le costanti
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
sono state rinominate inALLOWED_RESOLUTIONS_NORMAL
/SLOW
e sono state rinominate la funzionesetHighResolutionEnabledFlag
del builder insetAllowedResolutionMode
. (Iae817) CameraInfo#getSupportedFrameRateRanges()
ora restituisce unSet
anziché unList
per indicare meglio che gli intervalli non sono ordinati. (I02f43).- Aggiungi un listener degli errori a
CameraEffect
per gestire gli errori non recuperabili (Ice471) - Aggiungi il costruttore pubblico in
ResolutionInfo
per una migliore testbilità (If6d1c) - È stata fornita un'API
UseCase.snapToSurfaceRotation(int)
per sostituire l'utilizzo disetTargetRotationDegrees
e ritirare le APIImageAnalysis.setTargetRotationDegrees(int)
,ImageCapture.setTargetRotationDegrees(int)
eVideoCapture.setTargetRotationDegrees(int)
. (Ia9010) - Sono state aggiunte nuove API
Preview#getTargetFrameRate
ePreview.Builder#setTargetFrameRate
per poter impostare e recuperare la frequenza frame target per il caso d'uso in anteprima (If4f22) VideoRecordEvent.Finalize
verrà ora completato con il codice di erroreERROR_RECORDING_GARBAGE_COLLECTED
quando l'oggettoRecording
viene arrestato a causa di una garbage collection. (Iba974)
Correzioni di bug
- È stato risolto il problema
NullPointerException
quando le dimensioni dell'output memorizzate nella cache inStreamConfigurationMapCompat
erano null. (Idf124, b/282025204). - Risolto il problema per cui
Preview.setSurfaceProvider(null)
non metteva in pausa l'anteprima nelle Estensioni (Ia903e) - Risolto il problema per cui
ConcurrentModificationException
viene generato durante l'apertura della fotocamera quandoVideoCapture
è vincolato. (Ic8ac4)
Versione 1.3.0-alpha06
19 aprile 2023
androidx.camera:camera-*:1.3.0-alpha06
viene rilasciato. La versione 1.3.0-alpha06 contiene questi commit.
Nuove funzionalità
- La fotocamera simultanea è una nuova funzionalità introdotta da Android 11 che supporta lo streaming simultaneo di dispositivi con videocamera. Ad esempio, consente a un dispositivo di avere contemporaneamente la fotocamera anteriore e posteriore. CameraX al momento supporta solo due fotocamere simultanee, il che consente di utilizzare due fotocamere contemporaneamente, con un massimo di due {@link UseCase} associate a ciascuna. La risoluzione massima è 720p o 1440p. Per maggiori dettagli, visita il link seguente, vedi FotocameraManager#getConcurrentFotocameraIds()
- Presentazione della nuova API
ResolutionSelector
che copre le seguenti funzionalità:- Le applicazioni possono specificare le proporzioni e le strategie di risoluzione per selezionare la risoluzione migliore per le loro esigenze.
- Tutte le dimensioni e i parametri di formato sono espressi nelle coordinate del sensore del dispositivo della videocamera.
- Le applicazioni possono implementare un filtro di risoluzione personalizzato per organizzare le dimensioni supportate nell'ordine desiderato.
- Le applicazioni possono anche consentire l'acquisizione ad alta risoluzione per ottenere immagini con risoluzione più alta. Tuttavia, tieni presente che utilizzare un'alta risoluzione può rallentare i tempi di acquisizione.
- Sono state aggiunte
VideoCapture
API di mirroring. I video registrati daVideoCapture
non sono sottoposti a mirroring per impostazione predefinita. Tuttavia, per impostazione predefinita, l'anteprima della fotocamera è speculare sulla fotocamera anteriore. Le API di mirroringVideoCapture
consentono di allineare l'anteprima della fotocamera anteriore quando è in uso. Ci sono treMirrorMode
,OFF
,ON
eON_FRONT_ONLY
. Per allinearti all'anteprima della fotocamera, si consiglia di utilizzareON_FRONT_ONLY
, il che significa che il mirroring non è abilitato per la fotocamera posteriore, ma è abilitato per la fotocamera anteriore.
Modifiche alle API
- Nuova API
ResolutionSelector
esposta. Le applicazioni possono specificare strategie di risoluzione e proporzioni con regole di riserva oppure un filtro di risoluzione personalizzato per ottenere i risultati desiderati. Le applicazioni possono specificare un flag per abilitare l'acquisizione ad alta risoluzione. In questo modo CameraX potrà selezionare risoluzioni più elevate quando scatti foto o registri video. Tuttavia, tieni presente che utilizzare un'alta risoluzione può rallentare i tempi di acquisizione. (Ibed95) - Ora è possibile eseguire query sugli intervalli di FPS supportati dall'algoritmo AE tramite
CameraInfo#getSupportedFrameRateRanges()
. (Iaa67f) - Raggruppa i nomi di tutti i metodi di frequenza fotogrammi utilizzando "FrameRate". Correggi l'errore javadoc in
VideoCapture#getTargetFrameRate()
(I83304) - Le API legacy
setTargetAspectRatio
esetTargetResolution
sono state ritirate. Utilizza la nuova APIResolutionSelector
. (I542c3). - Sono state aggiunte API pubbliche per due videocamere simultanee, tra cui:
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
boolean isConcurrentCameraModeOn()
eConcurrentCameraConfig
,SingleCameraConfig
eConcurrentCamera
(Iab1c1)
- Rendi
ImageProcessor.Response#getOutputImage
come non null (Ib9c60) - Sono state aggiunte
VideoCapture
API di mirroring, tra cuiVideoCapture.Builder.setMirrorMode(int)
eVideoCapture.getMirrorMode()
. Le API sono utili per le applicazioni richiedono che la registrazione video sia coerente con il comportamento comune dell'anteprima della fotocamera, ad esempio l'anteprima della fotocamera posteriore non viene speculare, ma l'anteprima della fotocamera anteriore è speculare. (I713b6, b/194634656) - Aggiungi l'API
setTargetFrameRate()
inVideoCapture.Builder
e l'APIgetTargetFramerate()
inVideoCapture
(I109d4) - Imposta
SurfaceOutput
come estensione di Closable e nascondi il costruttore pubblico di SurfaceOutput.Event
. (I60ea8) - È stato aggiunto
Recording.mute
per disattivare o riattivare in modo dinamico l'audio di una registrazione in elaborazione.RecordingStats
conterràAudioStats.AUDIO_STATE_MUTED
quando l'audio della registrazione in elaborazione verrà disattivato esplicitamente. (Ie17fc) - Parametro
#setEffects()
reso diverso da null. Aggiungi un'API#clearEffects()
per cancellare gli effetti. L'app deve chiamare#clearEffects()
per rimuovere gli effetti. (I4b4d9). - Aggiungi un secondo costruttore per
ViewfinderSurfaceRequest.Builder
per utilizzare un generatore per il costruttore di copia (I621a7)
Correzioni di bug
- Risolto il problema per cui le app che richiamano l'API Extensions potrebbero arrestarsi in modo anomalo alla chiusura della fotocamera (Ib27e5)
- Risolto il problema per cui
VideoCapture
non poteva funzionare con la fotocamera anteriore su alcuni dispositivi. Ad esempio, su Samsung Galaxy S23 e Xiaomi 2107113SG. (Ibec7e, b/270656244). - Risolto il problema per cui scattare foto utilizzando File nella cartella pubblica dell'unità di archiviazione esterna non andava sempre a buon fine in Android 10 o versioni successive. Tieni presente che in Android 10, anche per scattare foto utilizzando File nella cartella pubblica dell'unità di archiviazione esterna è necessario impostare
requestLegacyExternalStorage
su true nel tag dell'applicazione. (I11b2c). - Risolto il problema di arresto anomalo di
RejectedExecutionException
inDefaultSurfaceProcessor
. L'arresto anomalo potrebbe verificarsi quandoVideoCapture
viene associato e l'attività viene messa in pausa. (Idb46a, b/273713906).
Versione 1.3.0-alpha05
22 marzo 2023
androidx.camera:camera-*:1.3.0-alpha05
viene rilasciato. La versione 1.3.0-alpha05 contiene questi commit.
Modifiche alle API
- Sono state aggiunte
VideoCapture
API di rotazione, tra cuiVideoCapture.Builder.setTargetRotation(int)
,VideoCapture.setTargetRotation(int)
,VideoCapture.setTargetRotationDegrees(int)
eVideoCapture.getTargetRotation()
. Le API sono utili per le applicazioni che bloccano l'orientamento del dispositivo. Vengono aggiunti ancheImageCapture.setTargetRotationDegrees(int)
eImageAnalysis.setTargetRotationDegrees(int)
. (Id3ffe, b/205242781) - Consenti
VIDEO_CAPTURE
ePREVIEW|VIDEO_CAPTURE
come target degli effetti. Gli effetti che hanno come targetVIDEO_CAPTURE
verranno applicati al caso d'usoVideoCapture
; gli effetti che hanno come targetPREVIEW|VIDEO_CAPTURE
verranno applicati a uno stream condiviso prima della copia nell'anteprima e nello streamVideoCapture
. (Iee6f3).
Correzioni di bug
- Da Fotocamera
1.2.2
: è stato risolto il problema per cui le estensioni CameraX non funzionavano correttamente quando ProGuard è attivato su alcuni dispositivi come Pixel (I90aa2) - Risolto il bug
PreviewView
che se l'app gestisce l'orientamento dello schermo stesso. L'anteprima potrebbe risultare distorta durante la rotazione. Ciò si verifica solo su alcuni dispositivi. Può essere riprodotta su Pixel a4, Pixel 5 e Pixel 6a. (I14340, b/223488673)
Versione 1.3.0-alpha04
22 febbraio 2023
androidx.camera:camera-*:1.3.0-alpha04
viene rilasciato. La versione 1.3.0-alpha04 contiene questi commit.
Nuove funzionalità
Una nuova funzionalità per supportare combinazioni di Surface precedentemente non supportate tramite la condivisione di uno stream con più casi d'uso.
- In precedenza, quando associ "Preview, Video Capture, ImageAnalysis" a livello di hardware della fotocamera FULL e inferiore, o se associ "Preview, Video Capture, Image Capture" a livello di hardware LEGACY, CameraX genera
IllegalArgumentException
. - Il nuovo comportamento prevede che le associazioni funzionino senza generare eccezioni. CameraX utilizza invece OpenGL per copiare uno stream condiviso sia nell'anteprima che in Video Capture.
- Come il costo della copia del buffer, l'app potrebbe registrare un aumento della latenza e del consumo energetico.
Modifiche alle API
- Aggiungi l'API per convertire
ImageProxy
inBitmap
. Il formato diImageProxy
supportato èImageFormat.YUV_420_888
ePixelFormat.RGBA_8888
. Se il formato non è valido, verrà generato il valoreIllegalArgumentException
. (Ic7110) - Aggiungi
CoroutineCameraViewfinder
per supportare la configurazione del mirino utilizzando le funzioni di sospensione in Kotlin. (I657bc) - Aggiungi un nuovo costruttore pubblico per
ViewfinderSurfaceRequest
. Offre la flessibilità necessaria quando l'utente non può fornireCameraCharacteristics
. (Ie6549)
Correzioni di bug
- Risolto l'arresto anomalo delle estensioni che si verificava su alcuni dispositivi Samsung quando metteva in pausa/riprese troppo rapidamente l'app (Iaca26)
Versione 1.3.0-alpha03
25 gennaio 2023
androidx.camera:camera-*:1.3.0-alpha03
viene rilasciato. La versione 1.3.0-alpha03 contiene questi commit.
Modifiche alle API
- È stato aggiunto
CameraInfo.getIntrinsicZoomRatio
per fornire informazioni sull'angolo di visione rispetto alla videocamera predefinita. (Ib300c) - È stato aggiunto
CameraInfo.getLensFacing
per fornire informazioni relative all'obiettivo. È stata aggiuntaCameraSelector#LENS_FACING_EXTERNAL
come funzionalità sperimentale per la selezione delle videocamere esterne. (Icaf3e). - Aggiungi
#setEffect()
aCameraController
per aggiungere effetti all'output della fotocamera. (I1d21f) - Aggiungi il metodo
invalidate()
aSurfaceRequest
. Il provider di Surface può notificare che la piattaforma fornita in precedenza non è più valida. (Idc649) - Aggiungi un'API
ImageProcessor
. Questa interfaccia consente di inserire effetti di post-elaborazione nella pipelineImageCapture
. (I575c6) - È stata aggiunta l'API
Recorder.Builder.setAspectRatio()
che può essere combinata conQualitySelector
per supportare più risoluzioni video. (I8a082) - È stato aggiunto
Recorder.Builder#setTargetVideoEncodingBitRate
per impostare la codifica video targetBitRate
eRecorder#getTargetVideoEncodingBitRate
e ottenere la velocità in bit della codifica video target. (I5984d)
Correzioni di bug
- Correzione di
ImageCapture
non riuscita quando non è presente un'unità flash e la modalità flash è attivata. (I9e8b4, b/263391112). - È stato risolto il problema di danneggiamento dell'immagine JPEG durante la scrittura di dati sulla posizione EXIF su alcuni dispositivi Samsung Android 12. (Ib7086, b/263747161, b/263289024).
- quando imposti la torcia o lo zoom prima che inizi l'inizializzazione della videocamera, ad esempio chiamando il numero
CameraController#enableTorch
, l'azione in attesa viene memorizzata nella cache e inviata quando l'inizializzazione avviene. (I11e92, b/264157663).
Versione 1.3.0-alpha02
7 dicembre 2022
androidx.camera:camera-*:1.3.0-alpha02
viene rilasciato. La versione 1.3.0-alpha02 contiene questi commit.
Modifiche alle API
- aggiungi una nuova API per applicare l'effetto di post-elaborazione all'output in anteprima. (Ic17d5)
- Rinominato
OutputOptions.getDurationLimit
inOutputOptions.getDurationLimitMillis
eOutputOptions.setDurationLimit
inOutputOptions.setDurationLimitMillis
. (I91f0c). - Aggiungi
AudioConfig
classe per gestire l'impostazione relativa all'audio durante la registrazione di video. L'annotazione@RequiresPermission
viene spostata dalle funzionistartRecording
aAudioConfig
per evitare richieste di autorizzazione non necessarie nei casi in cui l'audio non sia necessario. (I28755) - Rimuovi le classi Metadata,
OnVideoSavedCallback
,OutputFileOptions
eOutputFileResults
che non vengono più utilizzate dopo l'applicazione della nuova API Video Capture. (I38cd8) - Applica la nuova API di acquisizione video. I metodi
getVideoCaptureTargetSize
esetVideoCaptureTargetSize
vengono sostituiti dai metodigetVideoCaptureTargetQuality
esetVideoCaptureTargetQuality
di conseguenza, poichésetTargetResolution
non è più supportato. (I2a1d5).
Correzioni di bug
- Rimuovi l'API
core.VideoCapture
deprecata. (I531e0). - Risolto il problema per cui il callback
onError
non viene chiamato quando si scattano foto senza l'autorizzazione per lo spazio di archiviazione (I936db, b/244807669) - Migliora la qualità e l'affidabilità delle estensioni della videocamera. Le estensioni della fotocamera sono disattivate sui dispositivi Motorola che utilizzano le estensioni della fotocamera v1.1.0 e versioni precedenti a causa di problemi con il supporto di Bokeh, l'acquisizione delle immagini e il mancato ripristino dell'anteprima. (Id3ce3)
- È stato risolto l'arresto anomalo nativo durante il quale il ritaglio dei video tramite
ViewPort
era attivo sui dispositivi precedenti. (I16b8a, b/251357665).
Versione 1.3.0-alpha01
9 novembre 2022
androidx.camera:camera-*:1.3.0-alpha01
viene rilasciato. La versione 1.3.0-alpha01 contiene questi commit.
Nuove funzionalità
Camera-viewfinder
è stato pubblicato ufficialmente.Camera-viewfinder
fornisce un widget mirino di base che può visualizzare il feed della videocamera per Camera2. Consulta il codice campione per un esempio.
Modifiche alle API
OutputOptions.setDurationLimit
aggiunto per consentire l'impostazione del limite di durata del video. La registrazione verrà finalizzata automaticamente quando supererà il limite di durata specificato. (I902a0)- Aggiungi lo stato di errore dell'audio della registrazione video
AudioStats.AUDIO_STATE_SOURCE_ERROR
. Inviata quando la configurazione della sorgente audio non va a buon fine o si verifica un errore. (I37410)
Correzioni di bug
- Aggiungi un'eccezione per consentire ad alcuni dispositivi problematici di ritentare l'acquisizione una volta quando si verificano errori di acquisizione. (Id4795)
- Risolvi
PreviewView
problema della schermata nera dell'implementazione diSurfaceView
inViewPager2
. Nell'ambito della correzione,PreviewView
riutilizzerà la suaSurfaceView
se la risoluzione richiesta non viene modificata. (Ib3f27). - Supporta il ritaglio dei video (funzionalità WYSIWYG) quando viene utilizzata l'API
ViewPort
oCameraController
. (Ifbba8, b/201085351). - Risolto il problema di registrazione del video acquisito con la fotocamera anteriore su Huawei P40 lite. (I87c57, b/250807400)
Versione 1.2
Versione 1.2.3
24 maggio 2023
androidx.camera:camera-*:1.2.3
viene rilasciato. La versione 1.2.3 contiene questi commit.
Correzioni di bug
- Risolto il problema per cui
VideoCapture
non poteva funzionare con la fotocamera anteriore su alcuni dispositivi. Ad esempio, su Samsung Galaxy S23 e Xiaomi 2107113SG. (Ibec7e, b/270656244).
Versione 1.2.2
22 marzo 2023
androidx.camera:camera-*:1.2.2
viene rilasciato. La versione 1.2.2 contiene questi commit.
Correzioni di bug
- Risolto il problema per cui le estensioni CameraX non funzionavano correttamente quando ProGuard era attivato su alcuni dispositivi come Pixel (I90aa2)
Versione 1.2.1
25 gennaio 2023
androidx.camera:camera-*:1.2.1
viene rilasciato. La versione 1.2.1 contiene questi commit.
Correzioni di bug
- Risolvi il problema di danneggiamento dell'immagine JPEG durante la scrittura di dati sulla posizione EXIF su alcuni dispositivi Samsung Android 12. (b/263289024)
Versione 1.2.0
7 dicembre 2022
androidx.camera:camera-*:1.2.0
viene rilasciato. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
- Nuova libreria camera-mlkit-vision. Integra facilmente CameraX con molte funzionalità di MLKit, tra cui la scansione dei codici a barre, il rilevamento dei volti, il rilevamento del testo e così via. È stata aggiunta la
MLKitAnalyzer
come nuova API. - Nuova API sperimentale Zero-Shutter Lag. Ottimizza la pipeline di acquisizione per avere una latenza migliore mantenendo una buona qualità delle immagini. Quando la modalità di acquisizione è impostata su
CAPTURE_MODE_ZERO_SHUTTER_LAG
, la latenza tra il pulsante di scatto e l'immagine scattata dovrebbe essere ridotta a icona rispetto ad altre modalità di acquisizione. Sui dispositivi che non supportanoZERO_SHUTTER_LAG
, verrà utilizzato il metodo di riservaCAPTURE_MODE_MINIMIZE_LATENCY
. - Ritira
android.camera.core.VideoCapture
. setStreamUseCase()
aggiunta come APICamera2Interop
pubblica.- Aggiunto requisito relativo ai livelli API per
setOutputImageRotationEnabled
. - Rinominato
ImageAnalysis.Analyzer#getTargetResolutionOverride()
inImageAnalysis.Analyzer#getDefaultTargetResolution()
. - È stata aggiunta un'API per impostare i metadati sulla posizione per il video salvato.
- È stata corretta la bassa frequenza fotogrammi quando si utilizzano casi d'uso di
VideoCapture
e Anteprima con proporzioni 16:9 - Risolto il problema dell'anteprima in nero che si verificava quando l'estensione BOKEH è attivata su alcuni dispositivi Samsung e l'utente cambiava le fotocamere.
- Risolto il problema allungato
Preview/VideoCapture
di Samsung J7 Prime (SM-G610M) e J7 (SM-J710MN) sui dispositivi con livello API 27. - È stata disattivata la soluzione alternativa per invertire l'area AF orizzontalmente delle fotocamere anteriori su Samsung Android T poiché il problema è stato risolto
Versione 1.2.0-rc01
24 ottobre 2022
androidx.camera:camera-*:1.2.0-rc01
viene rilasciato. La versione 1.2.0-rc01 contiene questi commit.
Modifiche alle API
- Aggiungi l'API
setStreamUseCase
perOutputConfiguration
. L'utente può specificare il caso d'uso dello stream per la sessione di streaming, sovrascrivendo le logiche interne di CameraX per scegliere il caso d'uso dello stream al fine di ottimizzare in base alle proprie esigenze. (Ib1a95).
Correzioni di bug
- Risolto il problema allungato
Preview/VideoCapture
di Samsung J7 Prime (SM-G610M) e J7 (SM-J710MN) sui dispositivi con livello API 27. La risoluzione 1920 x 1080 causa un allungamento delle immaginiPreview/VideoCapture
. È stata aggiunta una soluzione alternativa per non selezionare la risoluzione 1920 x 1080 per l'anteprima oVideoCapture
per evitare il problema di ampliamento dell'immagine. (I0e04e). - È stata corretta la bassa frequenza fotogrammi quando si utilizzano casi d'uso di
VideoCapture
e Anteprima con proporzioni 16:9 su alcuni dispositivi Huawei. (If8c88, b/223643510). - È stato risolto l'errore di apertura della fotocamera quando il criterio
SurfaceProvider
dell'anteprima non era impostato. Come parte della correzione, l'anteprima senzaSurfaceProvider
impostato non verrà configurata nella sessione di acquisizione con la fotocamera. (I99681)
Versione 1.2.0-beta02
21 settembre 2022
androidx.camera:camera-*:1.2.0-beta02
viene rilasciato. La versione 1.2.0-beta02 contiene questi commit.
Modifiche alle API
- Aggiungi il requisito relativo ai livelli API per
setOutputImageRotationEnabled
(I26e3e, b/240993561)
Correzioni di bug
- Poiché il problema è stato risolto, è stata disattivata la soluzione alternativa per invertire l'area AF orizzontalmente delle fotocamere anteriori su Samsung Android T. (I05f69).
- Risolto il problema dell'anteprima in nero che si verificava quando l'estensione
BOKEH
è attivata su alcuni dispositivi Samsung e l'utente cambiava le fotocamere. (If6168)
Versione 1.2.0-beta01
24 agosto 2022
androidx.camera:camera-*:1.2.0-beta01
viene rilasciato. La versione 1.2.0-beta01 contiene questi commit.
Nuove funzionalità
- Nuova raccolta
camera-mlkit-vision
. Integra facilmente CameraX con molte funzionalità di MLKit, tra cui la scansione dei codici a barre, il rilevamento dei volti, il rilevamento del testo e così via. Per un codice campione, fai clic qui. - Nuova API Zero-Shutter Lag sperimentale. Ottimizza la pipeline di acquisizione per avere una latenza migliore mantenendo una buona qualità delle immagini. Quando la modalità di acquisizione è impostata su CAPTURE_MODE_ZERO_SHUTTER_LAG, la latenza tra il pulsante di scatto e l'immagine scattata dovrebbe essere ridotta al minimo rispetto ad altre modalità di acquisizione. Sui dispositivi che non supportano ZERO_SHUTTER_LAG, verrà utilizzato il comando CAPTURE_MODE_MINIMIZE_LATENCY.
ImageAnalysis.Analyzer
eMLKitAnalyzer
realizzate come API ufficiali.- API esposta per l'impostazione dei metadati sulla posizione per il video salvato.
- Rinomina
ImageAnalysis.Analyzer#getTargetResolutionOverride()
inImageAnalysis.Analyzer#getDefaultTargetResolution()
.
Correzioni di bug
- Risolto il problema di acquisizione dell'immagine k61v1_basic_ref delle Alpi. Le immagini JPEG acquisite da HAL presentano metadati EXIF errati. I metadati EXIF non hanno il tag 0xffd9 o 0xffda per consentire a
ExifInterface
di analizzare correttamente gli attributi. Acquisire le immagini in formato YUV e quindi comprimerle in immagini di output JPEG per risolvere il problema. (I45abb)
Versione 1.2.0-alpha04
27 luglio 2022
androidx.camera:camera-*:1.2.0-alpha04
viene rilasciato. La versione 1.2.0-alpha04 contiene questi commit.
Modifiche alle API
- Rinomina
ImageAnalysis.Analyzer#getTargetResolutionOverride()
inImageAnalysis.Analyzer#getDefaultTargetResolution()
. Anche il comportamento viene modificato in modo che il valore restituito da questo metodo possa essere sostituito dal valoreImageAnalysis#setTargetResolution()
. (If1d36) - API esposta per l'impostazione dei metadati sulla posizione per il video salvato. Un oggetto
android.location.Location
può essere impostato tramite la nuova APIandroidx.camera.video.OutputOptions.Builder.setLocation(Location)
. (I313a0, b/204197544)
Correzioni di bug
- Risolvi il problema per scattare foto con lo scollegamento dell'anteprima (Ie70b6, b/235119898)
- È stato risolto l'arresto anomalo in
Recorder
durante il tentativo di registrazione mentre la sorgente audio non era disponibile. (I9f652).
Versione 1.2.0-alpha03
29 giugno 2022
androidx.camera:camera-*:1.2.0-alpha03
viene rilasciato. La versione 1.2.0-alpha03 contiene questi commit.
Modifiche alle API
- Rimossa l'annotazione sperimentale per
ImageAnalysis.Analyzer
eMLKitAnalyzer
. (I0ff22)
Correzioni di bug
- Aggiunto il timeout predefinito di messa a fuoco automatica di 5000 ms che completerà la parte AF con
isFocusSuccessful
falso seFocusMeteringAction
non viene annullato e la parte AF non è convergente nella durata. (Ibc2e3). - Risolvi il problema per scattare foto con l'anteprima svincola (I1d3a2, b/235119898)
- Abilita l'implementazione di extender avanzata e aggiorna la versione dell'interfaccia delle estensioni del supporto di CameraX alla versione 1.2 (I92256)
Versione 1.2.0-alpha02
1° giugno 2022
androidx.camera:camera-*:1.2.0-alpha02
viene rilasciato. La versione 1.2.0-alpha02 contiene questi commit.
Nuove funzionalità
- Esponi l'API Zero-Shutter Lag di CameraX come sperimentale.
Modifiche alle API
- Aggiungi una nuova modalità di acquisizione
CAPTURE_MODE_ZERO_SHUTTER_LAG
inImageCapture
e aggiungiisZslSupported
inCameraInfo
per eseguire query sulla funzionalità del dispositivo. La modalitàCAPTURE_MODE_ZERO_SHUTTER_LAG
mira a fornire la latenza minima per l'acquisizione istantanea. Viene implementato in base a un buffer ad anello, che memorizza nella cache i risultati intermedi dell'acquisizione per una successiva rielaborazione quando l'utente preme i pulsanti per scattare le foto. Se {@link Video Capture} è associato o la modalità flash non è disattivata oppure l'estensione OEM è attiva, questa modalità verrà disattivata automaticamente. (I9ae74). - Aggiungi metodo
ImageAnalysis.getBackgroundExecutor()
(Icc945)
Correzioni di bug
- Il metodo takePicture di
ImageCapture
corretto disattiva la torcia sui dispositivi segnalati. (Ib5eb5, b/228272227). - Risolto il bug per cui
AssertionError
non viene gestito quando si ottiene la caratteristicaCONTROL_ZOOM_RATIO_RANGE
(/Ia248a, b/231701345).
Versione 1.2.0-alpha01
18 maggio 2022
androidx.camera:camera-*:1.2.0-alpha01
viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
- Lancio della nuova raccolta camera-mlkit-vision
Correzioni di bug
- La correzione
QualitySelector
non riesce a registrare un video UHD quando viene attivata una strategia di riserva. Il problema si verifica quandoVideoCapture
viene associato aImageCapture
e Anteprima su una fotocamera con livello hardware COMPLETO o superiore. Una strategia di riserva diQualitySelector
fa sì cheVideoCapture
riceva erroneamente una risoluzione FHD. La risoluzione UHD è effettivamente supportata per questa combinazione di casi d'uso e deve essere adottata. (I0e788, b/230651237) - Risolto il problema di
NullPointerException
il giornoImageCapture.takePicture()
. (I92366, b/230454568, b/229766155) - Correggi il comportamento della pausa asincrona di
androidx.camera.video.Recorder
(Ia8ce8)
Fotocamera-Fotocamera2, Fotocamera-Corea, Ciclo di vita fotocamera e Fotocamera-Video Versione 1.1.0
Versione 1.1.0
29 giugno 2022
androidx.camera:camera-*:1.1.0
viene rilasciato. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Librerie Landed View, Extension e Video Capture come prima versione RC. A partire dalla versione 1.1.0-beta01, tutte le librerie di CameraX allineeranno lo stesso numero di versione. Questo aiuterà gli sviluppatori a tenere traccia delle versioni molto più facilmente e a ridurre la complessità delle matrici di compatibilità delle versioni di grandi dimensioni.
- Ha introdotto nuove API e funzionalità pubbliche che includono:
- Aggiungi la raccolta video ufficiale della videocamera per supportare casi d'uso relativi all'acquisizione video.
- Conversione e rotazione da YUV a RGB (
ImageAnalysis.Builder.setOutputImageRotationEnabled
esetOutputImageFormat
) - Supporta la modalità multi-finestra consentendo alle applicazioni CameraX di riprendere la fotocamera quando la fotocamera viene interrotta da un'altra app e la messa a fuoco è nuovamente attiva.
- Assicura che CameraX funzioni correttamente nei dispositivi pieghevoli risolvendo alcuni problemi relativi all'anteprima.
- È stata aggiunta un'API
CameraState
che sarà esposta tramite CameraInfo. - È stata aggiunta un'API
ProcessCameraProvider.getAvailableCameraInfos()
per recuperare direttamente le informazioni sulle fotocamere disponibili - Formato JPEG di output per
ImageCapture#OnImageCapturedCallback
quando le estensioni sono attivate. - È stata aggiunta un'API
isFocusMeteringSupported
inCameraInfo
che consente alle applicazioni di verificare se il valoreFocusMeteringAction
specificato è supportato o meno sulla fotocamera corrente. - API
getResolutionInfo
esposta per fornire informazioni sulla risoluzione per Anteprima,ImageCapture
eImageAnalysis
. - È stata aggiunta una nuova API
ImageCapture.Builder#setJpegQuality
per consentire la modifica della qualità della compressione delle immagini JPEG di output durante lo scatto di foto. - È stato aggiunto
CameraSelector#filter
all'API pubblica per filtrare un elenco diCameraInfos
in base a unCameraSelector
. - È stato aggiunto
Camera2CameraControl.clearCaptureRequestOptions
per cancellare le opzioni di richiesta di acquisizione esistenti. - È stata aggiunta un'API sperimentale per l'utilizzo di
CameraController
con librerie di elaborazione delle immagini esterne, ad esempio MLKit - È stata aggiunta l'API sperimentale
CameraInfo#getCameraSelector()
, che restituisce unCameraSelector
univoco per la relativa fotocamera - Promozione di diverse API sperimentali in API pubbliche formali
- L'annotazione
@Experimental
è stata sostituita con@RequiresOptIn
nelle API sperimentali. Per chiamare le API sperimentali, utilizza androidx.annotation.OptIn anziché la versione deprecata androidx.annotation.experimental.UseSperimenta. - Sono state promosse le seguenti API sperimentali alle API ufficiali:
CameraXConfig.Builder#setAvailableCamerasLimiter()
,CameraXConfig.Builder#setMinimumLoggingLevel()
,CameraXconfig.Builder#setSchedulerHandler()
,CameraXConfig#getAvailableCamerasLimiter()
,CameraXConfig#getMinimumLoggingLevel()
,CameraXConfig#getCameraExecutor()
,CameraXConfig#getSchedulerHandler()
, @ExperimentalCameraFilter
API- API sperimentali di compensazione dell'esposizione.
- Promozione dell'API sperimentale
UseCaseGroup
per core della fotocamera, ciclo di vita della videocamera e video della videocamera. Sono stati aggiuntiViewPort#getLayoutDirection
,ViewPort.Builder#setLayoutDirection
eViewPort.Builder#setScaleType
per personalizzare l'area visibile. - È stato promosso il
ExperimentalUseCaseGroupLifecycle
ad API pubbliche formali. - Modifiche alle API esistenti
Renamed MediaStoreOutputOptions.getCollection
perMediaStoreOutputOptions.getCollectionUri
.ActiveRecording
è stato rinominato in "Registrazione" per ridurre il livello di dettaglio.- API Creator
QualitySelector
modificata in API basata su elenchi
Correzioni di bug
- Risolto il problema
YuvToJpegProcessor
EOFException
quando la modalità estensione è attivata e la modalitàImageCapture#CAPTURE_MODE_MAX_QUALITY
è impostata. - La configurazione del codec corretta non è riuscita a causa della chiusura della registrazione video
- Corrette le proporzioni di anteprima/video allungato durante la registrazione in FHD
- Risolto il problema di audio/video non sincronizzato dopo la pausa e la ripresa su alcuni dispositivi
- È stato risolto il problema per cui il flash si attivava durante il tocco per mettere a fuoco (
startFocusAndMetering
) quando la modalità flash è automatica o sempre attivo in un ambiente poco illuminato.
Versione 1.1.0-rc02
1° giugno 2022
androidx.camera:camera-*:1.1.0-rc02
viene rilasciato. La versione 1.1.0-rc02 contiene questi commit.
Correzioni di bug
- Risolto il problema di
NullPointerException
il giornoImageCapture.takePicture()
. (I92366, b/230454568, b/229766155) - È stato corretto un bug per cui
AssertionError
non veniva gestito quando si ottiene la caratteristicaCONTROL_ZOOM_RATIO_RANGE
. (Ia248a, b/231701345).
Versione 1.1.0-rc01
11 maggio 2022
androidx.camera:camera-*:1.1.0-rc01
viene rilasciato. La versione 1.1.0-rc01 contiene questi commit.
Nuove funzionalità
- Rilascia la prima versione RC per estensione video videocamera, visualizzazione videocamera e videocamera
Correzioni di bug
- Risolto il problema per cui il codec video non veniva rilasciato quando
VideoCapture<Recorder>
non era associato, causando gli utilizzi successivi diVideoCapture<Recorder>
nella registrazione conMediaCodec.CodecException
, in particolare sui dispositivi API 21-22. (Ie7f68) - Le immagini acquisite di
CameraExtensionsActivity
non vengono eliminate inImageCaptureTest
Versione 1.1.0-beta03
6 aprile 2022
androidx.camera:camera-*:1.1.0-beta03
viene rilasciato. La versione 1.1.0-beta03 contiene questi commit.
Modifiche alle API
- Modificato dal costruttore di
CaptureRequestOptions
limitato. (I261b6). - È stata aggiunta un'API sperimentale per l'utilizzo di
CameraController
con librerie di elaborazione delle immagini esterne, ad esempio MLKit (I4ea71)
Correzioni di bug
- Risolto il problema per cui l'anteprima diventa orizzontale in
PreviewView
quando l'attività non viene riavviata dopo la rotazione dei dispositivi in modalità multi-finestra. (I1ea36, b/223488673). - Risolvi un problema relativo alla modalità multi-finestra per cui, quando lo stato attivo torna sull'app, la fotocamera non riprende se (1) un'altra app ad alta priorità apre un'altra fotocamera (2) il dispositivo è un dispositivo Samsung Android 12. (I7e9f2).
- Soluzione alternativa per dispositivi che si arrestano in modo anomalo durante il controllo della disponibilità di Flash. Su questi dispositivi non sarà disponibile la torcia. (If26a3, b/216667482).
- Risolvi
AbstractMethodError
problema riscontrato quando le app utilizzano le estensioni e attiva ProGuard. (I7cbaf, b/222726805) - Forza la disattivazione della modalità di estensione bokeh sul dispositivo Motorola Razr 5G che causerà un problema con la schermata di anteprima nera. (I35d49).
- È stato risolto il problema di audio/video non sincronizzato dopo la pausa e la ripresa su alcuni dispositivi Samsung pre-API 29. (I64622, b/202798609, b/202798572)
- Risolto il problema di audio/video non sincronizzato dopo la pausa e la ripresa su Sony G3125. (I2a1a5, b/202799148).
- Risolto il problema di arresto anomalo che causava il rilevamento di
InvalidConfigException
da parte del Registratore. Tuttavia, questa correzione impedisce solo l'arresto anomalo dell'app, ma non risolve la causa del problemaInvalidConfigException
. Se non è ancora possibile configurareRecorder
, le applicazioni riceveranno il callback di errore quando inizierà la registrazione. (I89c29, b/213617227)
Contributi esterni
- aggiornato :compose:ui:ui-test api (updateApi) a causa della migrazione di test-coroutines-lib (I3366d)
Versione 1.1.0-beta02
23 febbraio 2022
androidx.camera:camera-*:1.1.0-beta02
viene rilasciato. La versione 1.1.0-beta02 contiene questi commit.
Modifiche alle API
- Aggiungi la possibilità di specificare l'ID fisico della videocamera tramite Camera2Interop. (I5aed8)
Correzioni di bug
- Risolto il problema dell'anteprima allungata su Oppo Find N (I7d004)
- Risolto il problema di Galaxy J7 Prime che causava la distorsione dell'anteprima. (I4c500)
- Utilizza una velocità in bit compatibile per trovare il codificatore video. (d969052)
Versione 1.1.0-beta01
26 gennaio 2022
androidx.camera:camera-*:1.1.0-beta01
viene rilasciato. La versione 1.1.0-beta01 contiene questi commit.
Nuove funzionalità
- A partire dalla versione 1.1.0-beta01, tutte le librerie di CameraX allineeranno lo stesso numero di versione. Questo aiuterà gli sviluppatori a tenere traccia delle versioni molto più facilmente e a ridurre la complessità della matrice di compatibilità delle versioni di grandi dimensioni.
Modifiche alle API
- È stato aggiunto
Camera2CameraControl.clearCaptureRequestOptions
per cancellare le opzioni di richiesta di acquisizione esistenti. (Ifa07d).
Correzioni di bug
- È stato risolto l'arresto anomalo durante la registrazione del video su alcuni dispositivi con sistema operativo pre-Android(API 26). (I88fdf, b/212328261).
- Risolto il problema errato della regione AF quando si utilizzava
cameraControl#startFocusAndMetering()
sulla fotocamera anteriore con obiettivo dei dispositivi Samsung (Ifbf59, b/210548792) - Usa la torcia come flash su Pixel 3a/Pixel 3a XL per migliorare la velocità e la qualità dell'immagine acquisita al buio (Ib12b6, b/211474332)
- Consente di attivare le applicazioni per riprendere la fotocamera quando la videocamera viene interrotta da un'altra applicazione con priorità più alta in modalità multi-finestra e lo stato attivo torna sull'applicazione. Tieni presente che potrebbe verificarsi una latenza(da 1 a 10 secondi o più) tra le modifiche della messa a fuoco e la riapertura della fotocamera a causa di un problema relativo alla struttura. (I4d092)
Versione 1.1.0-alpha12
15 dicembre 2021
androidx.camera:camera-*:1.1.0-alpha12
viene rilasciato. La versione 1.1.0-alpha12 contiene questi commit.
Modifiche alle API
- Sono state rimosse le annotazioni
@RequiresApi(21)
non necessarie dalle classi/interfacce interne. (I8e286, b/204917951) - Le costanti di qualità e di strategia di fallback di
QualitySelector
sono state modificate per essere rappresentate da oggetti di classe. Ad esempio,QualitySelector.QUALITY_HD
viene sostituito conQuality.HD
eQualitySelector.FALLBACK_STRATEGY_LOWER
con l'istanza restituita daFallbackStrategy.lowerQualityOrHigherThan(Quality)
. L'API utilizzata per creareQualitySelector
è stata modificata in un'API basata su elenchi. La nuova APIQualitySelector.fromOrderedList(List<Quality>)
farà riferimento all'ordine dell'elenco della qualità dell'input anziché all'ordine creato daQualitySelector.Procedure
.QualitySelector.Procedure
corso è stato rimosso. (I43343) PendingRecording.withEventListener()
è stato rimosso e il listener di eventi deve essere ora trasmesso aPendingRecording.start()
. Questo requisito relativo al listener di eventi ha lo scopo di incoraggiare la gestione degli errori asincroni segnalati nell'eventoVideoRecordEvent.Finalize
. (I1e71d)ActiveRecording
è stato rinominato inRecording
per ridurre il livello di dettaglio. (I77ceb)
Correzioni di bug
- Risolto il problema per cui le foto scattate in modalità
FLASH_AUTO
erano sottoesposte in condizioni di oscurità su Pixel 3a e Pixel 3a XL (I13f19, b/205373142) - Usa sempre le dimensioni di visualizzazione più recenti per determinare l'anteprima
Resolution
. (I4a694). - Videocamere filtrate che non hanno
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
. Le videocamere conREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
hanno l'insieme minimo di funzionalità supportate da ogni dispositivo. La videocamera senzaREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
potrebbe essere una videocamera che supporta funzionalità speciali e non supporta gli output a colori standard.CameraX
non può supportare i casi d'uso diPreview
,ImageCapture
,ImageAnalysis
oVideoCapture
per queste videocamere. Di conseguenza, queste videocamere devono essere filtrate per evitare un uso non corretto. (Ib8cda) CameraSelector#filter
non genera piùIllegalArgumentException
quando il set di risultati è vuoto. (I27804)- Ora vengono utilizzate euristiche più intelligenti per selezionare le impostazioni del codificatore in base ai profili specificati dall'OEM. (Iaeef0)
- L'anteprima fissa avrà linee di colore interlacciate dopo l'avvio della registrazione video in UHD su Pixel1. (I833c6, b/205340278)
Versione 1.1.0-alpha11
17 novembre 2021
androidx.camera:camera-*:1.1.0-alpha11
viene rilasciato. La versione 1.1.0-alpha11 contiene questi commit.
Modifiche alle API
- È stato aggiunto CameraSelector#filter all'API pubblica per filtrare un elenco di CameraInfos in base a CameraSelector. (I105d0)
Aggiungi l'API setOutputImageRotazioneEnabled per la configurazione di ImageAnalysis. L'utente può attivare la rotazione per il buffer dell'immagine YUV/RGB. Il grado di rotazione è una rotazione relativa calcolata in base alla rotazione del sensore e alla rotazione target per mantenere l'immagine in primo piano.
Aggiungi l'API setOutputImageRotazioneEnabled per la configurazione di ImageAnalysis. L'utente può attivare la rotazione per il buffer dell'immagine YUV/RGB. Il grado di rotazione è una rotazione relativa calcolata in base alla rotazione del sensore e alla rotazione target per mantenere l'immagine in primo piano.
Aggiungi l'API
getSensorToBufferTransformMatrix
in ImageInfo. La matrice restituita è una mappatura dalle coordinate del sensore alle coordinate del buffer, ovvero dal valore diCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE
a(0, 0, image.getWidth, image.getHeight)
. La matrice può essere utilizzata per mappare le coordinate da un {UseCase} a un altro. Ad esempio, mappare le coordinate del volto rilevato con l'analisi ImageAnalysis all'anteprima. (I9ff1e).È stata aggiunta una nuova API Image Capture.Builder#setJpegQualità per consentire la modifica della qualità di compressione delle immagini JPEG di output durante lo scatto delle foto. (I8dcf4)
Rinominato MediaStoreOutputOptions.getCollection in MediaStoreOutputOptions.getCollectionUri. (I16639)
Correzioni di bug
- È stato risolto il problema dell'attivazione del flash durante il tocco per mettere a fuoco (startFocusAndMetering) quando la modalità flash è automatica o sempre attivo in ambienti poco illuminati. (Id4c11)
- Opzione HDR disattivata su Pixel 2 XL / Pixel 3 XL in modalità MINIMIZE_LATENCY per ridurre la latenza. (Ib6270, b/203505523)
Contributi esterni
Versione 1.1.0-alpha10
13 ottobre 2021
androidx.camera:camera-*:1.1.0-alpha10
viene rilasciato. La versione 1.1.0-alpha10 contiene questi commit.
Nuove funzionalità
androidx.camera:camera-video:1.1.0-alpha10
pubblicata ufficialmente come prima versione alpha di Video. Nelle versioni successive verranno risolti diversi problemi noti.
Modifiche alle API
- È stata aggiunta l'annotazione
@RequiresApi(21)
a tutte le classi di CameraX e abbiamo eliminato minSdkVersion da AndroidManifest.xml. Ciò consentirà di integrare facilmente il core della fotocamera nelle applicazioni che hanno un valore minSdkVersion inferiore a 21, ma che desiderano utilizzare in modo condizionale i percorsi di codice che si basano sull'API 21 e versioni successive. Per qualsiasi applicazione con minSdkVersion 21 o successive, questa modifica non richiede alcuna azione. (Ie7f2e, b/200599470).
Correzioni di bug
- Genera un'eccezione InitializationException per consentire all'app di gestire agevolmente l'AssertionError che si è verificata durante la creazione di CameraCharacteristics. (Ibec79)
Versione 1.1.0-alpha09
29 settembre 2021
androidx.camera:camera-camera2:1.1.0-alpha09
, androidx.camera:camera-core:1.1.0-alpha09
e androidx.camera:camera-lifecycle:1.1.0-alpha09
vengono rilasciati. La versione 1.1.0-alpha09 contiene questi commit.
Modifiche alle API
- L'annotazione sperimentaleUseCaseGroup viene rimossa ora che le API non sono più sperimentali. (I01ef5)
Correzioni di bug
- Risolvi il problema per cui le foto scattate vengono sfocate
in modalità
MAXIMIZE_QUALITY
. (I173a9, b/193823892) - Risolto un problema di Samsung Galaxy J5 che causava il blocco della fotocamera dopo aver scattato foto con il flash attivo o automatico in ambiente buio (I3aab9)
- Quando è necessario eseguire il ritaglio per Image Capture, comprimendo l'immagine ritagliata di output con il livello di qualità JPEG specificato in base alla modalità di acquisizione impostata. Se la modalità di acquisizione è
CAPTURE_MODE_MINIMIZE_LATENCY
, la qualità di compressione JPEG sarà 95. Se la modalità di acquisizione èCAPTURE_MODE_MAXIMIZE_QUALITY
, la qualità di compressione JPEG sarà 100. (Ieb37c, b/142856426).
Versione 1.1.0-alpha08
18 agosto 2021
androidx.camera:camera-camera2:1.1.0-alpha08
, androidx.camera:camera-core:1.1.0-alpha08
e androidx.camera:camera-lifecycle:1.1.0-alpha08
vengono rilasciati. La versione 1.1.0-alpha08 contiene questi commit.
Nuove funzionalità
- Aggiungi l'API setOutputImageFormat per la configurazione dell'analisi delle immagini. L'utente può selezionare ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 o ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888. Per impostazione predefinita, verrà selezionato ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888. (I7902d)
Modifiche alle API
- L'annotazione sperimentaleUseCaseGroupLifecycle viene rimossa ora che le API non sono più sperimentali. (I17b85).
Correzioni di bug
- La schermata di anteprima corretta è troppo luminosa su Huawei P20 Lite. Questo problema si verifica solo quando determinate risoluzioni di anteprima speciali vengono utilizzate insieme a un valore di zoom elevato di grandi dimensioni. (Idefce, b/192129158)
- Risolto il problema per cui il flash non funzionava su alcuni dispositivi quando si impostava la modalità flash su FLASH_MODE_ON poco dopo aver scattato una foto. (Ieb49b).
- Risolto il problema per cui l'anteprima si interrompeva per un po' di tempo quando si scattano foto se sono associate Video Capture, Image Capture e un'anteprima. (I56197, b/193864120)
- Consente all'analisi delle immagini di selezionare una risoluzione superiore a 1080p. Un dispositivo di livello LIMITATO sopra indicato può supportare una risoluzione delle dimensioni di un RECORD per l'analisi delle immagini quando è associato ad Anteprima e Acquisizione di immagini. Il compromesso è che la risoluzione selezionata per l'acquisizione di immagini dovrà essere una risoluzione delle dimensioni di un RECORD. Per selezionare correttamente una risoluzione delle dimensioni di RECORD per ImageAnalysis, è necessario impostare una risoluzione target per le dimensioni di un RECORD sia su Image vicino che su ImageAnalysis. Ciò indica che l'applicazione comprende chiaramente il compromesso e preferisce che l'analisi di ImageAnalysisis abbia una risoluzione più grande rispetto all'elemento Image Capture per ottenere una risoluzione MASSIMA. Per le definizioni di RECORD, delle dimensioni Massima e altri dettagli, visita la pagina https://developer.android.com/reference/android/hardware/camera2/FotocameraDevice#regular-capture. Le dimensioni del RECORD si riferiscono alla risoluzione di registrazione massima supportata dal dispositivo della fotocamera, come determinata da CamcorderProfile. La dimensione MASSIMA si riferisce alla risoluzione di uscita massima del dispositivo della videocamera per quel formato o target da StreamConfigurationMap.getOutputSizes(int). (I1ee97, b/192911449)
- Aggiungi le informazioni EXIF all'immagine acquisita. (I01ff0, b/193342619).
- In Image Capture, restituisci l'URI dell'immagine salvata se il percorso di salvataggio è File. (Ib5b49, b/149241379).
- Risolto il problema per cui le immagini acquisite con il flash erano scure su molti dispositivi. (I4e510).
Versione 1.1.0-alpha07
21 luglio 2021
androidx.camera:camera-camera2:1.1.0-alpha07
, androidx.camera:camera-core:1.1.0-alpha07
e androidx.camera:camera-lifecycle:1.1.0-alpha07
vengono rilasciati. La versione 1.1.0-alpha07 contiene questi commit.
Correzioni di bug
- Risolto il problema del Samsung Galaxy Note 5 per cui la fotocamera si bloccava dopo aver scattato foto con il flash attivo o automatico in un ambiente buio (If6871)
- Risolto il problema EOFException di
YuvToJpegProcessor
quando la modalità estensione è attivata e la modalitàImageCapture#CAPTURE_MODE_MAX_QUALITY
è impostata. (I538bd, b/192017012).
Versione 1.1.0-alpha06
30 giugno 2021
androidx.camera:camera-camera2:1.1.0-alpha06
, androidx.camera:camera-core:1.1.0-alpha06
e androidx.camera:camera-lifecycle:1.1.0-alpha06
vengono rilasciati. La versione 1.1.0-alpha06 contiene questi commit.
Modifiche alle API
- Promuovi le API sperimentali di compensazione dell'esposizione per il core della fotocamera (I08ee8)
- È stata aggiunta in CameraInfo un'API isFocusMeteringSupported che consente alle applicazioni di verificare se la specifica FocusMeteringAction è supportata o meno sulla fotocamera corrente. (Ib45ae, b/188606490).
- API getResolutionInfo esposta per fornire informazioni sulla risoluzione per Preview, Image Capture e ImageAnalysis. (I2b613, b/188600718)
- Sono state promosse le seguenti API sperimentali alle API ufficiali: FotocameraXConfig.Builder#setAvailableFotocamerasLimiter(), FotocameraXConfig.Builder#setMinimumLoggingLevel(), FotocameraXconfig.Builder#setSchedulerHandler(), FotocameraXConfig#getAvailableFotocamerasLimiter(), cameraXConfig#getMinimumLoggingLogging(), FotocameraXConfig#getFotocameraExecutor(), FotocameraXConfig.getSchedulerSchedulerScheduler
- Interfaccia CameraProvider esposta per fornire l'accesso a un insieme di videocamere. (I1a7b1).
- Promuovi l'API UseCaseGroup sperimentale per core della fotocamera, ciclo di vita della fotocamera e video della videocamera. Sono stati aggiunti
ViewPort#getLayoutDirection
,ViewPort.Builder#setLayoutDirection
eViewPort.Builder#setScaleType
per personalizzare l'area visibile. (I7cee8).
Versione 1.1.0-alpha05
2 giugno 2021
androidx.camera:camera-camera2:1.1.0-alpha05
, androidx.camera:camera-core:1.1.0-alpha05
e androidx.camera:camera-lifecycle:1.1.0-alpha05
vengono rilasciati. La versione 1.1.0-alpha05 contiene questi commit.
Modifiche alle API
Camera2CameraFilter
corso rimosso. Suggerisci di selezionare la fotocamera in base a CameraFilter e recuperare le CameraCharacteristics o altre informazioni relative a Camera2 tramite Camera2FotocameraInfo, se necessario. (Ib887c)- Le API
ExperimentalCameraFilter
ora sono fuori dalla fase sperimentale e diventano API formali. Possono essere utilizzati senza attivazione annotata. (I4bc94). - È stata aggiunta l'API dello stato della videocamera esposta tramite
CameraInfo#getCameraState()
. (Ia86b4). - È stata aggiunta l'API sperimentale
CameraInfo#getCameraSelector()
, che restituisce un selettore CameraSelector univoco per la relativa fotocamera (I77f9f)
Correzioni di bug
- Risolto il problema che non è stato possibile completare per l'opzione AscoltaableFuture che non è stato possibile completare in setZoomProporzioni e setLinearZoom su alcuni dispositivi Android 11 (I716d7)
- Velocizza il cambio di fotocamera e riduci la percentuale di errori del dispositivo della fotocamera (I34c99)
- È stato sostituito ExperimentalUseCaseGroupLifecycle con ExperimentalUseCaseGroup. (I3b2ef, b/159033688).
Versione 1.1.0-alpha04
21 aprile 2021
androidx.camera:camera-camera2:1.1.0-alpha04
, androidx.camera:camera-core:1.1.0-alpha04
e androidx.camera:camera-lifecycle:1.1.0-alpha04
vengono rilasciati. La versione 1.1.0-alpha04 contiene questi commit.
Correzioni di bug
- È stata corretta una perdita di memoria causata dall'accesso simultaneo di più thread alla stessa raccolta. La perdita di memoria potrebbe causare la conservazione dell'attività o del frammento da parte di un'istanza di anteprima. (I7b4b8).
- L'annotazione
@Experimental
è stata sostituita con@RequiresOptIn
nelle API sperimentali. Per chiamare le API sperimentali, utilizzaandroidx.annotation.OptIn
anzichéandroidx.annotation.experimental.UseExperimental
deprecato. (Iff226). - È stato corretto l'acquisizione di immagini con flash On/Auto che consente di acquisire immagini sbiadite su Samsung Galaxy S7. (I30001)
- È stata aggiunta un'API CameraState che verrà esposta tramite CameraInfo. (I75392)
Versione 1.1.0-alpha03
24 marzo 2021
androidx.camera:camera-camera2:1.1.0-alpha03
, androidx.camera:camera-core:1.1.0-alpha03
e androidx.camera:camera-lifecycle:1.1.0-alpha03
vengono rilasciati. La versione 1.1.0-alpha03 contiene questi commit.
Correzioni di bug
- Quando sono attivate le modalità Estensioni, viene visualizzato il formato JPEG di output per
ImageCapture#OnImageCapturedCallback
. (I0d7b1) - Risolto il problema di inizializzazione sui dispositivi UMIDIGI BISON (I57d9e, b/180818665)
- È stata corretta l'anteprima allungata di Samsung A3 in PreviewView. (Iacb30, b/180121821).
Versione 1.1.0-alpha02
24 febbraio 2021
androidx.camera:camera-camera2:1.1.0-alpha02
, androidx.camera:camera-core:1.1.0-alpha02
e androidx.camera:camera-lifecycle:1.1.0-alpha02
vengono rilasciati. La versione 1.1.0-alpha02 contiene questi commit.
Modifiche alle API
- È stata aggiunta un'API
ProcessCameraProvider.getAvailableCameraInfos()
per recuperare direttamente le informazioni sulle fotocamere disponibili, che sono tutte le fotocamere del dispositivo o quelle selezionate dall'CameraSelector
fornito inCameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector)
. (Ieac08)
Correzioni di bug
- CameraX ora prova a forzare l'apertura di una fotocamera al tentativo iniziale, questo potrebbe comportare la rimozione della videocamera da altri client videocamera quando la relativa app ha una priorità maggiore. (Iab069, b/175820568).
- È stato risolto l'errore del test Robolectric quando setAvailableFotocamerasLimiter viene utilizzato in CameraXConfig. (Ice307)
- Questa modifica rileva l'eccezione quando la coda delle immagini è al massimo in ImageAnalysis. Quindi, invece di arrestarsi in modo anomalo, potresti notare che altri casi d'uso si bloccano o sono lenti, ad esempio l'anteprima bloccata/lenta. (Ic12da, b/175851631).
- Risolto il problema ExtensionsErrorListener per segnalare gli errori quando è associato solo Preview o ImageAcquisisci. (I5ae39).
- È stata corretta la regressione delle prestazioni di Image Capture rimuovendo la convalida della posizione salvata dell'immagine prima di scattare una foto. Dopo aver apportato questa modifica, se la destinazione di salvataggio non è valida, ci vorrà più tempo per ricevere la risposta di errore perché proverà a salvare l'immagine dopo aver scattato la foto. (I1fd4e, b/177061560).
- È stata corretta la regressione delle prestazioni di ImageAcquisisci con il tipo "File" OutputFileOptions. (I5164a, b/177061560)
- Documentazione aggiornata per evitare l'utilizzo di
ProcessCameraProvider.configureInstance(...)
del codice libreria. (Ib8a9f)
Versione 1.1.0-alpha01
27 gennaio 2021
androidx.camera:camera-camera2:1.1.0-alpha01
, androidx.camera:camera-core:1.1.0-alpha01
e androidx.camera:camera-lifecycle:1.1.0-alpha01
vengono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.
Correzioni di bug
- Soluzione alternativa inclusa per i dati di immagini danneggiate intermittenti nei file JPEG sulla fotocamera posteriore SM-G930T. (I52001, b/159831206)
- Risolto il problema
IllegalArgumentException
che si verificava quando tutte le dimensioni supportate per l'anteprima sono inferiori a 640 x 480 e le dimensioni di visualizzazione sono superiori a 640 x 480. (I2a63c, b/150506192). - Le risorse nelle librerie senza risorse pubbliche dichiarate esplicitamente (ad es. tramite Public.xml) ora sono private per impostazione predefinita. (Ia1dcc, b/170882230).
Camera-Fotocamera2, Camera-Core, & Camera-Lifecycle Versione 1.0.2
Versione 1.0.2
29 settembre 2021
androidx.camera:camera-camera2:1.0.2
, androidx.camera:camera-core:1.0.2
e androidx.camera:camera-lifecycle:1.0.2
vengono rilasciati. La versione 1.0.2 contiene questi commit.
Correzioni di bug
- Risolvi il problema per cui le foto scattate vengono sfocate
in modalità
MAXIMIZE_QUALITY
. (I173a9, b/193823892) - Risolto il problema per cui l'immagine acquisita con il flash era scura su molti dispositivi. (I4e510).
Camera-Fotocamera2, Camera-Core, & Camera-Lifecycle Versione 1.0.1
Versione 1.0.1
21 luglio 2021
androidx.camera:camera-camera2:1.0.1
, androidx.camera:camera-core:1.0.1
e androidx.camera:camera-lifecycle:1.0.1
vengono rilasciati. La versione 1.0.1 contiene questi commit.
Correzioni di bug
Risolto il problema che non è possibile completare per l'elemento
ListenableFuture
restituito insetZoomRatio
esetLinearZoom
su alcuni dispositivi Android 11 (I716d7)Risolto il problema per cui la fotocamera si blocca nella chiusura dello stato della fotocamera su alcuni dispositivi e causa un'anteprima in nero. (I34c99)
Camera-Fotocamera2, Camera-Core, & Camera-Lifecycle Versione 1.0.0
Versione 1.0.0
5 maggio 2021
androidx.camera:camera-camera2:1.0.0
, androidx.camera:camera-core:1.0.0
e androidx.camera:camera-lifecycle:1.0.0
vengono rilasciati. La versione 1.0.0 contiene questi commit.
Funzionalità principali della versione 1.0.0
- CameraX supporta Anteprima, ImageAcquisisci e Analisi
- CameraX gestisce il ciclo di vita della fotocamera all'interno di un'API di facile utilizzo
- CameraX mira a fornire un livello di compatibilità che risolva molti problemi nell'ecosistema della fotocamera Android
Problemi noti
- Consulta l'elenco dei problemi noti
Versione 1.0.0-rc05
21 aprile 2021
androidx.camera:camera-camera2:1.0.0-rc05
, androidx.camera:camera-core:1.0.0-rc05
e androidx.camera:camera-lifecycle:1.0.0-rc05
vengono rilasciati. La versione 1.0.0-rc05 contiene questi commit.
Correzioni di bug
- È stato corretto l'acquisizione di immagini con flash On/Auto che consente di acquisire immagini sbiadite su Samsung Galaxy S7. (I30001)
Versione 1.0.0-rc04
24 marzo 2021
androidx.camera:camera-camera2:1.0.0-rc04
, androidx.camera:camera-core:1.0.0-rc04
e androidx.camera:camera-lifecycle:1.0.0-rc04
vengono rilasciati. La versione 1.0.0-rc04 contiene questi commit.
Correzioni di bug
- Risolto il problema di inizializzazione sui dispositivi UMIDIGI BISON (I57d9e, b/180818665)
Versione 1.0.0-rc03
24 febbraio 2021
androidx.camera:camera-camera2:1.0.0-rc03
, androidx.camera:camera-core:1.0.0-rc03
e androidx.camera:camera-lifecycle:1.0.0-rc03
vengono rilasciati. La versione 1.0.0-rc03 contiene questi commit.
Correzioni di bug
- Correggi l'errore di formato nel documento di
ProcessCameraProvider#getInstance
- Risolto il problema relativo al test Robolectric durante l'utilizzo di setAvailableFotocamerasLimiter in CameraXConfig.
- È stata corretta la regressione delle prestazioni di Image Capture rimuovendo la convalida della posizione salvata dell'immagine prima di scattare una foto. Dopo aver apportato questa modifica, se la destinazione di salvataggio non è valida, sarà necessario più tempo per ricevere la risposta di errore perché proverà a salvare l'immagine dopo aver scattato la foto
- Questa modifica rileva l'eccezione quando la coda delle immagini è al massimo in ImageAnalysis. Pertanto, invece di arrestarsi in modo anomalo, potresti notare che altri casi d'uso si bloccano o sono lenti, ad esempio l'anteprima bloccata/lenta.
- Soluzione alternativa inclusa per i dati di immagini danneggiate intermittenti nei file JPEG sulla fotocamera posteriore SM-G930T. (I52001, b/159831206)
- Questa modifica rileva l'eccezione quando la coda delle immagini è al massimo in ImageAnalysis. Quindi, invece di arrestarsi in modo anomalo, potresti notare che altri casi d'uso si bloccano o sono lenti, ad esempio l'anteprima bloccata/lenta. (Ic12da, b/175851631).
- È stato risolto l'errore del test Robolectric quando setAvailableFotocamerasLimiter viene utilizzato in CameraXConfig. (Ice307)
- È stata corretta la regressione delle prestazioni di Image Capture rimuovendo la convalida della posizione salvata dell'immagine prima di scattare una foto. Dopo aver apportato questa modifica, se la destinazione di salvataggio non è valida, ci vorrà più tempo per ricevere la risposta di errore perché proverà a salvare l'immagine dopo aver scattato la foto. (I1fd4e, b/177061560).
- È stata corretta la regressione delle prestazioni di ImageAcquisisci con il tipo "File" OutputFileOptions. (I5164a, b/177061560)
Versione 1.0.0-rc02
27 gennaio 2021
androidx.camera:camera-camera2:1.0.0-rc02
, androidx.camera:camera-core:1.0.0-rc02
e androidx.camera:camera-lifecycle:1.0.0-rc02
vengono rilasciati. La versione 1.0.0-rc02 contiene questi commit.
Correzioni di bug
- È stato risolto il problema LegalArgumentException quando tutte le dimensioni supportate per l'anteprima sono inferiori a 640 x 480 e le dimensioni di visualizzazione sono superiori a 640 x 480. (b/150506192)
Limita il numero di tentativi di riapertura della videocamera. Durante il tentativo di ripristino per alcuni problemi all'apertura della fotocamera, CameraX non tenterà più di riaprirla a tempo indeterminato, ma si interromperà dopo aver riprovato per 10 secondi.I435d2
Risolto il problema
IllegalArgumentException
che si verificava quando tutte le dimensioni supportate per l'anteprima sono inferiori a 640 x 480 e le dimensioni di visualizzazione sono superiori a 640 x 480. (I2a63c, b/150506192).
Versione 1.0.0-rc01
16 dicembre 2020
androidx.camera:camera-camera2:1.0.0-rc01
, androidx.camera:camera-core:1.0.0-rc01
e androidx.camera:camera-lifecycle:1.0.0-rc01
vengono rilasciati. La versione 1.0.0-rc01 contiene questi commit.
Modifiche alle API
- Filtro Fotocamera e Filtro Fotocamera2 per scattare Info fotocamera. (I6883d)
- È stata aggiunta la classe sperimentale Camera2FotocameraControl per consentire l'interoperabilità con le API Camera2 in modo dinamico. (I45cf3)
- Le informazioni Fotocamera2Fotocamera sono state rinominate#daInfoFotocamera in #da. (Ia2bd6).
- È stata aggiunta un'API sperimentale setAvailableFotocamerasLimiter a FotocameraXConfig per consentire alle app di ottimizzare la latenza di inizializzazione evitando l'inizializzazione delle videocamere inutilizzate. (I6cf88).
- Aggiunto il metodo sperimentale
CameraXConfig.Builder#setMinimumLoggingLevel()
per consentire l'impostazione di un livello di registrazione minimo per i log di CameraX. Se non viene configurato, il valore predefinito èLog#DEBUG
. (Ic3245)
Correzioni di bug
- Soluzione alternativa inclusa per i dati di immagini danneggiate intermittenti in JPEG sulla fotocamera posteriore SM-G930V. (I5aca5, b/159831206).
- Risolto il problema per cui lo scatto di foto non ottiene risultati quando il flash è sempre attivo e l'ambiente è scuro sui dispositivi Samsung SM-A716. (If98b2, b/172036589).
- Risolto il problema che non consentiva di interrompere l'anteprima chiamando il numero
Preview.setSurfaceProvider(null)
. (I3ac18) - È stato risolto il problema di orientamento durante l'acquisizione di immagini 4:3 su alcuni dispositivi. (I0e3fb, b/171492111).
Camera Camera2, Core, & Lifecycle Versione 1.0.0-beta12
11 novembre 2020
androidx.camera:camera-camera2:1.0.0-beta12
, androidx.camera:camera-core:1.0.0-beta12
e androidx.camera:camera-lifecycle:1.0.0-beta12
vengono rilasciati. La versione 1.0.0-beta12 contiene questi commit.
Correzioni di bug
- Disattivazione del flash automatico sui dispositivi Samsung A3 per correggere l'arresto anomalo quando si scatta una foto con la modalità AE flash automatica sui dispositivi Samsung A3. (Ia5fe3, b/157535165).
- Risolto il problema per cui l'anteprima veniva estesa sui dispositivi Nexus 4 con Android L (livelli API 21 e 22). (I4d407, b/158749159)
- L'implementazione della classe base
OnImageCapturedCallback#onCaptureSuccess
non chiude più l'immagine. allo scopo di prevenire comportamenti inaspettati per gli sviluppatori. Gli sviluppatori non dovrebbero fare affidamento su super.on CaptureSuccess per chiudere l'immagine. (Ifbf9c) - La variante androidx dell'annotazione sperimentale è stata ritirata per fornire lo stesso valore a Kotlin. È stata sostituita dall'annotazione RichiedisoptIn e il linter rivolto a Java è stato aggiornato per supportare sia la nuova annotazione Kotlin sia la nuova variante androidx. (I52495, b/151331381)
Camera-Fotocamera2 Versione 1.0.0-beta11
14 ottobre 2020
androidx.camera:camera-camera2:1.0.0-beta11
viene rilasciato. La versione 1.0.0-beta11 contiene questi commit.
Nuove funzionalità
- Supporta l'API
CONTROL_ZOOM_RATIO
Android 11 per lo zoom su dispositivi Android 11 o versioni successive che contengonoCONTROL_ZOOM_RATIO_RANGE
valido. (I62cc6)
Correzioni di bug
- Risolto il problema NumberFormatException che si verificava quando l'ID videocamera è un ID fotocamera non intero. (Ib2228)
- È stata migliorata la latenza dell'inizializzazione di CameraX e del bindToLifecycle (I61dc5)
- La creazione di casi d'uso non richiede l'inizializzazione di CameraX per il completamento. Tutte le configurazioni specifiche dell'implementazione sono impostate su UseCase una volta collegata a un'istanza di Camera, che per l'API pubblica è
ProcessCameraProvider.bindToLifecycle()
. (Ia5411) <UseCase>.getTargetRotation()
restituiràSurface.ROTATION_0
se chiamato prima di essere associato a un'istanza Fotocamera, a meno che non sia stata impostata una rotazione target in Builder o nel caso d'uso. (I80fcd)
Camera-Core Versione 1.0.0-beta11
14 ottobre 2020
androidx.camera:camera-core:1.0.0-beta11
viene rilasciato. La versione 1.0.0-beta11 contiene questi commit.
Nuove funzionalità
- Supporta l'API CONTROL_ZOOM_RATIO
per Android 11 per lo zoom su dispositivi Android 11 o versioni successive che contengono CONTROL_ZOOM_RATIO_RANGE
valido. (I62cc6)
Correzioni di bug
- Risolto il problema NumberFormatException che si verificava quando l'ID videocamera è un ID fotocamera non intero. (Ib2228)
- La creazione di casi d'uso non richiede l'inizializzazione di CameraX per il completamento. Tutte le configurazioni specifiche dell'implementazione sono impostate su UseCase una volta collegata a un'istanza di Camera, che per l'API pubblica è
ProcessCameraProvider.bindToLifecycle()
. (Ia5411) <UseCase>.getTargetRotation()
restituiràSurface.ROTATION_0
se chiamato prima di essere associato a un'istanza Fotocamera, a meno che non sia stata impostata una rotazione target in Builder o nel caso d'uso. (I80fcd)
Camera-Core Versione 1.0.0-beta10
23 settembre 2020
androidx.camera:camera-core:1.0.0-beta10
viene rilasciato. La versione 1.0.0-beta10 contiene questi commit.
Correzioni di bug
- Correggi il bug nella convalida della destinazione di salvataggio del file per l'acquisizione delle immagini (I8c565, b/167697553)
Camera-Fotocamera2 Versione 1.0.0-beta10
23 settembre 2020
androidx.camera:camera-camera2:1.0.0-beta10
viene rilasciato. La versione 1.0.0-beta10 contiene questi commit.
Correzioni di bug
- Rilascia per supportare Fotocamera-Core 1.0.0-beta10
Camera-Fotocamera2 Versione 1.0.0-beta09
16 settembre 2020
androidx.camera:camera-camera2:1.0.0-beta09
viene rilasciato. La versione 1.0.0-beta09 contiene questi commit.
Modifiche alle API
- Invece di fornire metodi statici, Camera2FotocameraInfo prende un'istanza CameraInfo creata per recuperare le informazioni relative a Camera2. (I5b844)
Correzioni di bug
- È stato risolto il problema relativo alle proporzioni target sui tablet. Quando le proporzioni target sono impostate su
AspectRatio.RATIO_16_9
, è necessario selezionare una dimensione 16:9. (Ib7fcf, b/151969438). - Lancia un
InitializationException
per consentire all'app di gestire agevolmente l'errore AssertionError che si è verificato durante la creazione di CameraCharacteristics. (I89c8c, b/160524721). - Aggiunta di interfacce sperimentali per la compensazione dell'esposizione (If96c7)
Versione Camera-Core 1.0.0-beta09
16 settembre 2020
androidx.camera:camera-core:1.0.0-beta09
viene rilasciato. La versione 1.0.0-beta09 contiene questi commit.
Modifiche alle API
- è stato corretto il bug per cui l'area visibile era contrassegnata come non null in UseCaseGroup. Gli sviluppatori devono essere in grado di creare un'area visibile senza impostare un'area visibile. (Ie3d2e).
- Sono state aggiunte interfacce sperimentali per
ExposureCompensation
(If96c7) - Consenti la rotazione target arbitraria per l'anteprima. Le informazioni sulla trasformazione vengono calcolate e restituite all'utente all'istante tramite un nuovo callback
TranformationInfoListener
. (I21470)
Correzioni di bug
- Risolto il problema per cui il flash su alcuni dispositivi non si disattivava. Si verifica quando la modalità flash è impostata su
FLASH_MODE_ON
per scattare una foto e viene impostata suFLASH_MODE_OFF
quando viene attivato il flash. Il sintomo è simile all'attivazione della modalità torcia. (Ib4451, b/162568128). - È stato forzato l'utilizzo di PreviewView per TextureView se l'effetto dell'estensione è attivato e l'implementazione della libreria del fornitore deve eseguire un processo speciale nella piattaforma di output. (I0c3cc)
- È stata corretta la fuga di attività/frammenti quando un contesto attività/frammento viene passato a
ProcessCameraProvider.getInstance(Context)
.
Problemi noti
- Quando è impostato ViewPort, il rettangolo di ritaglio di Image Capture potrebbe non essere corretto sui dispositivi che ruotano il buffer dell'immagine in HAL. Questo problema verrà risolto nella prossima release.
Camera-Fotocamera2 Versione 1.0.0-beta08
19 agosto 2020
androidx.camera:camera-camera2:1.0.0-beta08
viene rilasciato. La versione 1.0.0-beta08 contiene questi commit.
Correzioni di bug
- È stato ottimizzato bindToLifecycle per un'esecuzione rapida nel thread principale. (I1d57e).
- DisplayOrientedMeteringPoint Fabbrica prende un'istanza CameraInfo invece di CameraSelector, in modo da avere una mappatura diretta alla fotocamera per la quale la fabbrica genererà i punti. Tutte le classi che utilizzano DisplayOrientedMeteringPointIndustry acquisiscono anche un'istanza CameraInfo invece di CameraSelector. (I400c1)
- È stato risolto il problema di raggruppamento delle dimensioni delle proporzioni con risoluzione automatica a causa del quale veniva selezionata una dimensione mod16 16:9 (864 x 480) quando la risoluzione target impostata è 2016 x 1080 ed esisteva un'altra dimensione 16:9 1920 x 1080 supportata. (I53167, b/159363774)
- Risolvi il problema di CameraControl in cui non funziona per una condizione di gara (I2279f, b/152333890, b/160714166)
Versione Camera-Core 1.0.0-beta08
19 agosto 2020
androidx.camera:camera-core:1.0.0-beta08
viene rilasciato. La versione 1.0.0-beta08 contiene questi commit.
Modifiche alle API
DisplayOrientedMeteringPointFactory
prende un'istanzaCameraInfo
anziché un'istanzaCameraSelector
, pertanto esiste una mappatura diretta alla fotocamera per la quale il produttore genererà i punti di accesso. Tutte le classi che utilizzanoDisplayOrientedMeteringPointFactory
prendono anche un'istanzaCameraInfo
anzichéCameraSelector
. (I400c1)
Correzioni di bug
- Per l'acquisizione di immagini, sovrascrivi il flag dell'opzione Capovolgi orizzontale nei metadati in base alla direzione della fotocamera. (I28499)
- L'inizializzazione non dovrebbe più arrestarsi in modo anomalo quando utilizzi un contesto che non restituisce un oggetto Application da
Context.getApplicationContext()
. (I3d3c9, b/160817073).
Camera-Fotocamera2 Versione 1.0.0-beta07
22 luglio 2020
androidx.camera:camera-camera2:1.0.0-beta07
viene rilasciato. La versione 1.0.0-beta07 contiene questi commit.
Correzioni di bug
- Risolto il problema che causava il prolungamento dell'anteprima sul dispositivo Android 5.0 legacy. (I0c03a).
- Sono state escluse alcune dimensioni supportate dal formato JPEG che causeranno problemi WYSIWYG su alcuni dispositivi. (Ib5128)
Versione Camera-Core 1.0.0-beta07
22 luglio 2020
androidx.camera:camera-core:1.0.0-beta07
viene rilasciato. La versione 1.0.0-beta07 contiene questi commit.
Modifiche alle API
- Unisci lo stile di forma
FIT_CENTER
,FIT_START
eFIT_END
conFIT
.FIT
significa che il rettangolo di ritaglio restituito sarà il rettangolo massimo possibile del sensore. (Ia73c3) - Il rettangolo di ritaglio dell'anteprima è configurato per area visibile. Solo l'area coperta dal rettangolo di ritaglio deve essere visibile agli utenti finali. (I142a4).
Correzioni di bug
- Risolto il problema che causava il prolungamento dell'anteprima sul dispositivo Android 5.0 legacy. (I0c03a).
- È stato risolto il problema dell'eccezione
ConcurrentModificationException
durante lo svincolo dei casi d'uso. (I371c0)
Camera-Fotocamera2 Versione 1.0.0-beta06
24 giugno 2020
androidx.camera:camera-camera2:1.0.0-beta06
viene rilasciato. La versione 1.0.0-beta06 contiene questi commit.
Modifiche alle API
- Sono state aggiunte interfacce sperimentali per il filtro delle fotocamere in base all'ID e alle caratteristiche della fotocamera. (I28f61).
Correzioni di bug
- Risolto il problema per cui startFocusAndMetering non riesce a concentrarsi correttamente su Samsung Galaxy S7. (If3be7, b/159039233).
- Correggi il problema che non è possibile chiudere la fotocamera dopo l'uscita dall'app. (I7a7b3)
- È stata corretta l'anteprima delle interruzioni ripetute del cambio di fotocamera quando si utilizza l'implementazione SurfaceView di PreviewView (I920ce)
CameraControl#startFocusAndMetering
non riuscirà se nessuno dei MeteringPoint specificati può generare rettangoli di misurazione validi. (Id53ce)
Versione Camera-Core 1.0.0-beta06
24 giugno 2020
androidx.camera:camera-core:1.0.0-beta06
viene rilasciato. La versione 1.0.0-beta06 contiene questi commit.
Modifiche alle API
- Sono state aggiunte interfacce sperimentali per il filtro delle fotocamere in base all'ID e alle caratteristiche della fotocamera. (I28f61).
Correzioni di bug
- Ora è possibile configurare CameraX con
ProcessCameraProvider#configureInstance()
prima di chiamare il numeroProcessCameraProvider#getInstance()
. Ciò consente la personalizzazione diCameraXConfig
senza richiedere l'implementazione diCameraXConfig.Provider
nella classe Applicazione dell'app. (Ia1a8d). CameraControl#startFocusAndMetering
non riuscirà se nessuno dei MeteringPoint specificati può generare rettangoli di misurazione validi. (Id53ce)
Camera-Fotocamera2 Versione 1.0.0-beta05
10 giugno 2020
androidx.camera:camera-camera2:1.0.0-beta05
viene rilasciato. La versione 1.0.0-beta05 contiene questi commit.
Correzioni di bug
- È stato risolto il problema che causava l'arresto anomalo dell'app durante l'inizializzazione di CameraX mentre il telefono è in modalità Non disturbare. Un elemento
InitializationException
contiene un valoreCameraUnavailableException
che verrà impostato sul valoreListenableFuture
del risultato dell'inizializzazione anziché causare l'arresto anomalo dell'applicazione. (I9909a, b/149413835) - È stato risolto l'arresto anomalo durante la chiamata a
startFocusAndMetering
su dispositivi su cui il valoreCONTROL_AF_STATE
è nullo. (Ife55e, b/157084254).
Versione Camera-Core 1.0.0-beta05
10 giugno 2020
androidx.camera:camera-core:1.0.0-beta05
viene rilasciato. La versione 1.0.0-beta05 contiene questi commit.
Modifiche alle API
- È stato risolto il problema che causava l'arresto anomalo dell'app durante l'inizializzazione di CameraX mentre il telefono è in modalità Non disturbare. Un elemento
InitializationException
che contiene unCameraUnavailableException
verrà impostato sul valoreListenableFuture
del risultato dell'inizializzazione anziché causare l'arresto anomalo dell'applicazione. (I9909a, b/149413835)
Correzioni di bug
- Sono stati aggiornati i documenti Java di
setTargetResolution
esetTargetRotation
. (Iae16f)
Camera-Fotocamera2 Versione 1.0.0-beta04
27 maggio 2020
androidx.camera:camera-camera2:1.0.0-beta04
viene rilasciato. La versione 1.0.0-beta04 contiene questi commit.
Correzioni di bug
- È consentito alle applicazioni impostare qualsiasi parametro della richiesta di acquisizione della fotocamera2 tramite
Camera2Interop
senza causare un arresto anomalo. Tieni presente che in caso di problemi a causa dell'override dei parametri. La stabilità e il comportamento non sono garantiti quando si sostituiscono i parametri con Camera2Interop. (Ibe5a1, b/149103700). - L'inizializzazione automatica è corretta quando si utilizza un'app su un dispositivo che usa una pseudo-lingua. (I3bef3, b/154767663).
- Log degli errori convertito relativo a un caso d'uso scollegato in un log di debug su Camera2FotocameraImpl. (I1a565, b/154422490).
- È stato risolto il problema per cui l'immagine scattata a volte era troppo scura anche se veniva attivato il flash. (I5d9fa, b/149729613).
- Correggi il bug per cui il buffer in
ImageProxy
daImageCapture
non è stato riavvolto (I0c455, b/153249512) - Sono stati risolti i problemi per cui l'associazione solo di Image Capture: (1) Impossibile scattare foto con MAX_QUALITY; (2) È stata generata una cattiva qualità dell'immagine perché l'esposizione automatica non funziona. (I17782, b/145326998)
- Maggiore affidabilità della riapertura della videocamera quando CameraX viene disconnessa da un altro processo o percorso di codice che ha sottratto la videocamera (I1fbc3, b/153714651)
Camera-Core Versione 1.0.0-beta04
27 maggio 2020
androidx.camera:camera-core:1.0.0-beta04
viene rilasciato. La versione 1.0.0-beta04 contiene questi commit.
Modifiche alle API
- Aggiunge un'API sperimentale,
CameraXConfig.Builder#setSchedulerHandler()
per impostare il gestore utilizzato internamente dallo stack di videocamere CameraX. Questa nuova API, insieme aCameraXConfig.Builder#setCameraExecutor()
, dovrebbe consentire il controllo completo sui thread utilizzati dallo stack di videocamere CameraX. (I7bf32, b/121160431)
Correzioni di bug
- Corregge l'arresto anomalo in
ImageAnalysis
, durante il quale si accede aImageProxy
dopo la chiusura diImageReaderProxy
. Inoltre, questo fa sì che tutti gliImageProxy
ricevuti daAnalyzer
vengano chiusi prima della chiusura diImageReaderProxy
. (I4b299, b/145956416, b/154155377, b/156357269). - Parametro
CameraInfo
rimosso daPreviewView#createSurfaceProvider()
. OraPreviewView
lo recupera internamente daSurfaceRequest
. (If18f0, b/154652477) - L'inizializzazione automatica è corretta quando si utilizza un'app su un dispositivo che usa una pseudo-lingua. (I3bef3, b/154767663).
- È stato risolto il problema per cui l'immagine scattata a volte era troppo scura anche se veniva attivato il flash. (I5d9fa, b/149729613).
- Risolvi il problema con
ImageAnalysis
per cui più chiamate a setAnalizzar/clear analyzer impedivano all'analizzatore di ricevere immagini da analizzare. (I6169f, b/151605317, b/153514544). - Correggi il bug per cui il buffer in
ImageProxy
daImageCapture
non è stato riavvolto (I0c455, b/153249512) - Risolto il problema per cui non sempre è stata selezionata l'utilizzo della prima fotocamera nell'elenco delle app supportate da
CameraManager
. (I4c624, b/153418028). - È stato risolto l'arresto anomalo intermittente causato dall'impostazione del mancato rilascio di
Preview.SurfaceProvider
dalla piattaforma richiesta in precedenza.“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation”
(I8e4e7, b/155936225)
Camera-Fotocamera2 Versione 1.0.0-beta03
15 aprile 2020
androidx.camera:camera-camera2:1.0.0-beta03
viene rilasciato. La versione 1.0.0-beta03 contiene questi commit.
Correzioni di bug
- Correzioni a supporto della release di
camera-core
Camera-Core Versione 1.0.0-beta03
15 aprile 2020
androidx.camera:camera-core:1.0.0-beta03
viene rilasciato. La versione 1.0.0-beta03 contiene questi commit.
Correzioni di bug
- È stata corretta la regressione della versione beta03, in cui la chiamata a
bindToLifecycle()
senzaUseCase
causava un'eccezione generata. Questo ha impedito il recupero di un oggettoCamera
senza associare unUseCase
.
Camera-Fotocamera2 Versione 1.0.0-beta02
1° aprile 2020
androidx.camera:camera-camera2:1.0.0-beta02
viene rilasciato. La versione 1.0.0-beta02 contiene questi commit.
Correzioni di bug
- È stato corretto il valore
ImageInfo.getRotationDegrees()
delImageProxy
prodotto daImageCapture
in modo che corrisponda al valore di rotazione dell'orientamento EXIF. (Id4281, b/150802561) - L'ordinamento esplicito delle dipendenze CameraX all'interno di
build.gradle
non è più necessario per utilizzare l'implementazione predefinita di CameraX/Fotocamera2. Per i casi in cui è necessario dichiarare dipendenze rigorose, ora tutte le dipendenze CameraX possono essere incluse nel file di build. (I46e88). - È stato risolto il problema
IllegalArgumentException
che si verificava sui dispositivi con dimensioni del display inferiori a 640 x 480. (Ife3f2, b/150506192). - È stato corretto
bindToLifecycle
in modo che modifichi il caso d'uso solo se viene associato correttamente. In precedenza, quando si chiamabindToLifecycle
per eseguire calcoli di risoluzione, il caso d'uso viene aggiornato. Ora non è più necessario aggiornare il caso d'uso per eseguire i calcoli (I78d9e)
Camera-Core Versione 1.0.0-beta02
1° aprile 2020
androidx.camera:camera-core:1.0.0-beta02
viene rilasciato. La versione 1.0.0-beta02 contiene questi commit.
Correzioni di bug
- È stato corretto il valore
ImageInfo.getRotationDegrees()
delImageProxy
prodotto daImageCapture
in modo che corrisponda al valore di rotazione dell'orientamento EXIF. (Id4281, b/150802561) - È stato corretto
bindToLifecycle
in modo che modifichi il caso d'uso solo se viene associato correttamente. In precedenza, quando si chiamabindToLifecycle
per eseguire calcoli di risoluzione, il caso d'uso viene aggiornato. Ora non è più necessario aggiornare il caso d'uso per eseguire i calcoli (I78d9e) - Risolto il problema per cui la sessione di acquisizione del caso d'uso
Preview
non veniva aggiornata quando la superficie di anteprima veniva modificata dopo aver chiamatoPreview.setSurfaceProvider()
più di una volta.
Camera-Fotocamera2 Versione 1.0.0-beta01
26 febbraio 2020
androidx.camera:camera-camera2:1.0.0-beta01
viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.
Correzioni di bug
- È stato rinominato
SurfaceRequest.setSurface(Surface)
inSurfaceRequest.provideSurface(Surface)
eSurfaceRequest.setWillNotComplete()
inSurfaceRequest.willNotProvideSurface()
. (I224fe) - Risolto il problema per cui le proporzioni di un'immagine salvata non venivano corrette dopo la modifica del valore di rotazione target utilizzando
ImageCapture.setTargetRotation()
. (I474ea, b/148763432). - È stata corretta l'inizializzazione delle varianti dell'app con ProGuard attivato mantenendo il flag che imposta il provider
CameraXConfig
predefinito. (I2d6c1).
Camera-Core Versione 1.0.0-beta01
26 febbraio 2020
androidx.camera:camera-core:1.0.0-beta01
viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.
Modifiche alle API
ListenableFuture
sostituito il giornoSurfaceRequest.provideSurface()
conExecutor
eCallback
. Questo semplifica l'API perché non richiede più la gestione delle eccezioni suprovideSurface()
e impone l'impossibilità di annullare il callbackprovideSurface()
. Questo per evitare gli arresti anomali sui dispositivi meno recenti causati dal rilascio anticipato delle piattaforme. L'oggettoSurfaceRequest.Result
viene ora utilizzato per monitorare in che modoSurfaceRequest
utilizza il valoreSurface
fornito. (I7854b)- Rinominato
SurfaceRequest.setSurface(Surface)
inSurfaceRequest.provideSurface(Surface)
eSurfaceRequest.setWillNotComplete()
inSurfaceRequest.willNotProvideSurface()
. (I224fe)
Correzioni di bug
- Risolto il problema per cui le proporzioni di un'immagine salvata non venivano corrette dopo la modifica del valore di rotazione target utilizzando
ImageCapture.setTargetRotation()
. (I474ea, b/148763432). - È stata corretta l'inizializzazione delle varianti dell'app con ProGuard attivato mantenendo il flag che imposta il provider
CameraXConfig
predefinito. (I2d6c1). - È stata aggiornata la documentazione per le API in modalità flash per includere i possibili valori. (I4a3ec)
Camera-Fotocamera2 Versione 1.0.0-alpha10
10 febbraio 2020
androidx.camera:camera-camera2:1.0.0-alpha10
viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.
Correzioni di bug
- È stata migliorata la stabilità dei dispositivi
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
garantendo che iSurface
vengano conservati solo per la durata di utilizzo della Fotocamera2. (I9dac2). - È stato risolto il problema di anteprima sottoesposto sui dispositivi LEGACY regolando correttamente
CONTROL_AE_TARGET_FPS_RANGE
. (1224638)
Camera-Core Versione 1.0.0-alpha10
10 febbraio 2020
androidx.camera:camera-core:1.0.0-alpha10
viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.
Modifiche alle API
- Aggiornamento di
ImageCapture
completato per consentire il salvataggio delle immagini inUri
eOutputStream
. Combinazione di metoditakePicture
con sovraccarico in uno. App di test aggiornata in modo da utilizzareUri
come esempio canonico. (Ia3bec). Preview.PreviewSurfaceProvider
è stato rinominato inPreview.SurfaceProvider
. GliSurfaceProvider
non richiedono più agli sviluppatori di creare il proprioListenableFuture
e la fornitura di unSurface
viene ora eseguita tramite un nuovo oggettoSurfaceRequest
. Il metodoPreview.getPreviewSurfaceProvider()
è stato rimosso a causa del suo potenziale uso improprio quandoPreview
è abbinato ad altre classi, comePreviewView
. (I20105)- Aggiunte
getTargetRotation()
egetTargetName()
aPreview
. (Iceee7) - Aggiunte
getTargetRotation()
,getBackpressureStrategy()
egetImageQueueDepth()
inImageAnalysis
. (I9d6d9). - Aggiunti
getTargetRotation()
egetCaptureMode()
inImageCapture()
(I5bc17) - Gli argomenti precedentemente passati in
ImageCapture.OnImageSavedCallback.onError()
eImageCapture.OnImageCapturedCallback.onError()
sono stati sostituiti da un singolo argomentoImageCaptureException
, che contiene ancora tutte le informazioni trasmesse in precedenza. - L'argomento del file precedentemente passato a
ImageCapture.OnImageSavedCallback.onImageSaved()
è stato rimosso. (I750d2) - I corsi
Preview
eImageCapture
sono ora contrassegnati come finali. (I2500b) - API aggiornata, con
getZoomRatio()
,getMaxZoomRatio()
,getMinZoomRatio()
egetLinearZoom()
metodi diCameraInfo
unione ingetZoomState()
che restituisce un'istanzaZoomState
. (Ib19fe) - I campi API
OPTION_TARGET_CLASS
eOPTION_TARGET_NAME
sono stati rimossi daCameraXConfig
in quanto destinati al solo utilizzo nelle librerie interne. Costruttore rimosso perCameraXConfig.Builder
. (I96912) - Rimosso il requisito secondo cui l'app deve estendere
Application
per inizializzare CameraX. CameraX verrà ora inizializzata con una configurazione predefinita di Camera2, purché l'artefattocamera-camera2
sia incluso nell'elementobuild.gradle
dell'applicazione. (I58ff5) (b/146923574)
Camera-Fotocamera2 Versione 1.0.0-alpha09
22 gennaio 2020
androidx.camera:camera-camera2:1.0.0-alpha09
viene rilasciato. La versione 1.0.0-alpha09 contiene questi commit.
Modifiche alle API
Aggiungi il percorso di interoperabilità della camera2 per estrarre un ID videocamera2. Puoi estrarre l'ID fotocamera da
CameraInfo
utilizzandoCamera2CameraInfo.extractCameraId()
. Nell'esempio di codice riportato di seguito viene illustrato come utilizzare questa funzionalità:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
La classe
Camera2CameraInfo
richiede il parametroExperimentalCamera2Interop
MarkClass.
Camera-Core Versione 1.0.0-alpha09
22 gennaio 2020
androidx.camera:camera-core:1.0.0-alpha09
viene rilasciato. La versione 1.0.0-alpha09 contiene questi commit.
Modifiche alle API
- Il parametro
SurfaceOrientedMeteringPointFactory
useCaseForSurface
è stato rinominato inuseCaseForAspectRatio
e la documentazione di riferimento è stata ampliata. - I metodi
FocusMeteringAction.Builder.from()
vengono sostituiti dai costruttoriFocusMeteringAction.Builder()
. - Rimosso
DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float)
. Le applicazioni devono utilizzare il costruttore che richiede un parametroDisplay
e passa alla visualizzazione corrente. - Miglioramenti a Javadoc per le API di misurazione e concentrazione relative ai flag
MeteringMode
e 3A e all'utilizzo del parametroDisplay
. - È stata estesa la documentazione di riferimento per
setZoomRatio
esetLinearZoom
.
Correzioni di bug
- Sono stati risolti i problemi di chiusura e apertura delle videocamere, che causavano l'errore del controllo "Precondizione".
- È stato corretto un
ConcurrentModificationException
che poteva verificarsi durante l'utilizzo delle API torcia e zoom. - È stato risolto il problema per selezionare risoluzioni più vicine a quella richiesta quando è disponibile una dimensione mod16.
- Le API
startFocusMetering
ecancelFocusMetering
ora si comportano come documentato, con tempistiche corrette e potrebbero restituire errori quando si verificano. - È stato risolto il problema quando veniva richiesta una risoluzione target specifica con proporzioni di ritaglio su un dispositivo che non supporta queste dimensioni. Ora, se disponibile, verrà selezionata una dimensione non ritagliata con risoluzione sufficiente per associare la richiesta originale.
Camera-Fotocamera2 Versione 1.0.0-alpha08
18 dicembre 2019
androidx.camera:camera-camera2:1.0.0-alpha08
viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.
Problemi noti
- Non tutte le opzioni di richiesta di acquisizione di Camera2 funzionano quando si utilizza l'interoperabilità di Camera2. Se l'opzione richiesta non è supportata, la sessione non si avvia e potrebbe verificarsi un errore come questo:
09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination
Correzioni di bug
- Risolto il problema per cui veniva visualizzata una schermata nera di anteprima dopo aver ruotato o cambiato la fotocamera per i livelli API 21 e 22.
Modifiche alle API
- Sperimentale: è stato aggiunto un percorso di interoperabilità della videocamera2 per l'estrazione dell'ID della videocamera.
Camera-Core Versione 1.0.0-alpha08
18 dicembre 2019
androidx.camera:camera-core:1.0.0-alpha08
viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.
Problemi noti
- Le app che usano
PreviewView
oCameraView
potrebbero avere un'anteprima delle proporzioni errate. Questo accade dopo la pausa o la ripresa su alcuni dispositivi COMPLETI, come Pixel2.
Correzioni di bug
- È stata aggiornata la documentazione per
FocusMeteringAction
eCameraControl
. TorchControl
implementata perenableTorch()
egetTorchState()
.
Modifiche alle API
- Ha nascosto IntDefs e ha spostato le costanti IntDef al di fuori della definizione di IntDef.
- Elemento
rotationDegrees
spostato dal corsoOnImageCaptureCallback
al corsoImageInfo
. - Elemento
rotationDegrees
spostato dal corsoAnalyzer
al corsoImageInfo
.
Camera-Fotocamera2 Versione 1.0.0-alpha07
4 dicembre 2019
androidx.camera:camera-camera2:1.0.0-alpha07
viene rilasciato. La versione 1.0.0-alpha07 di camera-camera2 contiene questi commit
- Ora puoi utilizzare
Camera2Config
per l'inizializzazione e la configurazione di un'implementazione basata su Camera2 per CameraX. Ulteriori dettagli su come utilizzare questa funzionalità nell'inizializzazione sono disponibili nella sezione dedicata al core della fotocamera delle note di rilascio. - La funzionalità di interoperabilità della videocamera 2 è ora contrassegnata come sperimentale e spostata in un pacchetto separato,
androidx.camera.camera2.interop.
Camera-Core Versione 1.0.0-alpha07
4 dicembre 2019
androidx.camera:camera-core:1.0.0-alpha07
viene rilasciato. La versione 1.0.0-alpha07 di camera-core contiene questi commit
Tieni presente che sono state apportate alcune modifiche sostanziali a questa release alpha mentre ci prepariamo alla versione beta. Ti consigliamo di esaminare le modifiche e di condividere il tuo feedback sul gruppo Google FotocameraX. Agli sviluppatori che utilizzano CameraX in app disponibili sul Play Store consigliamo di attendere la release beta formale prima di eseguire l'upgrade della libreria all'interno delle applicazioni.
Modifiche alle API
Importante: l'inizializzazione di CameraX è cambiata. Le applicazioni devono implementare
CameraXConfig.Provider
e utilizzare il valore predefinito diCamera2Config
fornito daandroidx.camera.camera2
. Un utilizzo tipico è:import androidx.camera.camera2.Camera2Config import androidx.camera.core.CameraXConfig public class MyCameraXApplication : Application(), CameraXConfig.Provider { override fun getCameraXConfig(): CameraXConfig { return Camera2Config.defaultConfig(this) } }
La classe CameraX è stata rimossa.
bindToLifecycle()
,unbind()
,unbindAll()
,isBound()
ehasCamera()
precedentemente forniti tramite la chiamata di classe CameraX sono ora disponibili tramiteProcessCameraProvider
.Un'istanza di
ProcessCameraProvider
per processo viene ottenuta in modo asincrono utilizzando il metodo staticoProcessCameraProvider.getInstance()
, che restituisce un futuro ascoltabile, che fornisceProcessCameraProvider
al completamento. Qui è mostrata inonCreate()
per un utilizzo tipico. Puoi effettuare chiamate agetInstance()
in una fase successiva del ciclo di vita dell'attività per rimandare la latenza di inizializzazione a una data successiva (ad esempio quando un'azione utente apre l'UI della videocamera).import androidx.camera.lifecycle.ProcessCameraProvider import com.google.common.util.concurrent.ListenableFuture class MainActivity : AppCompatActivity() { private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider> override fun onCreate(savedInstanceState: Bundle?) { cameraProviderFuture = ProcessCameraProvider.getInstance(this); }
È possibile aggiungere un listener ai
ListenableFuture
restituiti dagetInstance()
. In questo modo puoi recuperare il fornitore della videocamera daFuture
senza bloccare il dispositivo suFuture.get()
cameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))
La selezione della videocamera viene ora effettuata tramite un selettore, anziché in base al caso d'uso.
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
A
CameraProvider.bindToLifecycle
vengono assegnati il proprietario del ciclo di vita, il selettore della videocamera e i casi d'uso, che vengono poi associati al proprietario del ciclo di vita specificato e vengono eseguiti per la videocamera selezionata.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)
Le classi "Config" del caso d'uso vengono rimosse. Puoi invece creare direttamente i casi d'uso, impostando le opzioni su ogni generatore di casi d'uso. Ecco alcuni esempi:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
Il caso d'uso Anteprima è stato aggiornato in modo da accettare una piattaforma creata e gestita dall'applicazione al fine di garantire le best practice di Android. Si consiglia di utilizzare la classe di visualizzazione
PreviewView
fornita nel pacchetto di visione della videocamera.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
Consulta la documentazione per il collegamento di una piattaforma gestita dall'app. In questi casi, l'app gestisce il ciclo di vita della piattaforma.
Importante: l'implementazione del metodo di analisi
ImageAnalysis
deve chiamareimage.close()
sulle immagini ricevute al termine dell'utilizzo. In caso contrario, potrebbe non ricevere nuove immagini o la fotocamera potrebbe bloccarsi, a seconda dell'impostazione della contropressione. Per informazioni dettagliate, consulta la documentazione di riferimento.ImageAnalysis ImageReaderMode
è stato cambiato in una strategia di contropressioneintdef
.ImageProxy.getImage()
è contrassegnato come sperimentale. Le applicazioni devono annotare l'utilizzo, ad esempio tramite@androidx.camera.core.ExperimentalGetImage
Il requisito di annotazione
UIThread
perAnalyzer
è stato rimosso.La funzione
ImageAnalysis.clearAnalyzer()
è stata aggiunta per rimuovere un analizzatore.I listener con più di un metodo sono stati rinominati in Callback:
ImageCapture.OnImageCapturedListener
è diventataImageCapture.OnImageCapturedCallback
ImageCapture.OnImageSavedListener
è diventataImageCapture.OnImageSavedCallback
VideoCapture.OnVideoSavedListener
è diventataVideoCapture.OnVideoSavedCallback
Le enum sono state modificate in IntDef
I controlli dello zoom sono stati aggiunti:
CameraControl.setLinearZoom()
CameraControl.setZoomRatio()
CameraInfo.getLinearZoom()
CameraInfo.getMaxZoomRatio()
CameraInfo.getZoomRatio()
Viene aggiunto
CameraInfo.hasFlashUnit()
per determinare se è presente hardware flash/torcia.Il partner
CameraInfo.isFlashAvailable()
è stato rimosso. La torcia sostituisce la funzionalità flash. Ulteriori dettagli sono disponibili nella documentazione di riferimento.ImageCapture.Metadata
campi sono sostituiti dalle funzioni di accesso get/set/is.startFocusMetering
ecancelFocusMetering
ora restituisconoListenableFutures
, che rappresenta l'operazione asincrona della chiamata.Gli
MeteringPoints
funzionano come handle per le azioni di misurazione e sono prodotti dalle fabbriche. Le app dovrebbero usare gli fabbriche esistenti anziché quelli personalizzati.
Problemi risolti
- È stato risolto il problema relativo allo scatto di una foto al ripristino (dopo una pausa precedente aveva lo scatto di foto in attesa del completamento).
- Problema noto:
CameraControl.enableTorch()
funziona, ma il valoreListenableFuture<Void>
restituito è sempre uncomplete(success)
futuro immediato, anche se non è presente un'unità flash. Le versioni future risolveranno il problema con il comportamento finale: in assenza di unità Flash,enableTorch(true)
si arresterà immediatamente (non invierà la richiesta aCaptureSession
) eTorchState
rimarrà disattivato. - Problema noto:
startFocusAndMetering
ecancelFocusAndMetering
avviano e annullano la misurazione della messa a fuoco, ma restituiscono immediatamente un futurocompleted (success)
che non rappresenta il comportamento documentato.FocusMeteringResult
diListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()
è un risultato falso, cheisFocusSuccessful()
ed è sempre "falso", a differenza di un comportamento previsto e documentato. - Problema noto: è in fase di sviluppo una fabbrica di punti di misurazione da utilizzare con gli eventi tocco
PreviewView
. Per il momento, le app che collegano piattaforme gestite personalizzate possono utilizzare le fabbriche di punti di misurazione esistenti, altrimenti non è disponibile alcuna funzionalità di touch focus perPreviewView
.
Camera-Fotocamera2 e Camera-Core versione 1.0.0-alpha06
9 ottobre 2019
androidx.camera:camera-camera2:1.0.0-alpha06
e androidx.camera:camera-core:1.0.0-alpha06
vengono rilasciati. Si tratta dei commit inclusi in camera-camera2:1.0.0-alpha06
e dei commit inclusi in camera-core:1.0.0-alpha06
.
Nuove funzionalità
Modifiche all'impostazione delle proporzioni:
setTargetAspectRatioMode()
è stato aggiunto e accetta un argomento enum. Imposta la modalità proporzioni con le opzioniRATIO_4_3
oRATIO_16_9
invece di proporzioni arbitrarie. Ciò riflette maggiormente il fatto che la fotocamera fornisce solo alcune proporzioni, piuttosto che qualsiasi rapporto arbitrario.- Attualmente, le uniche proporzioni disponibili sono 16:9 e 4:3. Nel caso del rapporto 1:1, solo alcuni dispositivi dispongono della funzione dalla fotocamera e solo a risoluzioni limitate. Le applicazioni che progettano un'interfaccia o un'elaborazione 1:1 dovrebbero utilizzare le opzioni 16:9 o 4:3 più flessibili e ritagliare il display o elaborare una sottoregione.
- Queste proporzioni sono orientate in modo da utilizzare l'area massima del sensore.
getTargetAspectRatio()
è stato aggiunto alle API di configurazione dei casi d'uso, restituendo le proporzioni scelte come target dell'output del caso d'uso.- Il metodo
setTargetAspectRatio(Rational aspectRatio)
per Image Capture è stato modificato insetTargetAspectRatioCustom(Rational aspectRatio)
. Se impostato, l'output di Image Capture verrà ritagliato di conseguenza.
API esecutore
- Le seguenti funzioni accettano un parametro esecutore, che consente all'app di controllare su quale esecutore viene eseguita la funzione.
- l'API
Preview.setOnPreviewOutputUpdateListener()
. Se l'esecutore non è presente per quella funzione, viene eseguito nel thread principale. Preview.setOnPreviewOutputUpdateListener
FocusMeteringAction.Builder.setAutoFocusCallback
ImageAnalysis.setAnalyzer
ImageCapture.takePicture
CameraView.takePicture
CameraView.startRecording
VideoCapture.startRecording
- l'API
CameraInfo aggiunta con il controllo delle API Flash disponibile e Rotazione sensore
Sono stati aggiunti
CameraInfo
e un metodogetCameraInfo
, che consente alle app di verificare se è disponibile un obiettivo rivolto verso la fotocamera e se è disponibile un flash sulla fotocamera. Ecco alcuni esempi:try { CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing); LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable(); flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE); } catch (CameraInfoUnavailableException e) { Log.w(TAG, "Cannot get flash available information", e); flashToggle.setVisibility(View.VISIBLE); }
Membri aggiunti:
CameraInfo.getSensorRotationDegrees()
Fornisce l'orientamento del sensore della videocamera rispetto all'orientamento naturale del dispositivo o, per praticità, rispetto a un orientamento descritto da una rotazione della superficie (che descrive un orientamento relativo all'orientamento naturale).
Modifiche relative all'API e correzioni di bug
- Proporzioni: per ogni caso d'uso, le applicazioni devono chiamare solo
setTargetResolution()
osetTargetAspectRatio()
. La chiamata di entrambi dallo stesso generatore restituisce un errore.- In generale, si consiglia di utilizzare
setTargetAspectRatio()
in base al design dell'interfaccia utente dell'applicazione. Le risoluzioni specifiche si basano sul caso d'uso. Ad esempio, l'anteprima si avvicina alle risoluzioni dello schermo, mentre l'acquisizione delle immagini fornisce immagini ad alta risoluzione. Per saperne di più, consulta la tabella delle risoluzioni automatiche. - Utilizza
setTargetResolution()
per casi più specifici, ad esempio quando sono richieste risoluzioni minime (per risparmiare sui calcoli) o massime (per i dettagli dell'elaborazione).
- In generale, si consiglia di utilizzare
- API Executor: è stata rimossa la chiamata
setCallbackHandler()
dalle API di configurazione dei casi d'uso. Le applicazioni possono invece impostare l'esecutore come parametro in varie altre API che impostano un callback. - Annotazioni null aggiornate per varie funzioni.
- Risolto un problema che ha causato il lancio di
java.lang.IllegalStateException at Camera$StateCallback.onError
all'apertura della fotocamera. - È stato risolto il problema per cui venivano selezionate risoluzioni troppo piccole (meno di 640 x 480) quando l'app richiedeva risoluzioni più grandi o predefinite con conseguente immagine di anteprima sfocata o bloccata. Le applicazioni che hanno bisogno specificamente di risoluzioni più piccole possono richiederle esplicitamente.
- Risolto il problema per cui la fotocamera mostrava lo schermo nero (impossibile avviare la fotocamera) dopo il ritorno da un intent che avviava un'altra applicazione fotocamera.
- Risolto un bug che causava il seguente errore quando le app venivano avviate o arrestate ripetutamente:
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
- Risolto il seguente errore che si verificava durante la disattivazione di ImageAnalysis:
java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
- Sono stati aggiunti altri test per il flusso di disconnessione della videocamera.
- Robustezza del sistema di test migliorata durante l'esecuzione di test della fotocamera posteriore.
Camera-Fotocamera2 e Camera-Core Versione 1.0.0-alpha05
5 settembre 2019
androidx.camera:camera-camera2:1.0.0-alpha05
e androidx.camera:camera-core:1.0.0-alpha05
vengono rilasciati. Questi sono gli impegni inclusi in camera-camera2:1.0.0-alpha05 e i commit inclusi camera-core:1.0.0-alpha05.
Cambio API: rinominate variabili di errore dei casi d'uso:
- Il nome di
ImageCapture.UseCaseError
è stato cambiato inImageCapture.ImageCaptureError
- Il nome di
VideoCapture.UseCaseError
è stato cambiato inVideoCapture.VideoCaptureError
- Il nome di
Aggiunta API
CameraControl
con API Tap-to-FocusÈ stata aggiunta un'API per ottenere un
CameraControl
da CameraX per una fotocamera, selezionata dall'obiettivo rivolto:CameraX.getCameraControl(LensFacing lensFacing)
Sono stati aggiunti
MeteringPointFactory
,MeteringPoint
,MeteringMode
eFocusMeteringAction
per eseguire Tocca per mettere a fuoco:MeteringPointFactory factory = new SensorOrientedMeteringPointFactory(width, height); MeteringPoint point = factory.createPoint(x, y); FocusMeteringAction action = FocusMeteringAction.Builder.from(point, MeteringMode.AF_ONLY) .addPoint(point2, MeteringMode.AE_ONLY) // could have many .setAutoFocusCallback(new OnAutoFocusListener(){ public void onFocusCompleted(boolean isSuccess) { } }) // auto calling cancelFocusAndMetering in 5 sec. .setAutoCancelDuration(5, TimeUnit.Second) .build();
È stata aggiunta l'API per
CameraControl
per avviare e annullare la misurazione della messa a fuoco:getCameraControl(lensFacing).startFocusAndMetering(action);
getCameraControl(lensFacing).cancelFocusAndMetering();
Sono state aggiunte le API per le fabbriche di punti di misurazione che aiutano a tradurre le coordinate di tocco in coordinate del sensore, in base alle classi delle viste:
MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView);
MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);
Forza la chiamata ai seguenti metodi nel thread principale (UI), generando un
IllegalStateException
quando non lo sono. Le versioni future consentiranno l'utilizzo di altri thread e assicureranno la serializzazione.CameraX.bindToLifecycle()
CameraX.unbind()
CameraX.unbindAll()
ImageAnalysis.setAnalyzer()
ImageAnalysis.getAnalyzer()
ImageAnalysis.removeAnalyzer()
Preview.removePreviewOutputListener()
Preview.getOnPreviewOutputUpdateListener()
Preview.setOnPreviewOutputUpdateListener()
Ora varie impostazioni di configurazione accettano parametri nulli e i getter corrispondenti potrebbero restituire valori nulli.
È stato risolto il problema relativo ai test su emulatori che non supportano le impostazioni AF/AE/AWB.
È stato corretto un bug di arresto anomalo durante la rotazione dell'immagine.
È stato corretto il bug per cui l'anteprima appare nera all'avvio (nessun dato della fotocamera), dopo la rotazione o il passaggio dalla fotocamera anteriore a quella posteriore e viceversa.
Sono stati rimossi i test per più casi d'uso di analisi delle immagini simultanee. Per garantire la compatibilità, le applicazioni devono collegare un solo caso d'uso di analisi delle immagini.
Sono stati aggiunti i test robolectrici iniziali per la videocamera falsa nella suite di test della videocamera (in fase di elaborazione).
Il test Camera2Inititalizer è stato rimosso perché la sua copertura non era chiara/fuorviante.
Camera-Fotocamera2 e Camera-Core versione 1.0.0-alpha04
7 agosto 2019
androidx.camera:camera-camera2:1.0.0-alpha04
e androidx.camera:camera-core:1.0.0-alpha04
vengono rilasciati. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
Modifiche alla selezione di proporzioni e risoluzione
L'obiettivo di CameraX è inizializzare correttamente una sessione della videocamera. Ciò significa che CameraX compromissioni del rapporto risoluzione/aspetto in base alle capacità del dispositivo, al fine di avviare una sessione di acquisizione come primo obiettivo, quindi le richieste esatte potrebbero non essere soddisfatte. Ciò può essere dovuto a:
- Dispositivi che non supportano la risoluzione richiesta
- Problemi di compatibilità, ad esempio su dispositivi LEGACY, per i quali è necessario utilizzare determinate risoluzioni per funzionare correttamente
- Su alcuni dispositivi, determinati formati sono disponibili solo con alcune proporzioni
- Una preferenza per "Mod16 più vicino" per la codifica JPEG o video. Consulta la sezione
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
Anche se CameraX crea e gestisce la sessione, devi sempre controllare le dimensioni delle immagini restituite nell'output del caso d'uso nel tuo codice e modificarle di conseguenza.
Sono state apportate alcune modifiche all'impostazione delle risoluzioni e delle proporzioni allo scopo di rendere l'API più chiara:
- Ora il caso d'uso dell'anteprima ha proporzioni predefinite di 4:3 quando non ne è impostata nessuna.
- Quando CameraX considera internamente le modifiche alle risoluzioni e alle proporzioni richieste in base alle capacità del dispositivo, prova innanzitutto a mantenere le stesse proporzioni (come stabilito da una qualsiasi chiamata
setTargetAspectRatio
osetTargetResolution
) - Una versione "mod16 più vicina" della risoluzione viene considerata con le stesse proporzioni.
Modalità senza blocco dell'analisi delle immagini
- Il comportamento di
ImageReaderMode.ACQUIRE_LATEST_IMAGE
ora non blocca. Acquisisce l'ultima immagine in coda, ma ignora continuamente le immagini inutilizzate per consentire alla pipeline della fotocamera di evitare il blocco. - L'analizzatore può archiviare una singola immagine per sempre senza bloccare la pipeline.
- Se l'applicazione fornisce un esecutore che poi blocca, il caso d'uso ImageAnalysis blocca.
- L'esecutore predefinito impostato internamente si comporta come un esecutore che non blocca.
Correzioni di bug
- Sono stati risolti i problemi di timeout in attesa della convergenza di 3A durante l'acquisizione di immagini su dispositivi privi di messa a fuoco automatica, esposizione automatica e bilanciamento automatico del bianco
- È stato risolto il problema che si verificava durante lo scatto rapido di immagini con Image Capture. Correzioni dell'errore:
java.lang.IllegalStateException: maxImages (2) has already been acquired
- È stato risolto il problema in cui
setLensFacing
non è stata chiamata per un caso d'uso, causando così il problemajava.lang.IllegalArgumentException: Unable to get camera ID for use case
. - Risolto il problema per cui il dispositivo LEGACY richiedeva proporzioni specifiche come risoluzione JPEG massima
- È stato risolto il problema relativo allo sfondo dell'app durante l'apertura della fotocamera
- Risolto il problema sull'API < 25, con la rimozione dell'errore
checkAndUpdateEglState: invalid current EGLDisplay
- È stato risolto il problema relativo allo scollegamento dell'anteprima dopo l'attivazione e l'avvio delle estensioni
- Gli elementi della creazione per le estensioni fotocamera e per le estensioni fotocamera sono ora pubblicati come versioni alpha
Camera-Fotocamera2 e Camera-Core versione 1.0.0-alpha03
2 luglio 2019
androidx.camera:camera-core:1.0.0-alpha03
e androidx.camera:camera-camera2:1.0.0-alpha03
vengono rilasciati. La versione 1.0.0-alpha03 contiene questi commit.
Modifiche alle API
- È stato aggiunto un chiarimento javadoc per "target" nelle chiamate di configurazione setTarget
Principale della fotocamera
- Risolto il problema dell'arresto anomalo delle superfici di input/output non configurate in caso di apertura/chiusura rapida o di associazione/slegatura
- Passa a nuove implementazioni Futures
- Correzioni di test per test più affidabili
- Il test di integrazione principale ora mostra il tempo di acquisizione delle foto
- Sviluppo della classe di compatibilità interna per gli esecutori
- Il test di temporizzazione delle immagini dell'acquisizione dell'app attende il completamento della precedente e una migliore stabilità
Estensioni
- Controlli di controllo delle versioni aggiunti
- Copertura di test aggiuntiva: callback degli eventi delle estensioni
- Miglioramenti per l'immagine e i metadati corrispondenti internamente
- Correzioni al cambio di modalità nell'app di prova
Camera-Fotocamera2 e Camera-Core versione 1.0.0-alpha02
5 giugno 2019
androidx.camera:camera-core:1.0.0-alpha02
e androidx.camera:camera-camera2:1.0.0-alpha02
vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Correzioni di bug
- Risolto il problema relativo ai valori div per zero durante l'utilizzo dell'emulatore
- È stato corretto l'errore NullPointerException/Surface richiesti (abbandono abbandonato) che si verificava su alcuni dispositivi quando si scattano foto rapidamente e si svincolano e si rivincola rapidamente i casi d'uso.
- Risolto il problema interno per garantire che gli aggiornamenti delle richieste di acquisizione abbiano effetto coerente su tutte le piattaforme
- Miglioramenti della stabilità al riavvio dei casi d'uso in nuove istanze di app
- Modifiche interne all'architettura per prepararsi al supporto degli esecutori nell'API
- Ulteriori chiarimenti su Javadoc sulla classe CameraX e sulla gestione del ciclo di vita
- Aggiunta dei test strumentati per l'app di test delle prestazioni Antelope
- Rimuovi la necessità di "-keepattributes Signature" nella configurazione di Proguard dell'app
Camera-Fotocamera2 e Camera-Core 1.0.0-alpha01
7 maggio 2019
Vengono rilasciate le versioni androidx.camera:camera-core:1.0.0-alpha01
e
androidx.camera:camera-camera2:1.0.0-alpha01
. La versione 1.0.0-alpha01 contiene questi commit.
Ciclo di vita della fotocamera versione 1.0.0-beta11
14 ottobre 2020
androidx.camera:camera-lifecycle:1.0.0-beta11
viene rilasciato. La versione 1.0.0-beta11 contiene questi commit.
Correzioni di bug
<UseCase>.getTargetRotation()
restituiràSurface.ROTATION_0
se chiamato prima di essere associato a un'istanza Fotocamera, a meno che non sia stata impostata una rotazione target in Builder o nel caso d'uso. (I80fcd)
Ciclo di vita della fotocamera versione 1.0.0-beta10
23 settembre 2020
androidx.camera:camera-lifecycle:1.0.0-beta10
viene rilasciato. La versione 1.0.0-beta10 contiene questi commit.
Correzioni di bug
- Rilascia per supportare Fotocamera-Core 1.0.0-beta10
Ciclo di vita della fotocamera versione 1.0.0-beta09
16 settembre 2020
androidx.camera:camera-lifecycle:1.0.0-beta09
viene rilasciato. La versione 1.0.0-beta09 contiene questi commit.
Ciclo di vita della fotocamera versione 1.0.0-beta08
19 agosto 2020
androidx.camera:camera-lifecycle:1.0.0-beta08
viene rilasciato. La versione 1.0.0-beta08 contiene questi commit.
Correzioni di bug
- L'inizializzazione non dovrebbe più arrestarsi in modo anomalo quando utilizzi un contesto che non restituisce un oggetto Application da
Context.getApplicationContext()
. (I3d3c9, b/160817073).
Ciclo di vita della fotocamera versione 1.0.0-beta07
22 luglio 2020
androidx.camera:camera-lifecycle:1.0.0-beta07
viene rilasciato. La versione 1.0.0-beta07 contiene questi commit.
Ciclo di vita della fotocamera versione 1.0.0-beta06
24 giugno 2020
androidx.camera:camera-lifecycle:1.0.0-beta06
viene rilasciato. La versione 1.0.0-beta06 contiene questi commit.
Modifiche alle API
- CameraX può ora essere configurata con ProcessFotocameraProvider#configureInstance() prima di chiamare ProcessFotocameraProvider#getInstance(). Ciò consente la personalizzazione di CameraXConfig senza richiedere l'implementazione di CameraXConfig.Provider nella classe dell'applicazione dell'app. (Ia1a8d).
Ciclo di vita della fotocamera versione 1.0.0-beta05
10 giugno 2020
androidx.camera:camera-lifecycle:1.0.0-beta05
viene rilasciato. La versione 1.0.0-beta05 contiene questi commit.
Correzioni di bug
- È stato risolto il problema che causava l'arresto anomalo dell'app durante l'inizializzazione di CameraX mentre il telefono è in modalità Non disturbare. Un elemento
InitializationException
che contiene unCameraUnavailableException
verrà impostato sul valoreListenableFuture
del risultato dell'inizializzazione anziché causare l'arresto anomalo dell'applicazione. (I9909a, b/149413835)
Ciclo di vita della fotocamera versione 1.0.0-beta04
27 maggio 2020
androidx.camera:camera-lifecycle:1.0.0-beta04
viene rilasciato. La versione 1.0.0-beta04 contiene questi commit.
Ciclo di vita della fotocamera versione 1.0.0-beta03
15 aprile 2020
androidx.camera:camera-lifecycle:1.0.0-beta03
viene rilasciato. La versione 1.0.0-beta03 contiene questi commit.
Correzioni di bug
- È stata corretta la regressione della versione beta03, in cui la chiamata a
bindToLifecycle()
senzaUseCase
causava un'eccezione generata. Questo ha impedito il recupero di un oggettoCamera
senza associare unUseCase
. - Correzioni a supporto della release di
camera-core
Ciclo di vita della fotocamera versione 1.0.0-beta01
26 febbraio 2020
androidx.camera:camera-lifecycle:1.0.0-beta01
viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.
Correzioni di bug
- È stata corretta la documentazione che indica che quando si ottiene un
ProcessCameraProvider
durante l'inizializzazione, viene utilizzata una configurazione predefinita e l'estensione diApplication
è facoltativa. (I5e395).
Ciclo di vita della fotocamera versione 1.0.0-beta02
1° aprile 2020
androidx.camera:camera-lifecycle:1.0.0-beta02
viene rilasciato. La versione 1.0.0-beta02 contiene questi commit.
Correzioni di bug
- Aggiornato per supportare le correzioni di bug negli elementi
camera-camera2:1.0.0-beta02
ecamera-core:1.0.0-beta02
.
Ciclo di vita della fotocamera versione 1.0.0-alpha10
10 febbraio 2020
androidx.camera:camera-lifecycle:1.0.0-alpha10
viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.
Modifiche alle API
- È stata aggiunta l'annotazione
@MainThread
a BindToLifecycle, svincola e svincola tutti i metodi. (I990d2)
Ciclo di vita fotocamera versione 1.0.0-alpha03
22 gennaio 2020
androidx.camera:camera-lifecycle:1.0.0-alpha03
viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.
regolari
- Varie correzioni e aggiornamenti per il supporto delle modifiche al core di Camera e Fotocamera2.
Ciclo di vita fotocamera versione 1.0.0-alpha02
18 dicembre 2019
androidx.camera:camera-lifecycle:1.0.0-alpha02
viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche delle dipendenze
- Aggiornato per utilizzare
androidx.camera:camera-core:1.0.0-alpha08
.
Ciclo di vita fotocamera versione 1.0.0-alpha01
4 dicembre 2019
androidx.camera:camera-lifecycle:1.0.0-alpha01
viene rilasciato. La versione 1.0.0-alpha01 di camera-lifecycle contiene questi commit
Note relative all'API
- Viene aggiunto l'artefatto relativo al ciclo di vita della fotocamera, che fornisce l'interfaccia
LifeCycleCameraProvider
e un'implementazione chiamataProcessCameraProvider
che fornisce in core molte delle funzioni della classe CameraX precedente e si ottiene tramite un metodogetInstance()
. - Le app devono includere la raccolta del ciclo di vita della fotocamera per poter usare CameraX.
- Leggi le note nella sezione camera-core per informazioni su come eseguire l'inizializzazione di CameraX utilizzando un
ProcessCameraProvider
.
Estensioni della videocamera e versione 1.0.0 di Camera-View
Versione 1.0.0-alpha32
15 dicembre 2021
androidx.camera:camera-extensions:1.0.0-alpha32
e androidx.camera:camera-view:1.0.0-alpha32
vengono rilasciati. La versione 1.0.0-alpha32 contiene questi commit.
Modifiche alle API
- Sono state rimosse le annotazioni
@RequiresApi(21)
non necessarie dalle classi/interfacce interne. (I8e286, b/204917951) - Aggiorna i file API per l'artefatto delle estensioni della fotocamera. (If683a, b/161377155)
Correzioni di bug
- Non consentire all'app di attivare le modalità di estensione durante l'associazione di
VideoCapture
. Le estensioni CameraX supportano soloImageCapture
ePreview
.VideoCapture
non può ancora essere supportato. Se l'app associaVideoCapture
e attiva qualsiasi modalità di estensione, viene generato unIllegalArgumentException
. (I0d87b) CameraSelector#filter
non genera piùIllegalArgumentException
quando il set di risultati è vuoto. (I27804)- L'API
ExtensionsManager#getInstance
è stata rinominata comegetInstanceAsync
perché restituisceListenableFuture
. Il suffisso asincrono del nome della funzione può indicare chiaramente che si tratta di una funzione asincrona. (I279d2) - Rimuovi il parametro di risoluzione dall'API
ExtensionsManager#getEstimatedCaptureLatencyRange
poiché gli utenti non possono sapere quali dimensioni sono supportate per il caso d'usoImageCapture
e non possono distinguere se le informazioni sulla latenza restituite riguardano la dimensione massima dell'output di acquisizione o il parametro di risoluzione dell'input. (I74bb2). - Sposta il parametro
CameraProvider
delle funzioniExtensionsManager
nell'APIgetInstance()
. Per fare in modo che gli utenti non debbano inserire il parametroCameraProvider
ogni volta quando chiamano le funzioniExtensionsManager
. (Ic7e48).
Versione 1.0.0-alpha31
17 novembre 2021
androidx.camera:camera-extensions:1.0.0-alpha31
e androidx.camera:camera-view:1.0.0-alpha31
vengono rilasciati. La versione 1.0.0-alpha31 contiene questi commit.
Modifiche alle API
- È stato aggiunto CameraSelector#filter all'API pubblica per filtrare un elenco di CameraInfos in base a CameraSelector. (I105d0)
Correzioni di bug
- È stato risolto il problema di arresto anomalo durante il cambio rapido della modalità delle estensioni su alcuni dispositivi. (Iebbef).
Versione 1.0.0-alpha30
13 ottobre 2021
androidx.camera:camera-extensions:1.0.0-alpha30
e androidx.camera:camera-view:1.0.0-alpha30
vengono rilasciati. La versione 1.0.0-alpha30 contiene questi commit.
Modifiche alle API
- È stata aggiunta l'annotazione @RichiedisApi(21) a tutte le classi di CameraX e ha eliminato minSdkVersion da AndroidManifest.xml. Ciò consentirà di integrare facilmente il core della fotocamera nelle applicazioni che hanno un valore minSdkVersion inferiore a 21, ma che desiderano utilizzare in modo condizionale i percorsi di codice che si basano sull'API 21 e versioni successive. Per qualsiasi applicazione con minSdkVersion 21 o successive, questa modifica non richiede alcuna azione. (Ie7f2e, b/200599470).
Correzioni di bug
- Risolto il problema AbstractMethodError che si verifica quando ProGuard è attivato. (Iae468, b/201177844)
Versione 1.0.0-alpha29
29 settembre 2021
androidx.camera:camera-extensions:1.0.0-alpha29
e androidx.camera:camera-view:1.0.0-alpha29
vengono rilasciati. La versione 1.0.0-alpha29 contiene questi commit.
Modifiche alle API
- L'annotazione sperimentaleUseCaseGroup viene rimossa ora che le API non sono più sperimentali. (I01ef5)
- rimuovi
RotationProvider#removeAllListeners()
. Usa inveceRotationProvider#removeListener(...)
. (Id9d4a) - Aggiornata la classe RotazioneRicevir: modificata set/clear Listener in add/remove/removeAll, rimuovi la variazione setListener che utilizza il thread principale per impostazione predefinita e aggiunta l'annotazione dei metodi. (Ib1669)
Correzioni di bug
- Il nome ExtensionMode#BEAUTY è stato cambiato in FACE_RETOUCH per presentare correttamente ciò che viene fatto in modalità estensione. (I61f54, b/198515274).
- Risolto il problema per cui la videocamera si chiudeva in modo imprevisto quando più CameraController e PreviewView vengono utilizzate in un'unica attività. (Ibfd18, b/197539358)
Versione 1.0.0-alpha28
18 agosto 2021
androidx.camera:camera-extensions:1.0.0-alpha28
e androidx.camera:camera-view:1.0.0-alpha28
vengono rilasciati. La versione 1.0.0-alpha28 contiene questi commit.
Modifiche alle API
- L'annotazione sperimentaleUseCaseGroupLifecycle viene rimossa ora che le API non sono più sperimentali. (I17b85).
- ha eseguito il refactoring di RotazioneListener e lo ha rinominato in RotazioneProvider. Continua a fornire la stessa funzionalità con un'API leggermente diversa. (Idffc5)
- rinomina TAP_TO_FOCUS_UNSUCCESSFUL in TAP_TO_FOCUS_NOT_FOCUSED e TAP_TO_FOCUS_SUCCESSFUL in TAP_TO_FOCUS_FOCUSED. OutputSize finale (I099fa)
Correzioni di bug
- Rimosse le classi
<EffectName><UseCase>Extender
deprecate, ExtensionsErrorListener e le relative API ExtensionsManager. (I3b8c3).
Versione 1.0.0-alpha27
21 luglio 2021
androidx.camera:camera-extensions:1.0.0-alpha27
e androidx.camera:camera-view:1.0.0-alpha27
vengono rilasciati. La versione 1.0.0-alpha27 contiene questi commit.
Modifiche alle API
- È stata promossa l'API dell'area visibile all'esterno dell'esperimento. Rimuovi l'annotazione sperimentale dell'API. (I717ea)
- Rinominato
CoordinateTransform#getTransform
inCoordinateTransform#transform
e aggiornato JavaDoc (I864ae)
Correzioni di bug
- È stato risolto il problema di stretching della modalità
PreviewView PERFORMANCE
durante l'utilizzo combinato con l'UI di Scrivi. (Ie1137, b/183864890)
Versione 1.0.0-alpha26
30 giugno 2021
androidx.camera:camera-extensions:1.0.0-alpha26
e androidx.camera:camera-view:1.0.0-alpha26
vengono rilasciati. La versione 1.0.0-alpha26 contiene questi commit.
Modifiche alle API
- aggiungi un nuovo metodo
CameraController#getTapToFocusState()
che espone l'ultimo risultato della funzionalità Tocca per mettere a fuoco. (Iaccb0) - aggiungendo ulteriori funzionalità di base della fotocamera a CameraController: getter/setter per proporzioni target, risoluzione target, modalità di acquisizione, CameraControl ed esecutori personalizzati. (Iea8f2).
- aggiungi una classe RotazioneRicevir che riceva le modifiche alla rotazione della superficie. Consente di impostare la rotazione target quando il dispositivo è in modalità verticale/orizzontale fissa. (Ib278f)
- Sono state esposte nuove API pubbliche getestimatedAcquisisciLatenzaRange nella classe ExtensionsManager. (I6a8ec)
- ExtensionsErrorListener deprecato. Attualmente, questa interfaccia viene utilizzata solo per monitorare l'assenza di un'anteprima o di un'acquisizione di immagini quando si attivano le modalità di estensione. CameraX aggiungerà automaticamente un'ulteriore anteprima o Image Capture per consentire il corretto funzionamento delle funzioni dell'estensione. Dopodiché, non verranno segnalati errori tramite questa interfaccia. (I47d9e).
- Sono state esposte le nuove API pubbliche ExtensionsManager getInstance, isExtensionAvailable e getExtensionEnabledFotocameraSelector e le classi
<EffectName><UseCase>Extender
precedenti e le API correlate sono state ritirate. (I329e6).
Versione 1.0.0-alpha25
2 giugno 2021
androidx.camera:camera-extensions:1.0.0-alpha25
e androidx.camera:camera-view:1.0.0-alpha25
vengono rilasciati. La versione 1.0.0-alpha25 contiene questi commit.
Modifiche alle API
- Le API dogfood CameraFilter non sono più in fase sperimentale e diventano API formali. Possono essere utilizzati senza attivazione annotata. (I4bc94).
- Aggiungi un'utilità che trasforma le coordinate tra i casi d'uso. Esempio di utilizzo: trasformare le coordinate rilevate nel caso d'uso ImageAnalysis ed evidenziare l'oggetto rilevato in anteprima. (I63ab1, b/137515129)
CameraView
rimosso.CameraView
è stato sostituito daCameraController
. Per informazioni su come eseguire la migrazione, consulta la guida: (Id5005)
Correzioni di bug
ExperimentalUseCaseGroupLifecycle
sostituito conExperimentalUseCaseGroup
. (I3b2ef, b/159033688).
Versione 1.0.0-alpha24
21 aprile 2021
androidx.camera:camera-extensions:1.0.0-alpha24
e androidx.camera:camera-view:1.0.0-alpha24
vengono rilasciati. La versione 1.0.0-alpha24 contiene questi commit.
Correzioni di bug
- L'annotazione
@Experimental
è stata sostituita con@RequiresOptIn
nelle API sperimentali. Per chiamare le API sperimentali, utilizzaandroidx.annotation.OptIn
anzichéandroidx.annotation.experimental.UseExperimental
deprecato. (Iff226). - Risolto il problema di allungamento di PreviewView su Samsung J5 Prime (Ib10b6)
Estensioni della videocamera e visualizzazione versione 1.0.0-alpha23
24 marzo 2021
androidx.camera:camera-extensions:1.0.0-alpha23
e androidx.camera:camera-view:1.0.0-alpha23
vengono rilasciati. La versione 1.0.0-alpha23 contiene questi commit.
Modifiche alle API
- CameraView verrà ritirata. Usa invece
LifecycleCameraController
. Vedi la guida alla migrazione (Idac2c) - Aggiunta l'annotazione FloatRange a setLinearZoom() (I69971)
Correzioni di bug
- Sono state bloccate le dipendenze per la visualizzazione della videocamera per basarsi sugli artefatti 1.0.0. A seconda della visualizzazione della videocamera, la risoluzione della dipendenza di Gradle non eseguirà più l'upgrade automatico del core della fotocamera, della videocamera2 e del ciclo di vita della videocamera agli ultimi artefatti 1.1.0, anche se la visualizzazione della videocamera è ancora compatibile con questi artefatti se sono impostati esplicitamente per l'uso 1.1.0. (Ic8fa1, b/181599852).
- È stata corretta l'anteprima allungata di Samsung A3 in PreviewView. (Iacb30, b/180121821).
- Risolto il problema per cui non è possibile impostare il selettore della videocamera prima dell'inizializzazione della videocamera. (Ic8bd0)
Estensioni della videocamera e visualizzazione versione 1.0.0-alpha22
24 febbraio 2021
androidx.camera:camera-extensions:1.0.0-alpha22
e androidx.camera:camera-view:1.0.0-alpha22
vengono rilasciati. La versione 1.0.0-alpha22 contiene questi commit.
Modifiche alle API
- aggiungi un getter CameraInfo a CameraController. (Ib8138, b/178251727)
Correzioni di bug
- Risolto il problema ExtensionsErrorListener per segnalare gli errori quando è associato solo Preview o ImageAcquisisci. (I5ae39).
Estensioni della videocamera e visualizzazione versione 1.0.0-alpha21
27 gennaio 2021
androidx.camera:camera-extensions:1.0.0-alpha21
e androidx.camera:camera-view:1.0.0-alpha21
vengono rilasciati. La versione 1.0.0-alpha21 contiene questi commit.
Rilascio per supportare altri elementi della raccolta della fotocamera.
Estensioni della videocamera e visualizzazione versione 1.0.0-alpha20
16 dicembre 2020
androidx.camera:camera-extensions:1.0.0-alpha20
e androidx.camera:camera-view:1.0.0-alpha20
vengono rilasciati. La versione 1.0.0-alpha20 contiene questi commit.
Rilascio per supportare altri elementi della raccolta della fotocamera.
Estensioni della videocamera e versione 1.0.0-alpha19
11 novembre 2020
androidx.camera:camera-extensions:1.0.0-alpha19
e androidx.camera:camera-view:1.0.0-alpha19
vengono rilasciati. La versione 1.0.0-alpha19 contiene questi commit.
Correzioni di bug
- L'annotazione
@ExperimentalVideo
è stata introdotta per la visualizzazione della videocamera. Questa annotazione contrassegna le API che espongono funzionalità video sperimentali, che sono soggette a modifiche man mano che le funzionalità vengono completamente sviluppate. Qualsiasi metodo che utilizzi queste API deve utilizzare l'annotazione@UseExperimental
conExperimentalVideo
comemarkerClass
. (I6d729)
Estensioni della videocamera versione 1.0.0-alpha18
14 ottobre 2020
androidx.camera:camera-extensions:1.0.0-alpha18
viene rilasciato. La versione 1.0.0-alpha18 contiene questi commit.
Correzioni di bug
- È stata migliorata la latenza dell'inizializzazione di CameraX e del bindToLifecycle (I61dc5)
<UseCase>.getTargetRotation()
restituiràSurface.ROTATION_0
se chiamato prima di essere associato a un'istanza Fotocamera, a meno che non sia stata impostata una rotazione target in Builder o nel caso d'uso. (I80fcd)
Camera-View versione 1.0.0-alpha18
14 ottobre 2020
androidx.camera:camera-view:1.0.0-alpha18
viene rilasciato. La versione 1.0.0-alpha18 contiene questi commit.
Rilascio per supportare altri elementi della raccolta della fotocamera.
Estensioni della videocamera versione 1.0.0-alpha17
23 settembre 2020
androidx.camera:camera-extensions:1.0.0-alpha17
viene rilasciato. La versione 1.0.0-alpha17 contiene questi commit.
Correzioni di bug
- Rilascia per supportare Fotocamera-Core 1.0.0-beta10
Camera-View versione 1.0.0-alpha17
23 settembre 2020
androidx.camera:camera-view:1.0.0-alpha17
viene rilasciato. La versione 1.0.0-alpha17 contiene questi commit.
Correzioni di bug
- Rilascia per supportare Fotocamera-Core 1.0.0-beta10
Estensioni della videocamera versione 1.0.0-alpha16
16 settembre 2020
androidx.camera:camera-extensions:1.0.0-alpha16
viene rilasciato. La versione 1.0.0-alpha16 contiene questi commit.
Correzioni di bug
- Metodo aggiunto in
ExtensionsManager
per ottenere un oggettoExtensions
che viene utilizzato per abilitare ed eseguire query sulle estensioni sulle istanze Fotocamera (I4fb7e)
Camera-View versione 1.0.0-alpha16
16 settembre 2020
androidx.camera:camera-view:1.0.0-alpha16
viene rilasciato. La versione 1.0.0-alpha16 contiene questi commit.
Modifiche alle API
PreviewView#setDeviceRotationForRemoteDisplayMode()
ePreviewView#getDeviceRotationForRemoteDisplayMode()
rimosse. I due metodi consentono di personalizzare la rotazione dell'anteprima, quando la rotazione desiderata non è la rotazione della visualizzazione, ad esempio display remoto. Per gestire ora la rotazione dell'anteprima non display, imposta la rotazione desiderata conPreview#setTargetRotation()
e ilPreviewView#getViewPort(targetRotation)
appena aggiunto. (Ib62cc)- Rinominato
createSurfaceProvider()
ingetSurfaceProvider()
. Il metodo restituisce sempre la stessa istanza di Preview.SurfaceProvider. (Iff83c)
Correzioni di bug
- È stato forzato l'utilizzo di PreviewView per TextureView se l'effetto dell'estensione è attivato e l'implementazione della libreria del fornitore deve eseguire un processo speciale nella piattaforma di output. (I0c3cc)
- Consenti la rotazione target arbitraria per l'anteprima. Le informazioni sulla trasformazione vengono calcolate e restituite all'utente all'istante tramite un nuovo callback
TranformationInfoListener
. (I21470)
Problemi noti
- In PreviewView,
OnClickListener#onClick()
non viene richiamato quando l'utente finale fa clic su PreviewView. L'evento touch viene utilizzato erroneamente da PreviewView#onTouchEvent(). Il problema verrà risolto nella prossima release. - Il MeteringPoint ottenuto da
PreviewView#getMeteringPointFactory()
potrebbe essere errato se ViewPort viene utilizzato con PreviewView.
Estensioni della videocamera versione 1.0.0-alpha15
19 agosto 2020
androidx.camera:camera-extensions:1.0.0-alpha15
viene rilasciato. La versione 1.0.0-alpha15 contiene questi commit.
Correzioni di bug
- Il metodo
ExtensionsManager.init()
ora accetta un Contesto come parametro anziché avere 0 argomenti. (Ife754) L'inizializzazione non dovrebbe più arrestarsi in modo anomalo quando utilizzi un contesto che non restituisce un oggetto Application da
Context.getApplicationContext()
. (I3d3c9, b/160817073).Camera-View versione 1.0.0-alpha15
19 agosto 2020
androidx.camera:camera-view:1.0.0-alpha15
viene rilasciato. La versione 1.0.0-alpha15 contiene questi commit.
Correzioni di bug
DisplayOrientedMeteringPointFactory
prende un'istanzaCameraInfo
anziché un'istanzaCameraSelector
, pertanto esiste una mappatura diretta alla fotocamera per la quale il produttore genererà i punti di accesso. Tutte le classi che utilizzanoDisplayOrientedMeteringPointFactory
prendono anche un'istanzaCameraInfo
anzichéCameraSelector
. (I400c1)TextureViewMeteringPointFactory
rimosso.PreviewView
fornisce un'API pubblica (createMeteringPointFactory()
) per creare un valore di fabbrica di punti di misurazione, indipendentemente dal fatto che utilizziTextureView
oSurfaceView
. (Ide693)- rinomina le modalità di implementazione
SURFACE_VIEW
/TEXTURE_VIEW
di PreviewView inPERFORMANCE
/COMPATIBLE
.PERFORMANCE
è la modalitàSURFACE_VIEW
precedente eCOMPATIBLE
è la modalitàTEXTURE_VIEW
precedente. (I0edc2) - Per l'acquisizione di immagini, sovrascrivi il flag dell'opzione Capovolgi orizzontale nei metadati in base alla direzione della fotocamera. (I28499)
Estensioni della videocamera versione 1.0.0-alpha14
22 luglio 2020
androidx.camera:camera-extensions:1.0.0-alpha14
viene rilasciato. La versione 1.0.0-alpha14 contiene questi commit.
Camera-View versione 1.0.0-alpha14
22 luglio 2020
androidx.camera:camera-view:1.0.0-alpha14
viene rilasciato. La versione 1.0.0-alpha14 contiene questi commit.
Estensioni della videocamera versione 1.0.0-alpha13
24 giugno 2020
androidx.camera:camera-extensions:1.0.0-alpha13
viene rilasciato. La versione 1.0.0-alpha13 contiene questi commit.
Correzioni di bug
- Sono state aggiunte interfacce sperimentali per il filtro delle fotocamere in base all'ID e alle caratteristiche della fotocamera. (I28f61).
Camera-View versione 1.0.0-alpha13
24 giugno 2020
androidx.camera:camera-view:1.0.0-alpha13
viene rilasciato. La versione 1.0.0-alpha13 contiene questi commit.
Correzioni di bug
- L'arresto anomalo di CameraView non comporta più un arresto anomalo con un'eccezione LegalArgumentException durante l'associazione a un LifecycleOwner il cui ciclo di vita passa a uno stato DESTROYED subito dopo l'associazione. L'associazione dei cicli di vita in uno stato DISTRUTTO non tenterà di aprire la fotocamera. (I7c2b8).
- PreviewView StreamState è ora disponibile tramite CameraView.getPreviewStreamState() (I21a2b)
Estensioni della videocamera versione 1.0.0-alpha12
10 giugno 2020
androidx.camera:camera-extensions:1.0.0-alpha12
viene rilasciato. La versione 1.0.0-alpha12 contiene questi commit.
Correzioni di bug
- È stato risolto il problema che causava l'arresto anomalo dell'app durante l'inizializzazione di CameraX mentre il telefono è in modalità Non disturbare. Un elemento
InitializationException
che contiene unCameraUnavailableException
verrà impostato sul valoreListenableFuture
del risultato dell'inizializzazione anziché causare l'arresto anomalo dell'applicazione. (I9909a, b/149413835)
Camera-View versione 1.0.0-alpha12
10 giugno 2020
androidx.camera:camera-view:1.0.0-alpha12
viene rilasciato. La versione 1.0.0-alpha12 contiene questi commit.
Correzioni di bug
- Aggiungi l'API
PreviewView#getBitmap()
che restituisce una rappresentazione bitmap dei contenuti visualizzati sulla piattaforma di anteprima. (I9b500, b/157659818)
Estensioni della videocamera versione 1.0.0-alpha11
27 maggio 2020
androidx.camera:camera-extensions:1.0.0-alpha11
viene rilasciato. La versione 1.0.0-alpha11 contiene questi commit.
Camera-View versione 1.0.0-alpha12
10 giugno 2020
androidx.camera:camera-view:1.0.0-alpha12
viene rilasciato. La versione 1.0.0-alpha12 contiene questi commit.
Nuove funzionalità
Modifiche alle API
Correzioni di bug
- Aggiungi l'API
PreviewView#getBitmap()
che restituisce una rappresentazione bitmap dei contenuti visualizzati sulla piattaforma di anteprima. (I9b500, b/157659818)
Camera-View versione 1.0.0-alpha11
27 maggio 2020
androidx.camera:camera-view:1.0.0-alpha11
viene rilasciato. La versione 1.0.0-alpha11 contiene questi commit.
Modifiche alle API
- Aggiungi l'API
PreviewView#getPreviewStreamState
che consente alle app di osservare se l'anteprima è in streaming o meno. Quando la visualizzazione di anteprima è in modalità TEXTURE_VIEW, lo stato STREAMING garantisce inoltre che l'immagine di anteprima sia visibile. (Ic0906, b/154652477). - È stata aggiunta l'API
PreviewView#setDeviceRotationForRemoteDisplayMode()
per fornire la rotazione dei dispositivi per i calcoli di trasformazione se l'applicazione è in esecuzione in modalità di visualizzazione remota. (I59b95, b/153514525)
Correzioni di bug
- È stato risolto il problema di distorsione dell'anteprima su
FULL/LIMITED/LEVEL_3
fotocamere con Android 7.0 e versioni precedenti. Utilizzo forzato della modalitàImplementationMode#TEXTURE_VIEW
se Android è 7.0 o versioni precedenti. (I83e30, b/155085307) - Parametro
CameraInfo
rimosso daPreviewView#createSurfaceProvider()
. OraPreviewView
lo recupera internamente daSurfaceRequest
. (If18f0, b/154652477) - È stato corretto il formato predefinito di Video Capture (16:9) in CameraView. (Ie6a7b, b/153237864).
- Risolvi
PreviewView
problemi relativi allo schermo nero quando è stato rimosso il frammentoPreview
e poi è stato eseguito lo scorrimento indietro in ViewPager2. È stato risolto il problema anche quandoremoveView(previewview)
e poiaddView(previewView)
. (Iab555, b/149877652, b/147354615). - Aggiorna l'API
CameraView#takePicture()
per consentire il salvataggio delle immagini suUri
eOutputStream
. Aggiorna l'app di test in modo che utilizziUri
come esempio canonico. (Ia2459, b/153607583). - Puoi impostare il tipo di scala di PreviewView da un layout XML impostando l'attributo
ScaleType
. (I08565, b/153015659) - Il partner
CameraView.ScaleType
è stato rimosso. Utilizza invecePreviewView.ScaleType
per impostare/ottenere un tipo di scala con CameraView. (Ia8974, b/153014831) - Assegna a
PreviewView
un colore di sfondo per impostazione predefinita, se non ne ha già uno. In questo modo, i contenuti sottostanti non saranno visibili prima dell'avvio dello stream di anteprima. (I09fad)
Estensioni della videocamera versione 1.0.0-alpha10
15 aprile 2020
androidx.camera:camera-extensions:1.0.0-alpha10
viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.
Correzioni di bug
- Correzioni per il supporto del rilascio di Camera-Core
Camera-View versione 1.0.0-alpha10
15 aprile 2020
androidx.camera:camera-view:1.0.0-alpha010
viene rilasciato. La versione 1.0.0-alpha010 contiene questi commit.
Correzioni di bug
- Risolvi un problema noto precedente per cui l'implementazione di SurfaceView di
PreviewView
non funzionava bene su determinati dispositivi e causava l'arresto anomalo dell'app dopo la ripresa dell'anteprima. (I5ed6b).
Estensioni della videocamera versione 1.0.0-alpha09
1° aprile 2020
androidx.camera:camera-extensions:1.0.0-alpha09
viene rilasciato. La versione 1.0.0-alpha09 contiene questi commit.
Correzioni di bug
- Aggiornato per supportare le correzioni di bug negli elementi
camera-camera2:1.0.0-beta02
,camera-core:1.0.0-beta02
ecamera-lifecycle:1.0.0-beta02
Camera-View versione 1.0.0-alpha09
Il 1° aprile 2020
viene rilasciato androidx.camera:camera-view:1.0.0-alpha09
. La versione 1.0.0-alpha09 contiene questi commit.
Problemi noti
- L'uso di
ImplementationMode.SURFACE_VIEW
conPreviewView
potrebbe non funzionare correttamente su alcuni dispositivi perché il valoreSurfaceView
utilizzato per l'anteprima rende la sua superficie non valida quando il ciclo di vita della finestra in cui si trova viene interrotto. Quando viene riavviata, la fotocamera viene riaperta e potrebbe tentare di riprendere l'anteprima prima che la piattaforma diSurfaceView
diventi di nuovo valida. Per ora, dovresti usareImplementationMode.TEXTURE_VIEW
.
Modifiche alle API
- Rinominato
PreviewView.setImplementationMode()
inPreviewView.setPreferredImplementationMode()
. - Rinominato
PreviewView.getImplementationMode()
inPreviewView.getPreferredImplementationMode()
. PreviewView.getSurfaceProvider()
sostituito daPreviewView.createSurfaceProvider(CameraInfo)
, che utilizza un'istanzaCameraInfo
con null, utilizzata per ottimizzare l'anteprima medianteImplementationMode.SURFACE_VIEW
, quando possibile. Se viene passata un'istanza nulla o se imposti la modalità di implementazione preferita suImplementationMode.TEXTURE_VIEW
,ImplementationMode.TEXTURE_VIEW
viene utilizzato internamente.Il seguente esempio di codice mostra come in precedenza un caso d'uso in anteprima veniva utilizzato con PreviewView.
preview.setSurfaceProvider(previewView.previewSurfaceProvider) cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
Al momento puoi scrivere quanto segue:
val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview) previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))
L'annotazione
@UiThread
è stata aggiunta aPreviewView.getSurfaceProvider()
, il che significa che deve essere chiamata dal thread principale. (I192f3).È stato aggiunto
PreviewView.setScaleType()
che consente di impostare il tipo di scala dell'anteprima. Accetta uno dei valori inPreviewView.ScaleType
e il valore predefinito èPreviewView.ScaleType.FILL_CENTER
.PreviewView.getScaleType()
aggiunto.È stato rimosso il supporto per l'impostazione della modalità di implementazione per
PreviewView
in un layout XML utilizzando l'attributoimplementationMode
.Aggiungi l'API
createMeteringPointFactory()
a PreviewView per supportare la conversione (x, y) inPreviewView
inMeteringPoint
. (Ib36d7)
Correzioni di bug
- Sono stati corretti i casi in cui viene visualizzata un'anteprima errata dopo la modifica delle dimensioni di
PreviewView
. (I71101)
Estensioni della videocamera versione 1.0.0-alpha08
26 febbraio 2020
androidx.camera:camera-extensions:1.0.0-alpha08
viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.
Camera-View versione 1.0.0-alpha08
26 febbraio 2020
androidx.camera:camera-view:1.0.0-alpha08
viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.
Correzioni di bug
ListenableFuture
sostituito il giornoSurfaceRequest.provideSurface()
conExecutor
eCallback
. Questo semplifica l'API perché non richiede più la gestione delle eccezioni suprovideSurface()
e impone l'impossibilità di annullare il callbackprovideSurface()
. Questo per evitare gli arresti anomali sui dispositivi meno recenti causati dal rilascio anticipato delle piattaforme. L'oggettoSurfaceRequest.Result
viene ora utilizzato per monitorare in che modoSurfaceRequest
utilizza il valoreSurface
fornito. (I7854b)- Rinominato
SurfaceRequest.setSurface(Surface)
inSurfaceRequest.provideSurface(Surface)
eSurfaceRequest.setWillNotComplete()
inSurfaceRequest.willNotProvideSurface()
. (I224fe) - È stata corretta l'inizializzazione delle varianti dell'app con ProGuard attivato mantenendo il flag che imposta il provider
CameraXConfig
predefinito. (I2d6c1).
Estensioni della videocamera versione 1.0.0-alpha07
10 febbraio 2020
androidx.camera:camera-extensions:1.0.0-alpha07
viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.
Correzioni di bug
- Gli argomenti precedentemente passati in
ImageCapture.OnImageSavedCallback.onError()
eImageCapture.OnImageCapturedCallback.onError()
sono stati sostituiti da un singolo argomentoImageCaptureException
, che contiene ancora tutte le informazioni trasmesse in precedenza. - L'argomento del file precedentemente passato a
ImageCapture.OnImageSavedCallback.onImageSaved()
è stato rimosso. (I750d2)
Camera-View versione 1.0.0-alpha07
10 febbraio 2020
androidx.camera:camera-view:1.0.0-alpha07
viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.
Modifiche alle API
- L'implementazione
TextureView
diPreviewView
ora imposta le dimensioni diTextureView
sulla dimensione di output del sensore della fotocamera prima di ridimensionarla in modo da riempire l'elementoPreviewView
principale. Se vuoi che l'anteprima della videocamera riempia un'intera parte dell'interfaccia utente (ad esempio, l'intero schermo), non impostare le dimensioni diPreviewView
su un valore fisso o farle includere i contenuti (utilizzando l'attributo "wrap_content
", ad esempio), l'anteprima della videocamera potrebbe riempire solo una parte diPreviewView
(se le dimensioni di output del sensore della videocamera sono inferiori). Devi invece impostarePreviewView
sulle dimensioni dell'elemento padre (ad esempio, utilizzando l'attributo "match_parent
"). (1204869)
Correzioni di bug
- Aggiornamento di
ImageCapture
completato per consentire il salvataggio delle immagini inUri
eOutputStream
. Combinazione di metoditakePicture
con sovraccarico in uno. App di test aggiornata in modo da utilizzareUri
come esempio canonico. (Ia3bec). Preview.PreviewSurfaceProvider
è stato rinominato inPreview.SurfaceProvider
. GliSurfaceProvider
non richiedono più agli sviluppatori di creare il proprioListenableFuture
e la fornitura di unSurface
viene ora eseguita tramite un nuovo oggettoSurfaceRequest
. Il metodoPreview.getPreviewSurfaceProvider()
è stato rimosso a causa del suo potenziale uso improprio quandoPreview
è abbinato ad altre classi, comePreviewView
. (I20105)- Gli argomenti precedentemente passati in
ImageCapture.OnImageSavedCallback.onError()
eImageCapture.OnImageCapturedCallback.onError()
sono stati sostituiti da un singolo argomentoImageCaptureException
, che contiene ancora tutte le informazioni trasmesse in precedenza. - L'argomento del file precedentemente passato a
ImageCapture.OnImageSavedCallback.onImageSaved()
è stato rimosso. (I750d2) - API aggiornata, con
getZoomRatio()
,getMaxZoomRatio()
,getMinZoomRatio()
egetLinearZoom()
metodi diCameraInfo
unione ingetZoomState()
che restituisce un'istanzaZoomState
. (Ib19fe)
Estensioni della videocamera versione 1.0.0-alpha06
22 gennaio 2020
androidx.camera:camera-extensions:1.0.0-alpha06
viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
regolari
- Varie correzioni e aggiornamenti per il supporto delle modifiche al core di Camera e Fotocamera2.
Camera-View versione 1.0.0-alpha06
22 gennaio 2020
androidx.camera:camera-view:1.0.0-alpha06
viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
regolari
- Varie correzioni e aggiornamenti per il supporto delle modifiche al core di Camera e Fotocamera2.
Estensioni della videocamera versione 1.0.0-alpha05
18 dicembre 2019
androidx.camera:camera-extensions:1.0.0-alpha05
viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.
Correzioni di bug
- Aggiornato in modo che corrisponda alle API Camera Core interne.
Camera-View versione 1.0.0-alpha05
18 dicembre 2019
androidx.camera:camera-view:1.0.0-alpha05
viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.
Problemi noti
- Le proporzioni potrebbero essere errate quando utilizzi PreviewView (b/146215202).
Nuove funzionalità
- È stata implementata una nuova classe chiamata
PreviewView.TextureViewImplementation
che sincronizza il ciclo di vita di SurfaceTexture con l'utilizzo della superficie di TextureView da parte della fotocamera.
Estensioni della videocamera versione 1.0.0-alpha04
4 dicembre 2019
androidx.camera:camera-extensions:1.0.0-alpha04
viene rilasciato. La versione 1.0.0-alpha04 di camera-extensions contiene questi commit
Modifiche alle API
Per verificare la disponibilità e l'attivazione di un'estensione, ora è necessario un
CameraSelector
come parametro di input. Deve essere lo stessoCameraSelector
utilizzato per associare il caso d'uso.val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA val builder = ImageCapture.Builder() val bokehImageCaptureExtender = BokehImageCaptureExtender.create(builder) if (bokehImageCaptureExtender.isExtensionAvailable(cameraSelector)) { bokehImageCaptureExtender.enableExtension(cameraSelector) } val imageCapture = builder.build() mCameraProvider?.bindToLifecycle(this, cameraSelector, imageCapture)
Devi inizializzare le estensioni prima di utilizzare la libreria di estensioni.
val availability = ExtensionsManager.init() Futures.addCallback<ExtensionsManager.ExtensionsAvailability>( availability, object : FutureCallback<ExtensionsManager.ExtensionsAvailability> { override fun onSuccess(availability: ExtensionsManager.ExtensionsAvailability?) { // Ready to make extensions calls } override fun onFailure(throwable: Throwable) { // Extensions could not be initialized } }, Executors.newSingleThreadExecutor() )
Camera-View versione 1.0.0-alpha04
4 dicembre 2019
androidx.camera:camera-view:1.0.0-alpha04
viene rilasciato. La versione 1.0.0-alpha04 di camera-view contiene questi commit
Modifiche alle API
- Viene fornita una classe
PreviewView
per visualizzare facilmente l'output del caso d'uso Anteprima in un'applicazione. È possibile includere
PreviewView
nel layout:<androidx.camera.view.PreviewView android:id="@ id/preview_view" … />
PreviewView
fornisce unPreviewSurfaceProvider
per collegare facilmente un caso d'uso in anteprimapreview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
"
ZoomLevel
" ora è "ZoomRatio
" nella denominazione APIAlcuni parametri del metodo sono stati modificati con supporto di valori null
Estensioni della videocamera e versione 1.0.0-alpha03 della visualizzazione della videocamera
9 ottobre 2019
androidx.camera:camera-extensions:1.0.0-alpha03
e androidx.camera:camera-view:1.0.0-alpha03
vengono rilasciati. Si tratta dei commit inclusi in camera-extensions:1.0.0-alpha03
e dei commit inclusi in camera-view:1.0.0-alpha03
.
Nuove funzionalità
- È stato aggiunto l'inizializzazione del contesto per le estensioni. Versione delle estensioni incrementata alla 1.1.0
Estensioni-videocamera e versione 1.0.0-alpha02 della visualizzazione della videocamera
5 settembre 2019
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha02
e
androidx.camera:camera-view:1.0.0-alpha02
. Questi sono i commit inclusi in camera-extensions:1.0.0-alpha02
e questi sono i commit inclusi
camera-view:1.0.0-alpha02.
- Sono stati aggiunti test per verificare che
PreviewImageProcessorImpl
abbia implementato correttamente i timestamp. - Correggi l'errore di test di
ExtensionTest
sul Nexus 5 (livello API 21) e assicurati che l'anteprima sia disponibile.
Estensioni della videocamera e versione 1.0.0-alpha01 della visualizzazione della videocamera
7 agosto 2019
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha01
e
androidx.camera:camera-view:1.0.0-alpha01
.
Questi sono i commit inclusi in camera-extensions:1.0.0-alpha01
e questi sono i commit inclusi
camera-view:1.0.0-alpha01
- Nuova raccolta per le future estensioni della fotocamera per accedere agli effetti sui dispositivi supportati. Questa libreria è ancora in fase di sviluppo.
- Nuovo corso Visualizzazione fotocamera. Questa libreria è ancora in fase di sviluppo.