FotocameraX
Questa tabella elenca tutti gli elementi del gruppo androidx.camera
.
Elemento | Release stabile | Candidato per l'uscita | Versione beta | Release alpha |
---|---|---|---|---|
fotocamera-camera2 | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-alpha01 |
fotocamera-core | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-alpha01 |
effetti fotocamera | - | 1.4.0-rc01 | - | 1.5.0-alpha01 |
estensioni-fotocamera | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-alpha01 |
ciclo di vita della fotocamera | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-alpha01 |
camera-mlkit-vision | - | 1.4.0-rc01 | - | 1.5.0-alpha01 |
visualizzazione-videocamera | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-alpha01 |
fotocamera-mirino | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
videocamera-video | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-alpha01 |
Test del dispositivo
Nel nostro laboratorio CameraX viene testata su molti dispositivi. Per visualizzare un elenco dei dispositivi attualmente in laboratorio, vedi CameraX testata in lab dispositivi mobili.
Dichiarazione delle dipendenze
Per aggiungere una dipendenza su CameraX, devi aggiungere il Repository Maven di Google a del progetto. Letto Repository Maven di Google per saperne di più informazioni.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle
per
l'app o il modulo:
Groovy
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.5.0-alpha03" // 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.5.0-alpha03" // 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. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.
Consulta la documentazione di Issue Tracker per ulteriori informazioni.
Camera Viewfinder Compose versione 1.0
Versione 1.0.0-alpha02
12 giugno 2024
Viene rilasciato androidx.camera:camera-viewfinder-compose:1.0.0-alpha02
. La versione 1.0.0-alpha02 contiene questi commit.
Versione 1.0.0-alpha01
14 maggio 2024
Viene rilasciato androidx.camera:camera-viewfinder-compose:1.0.0-alpha01
. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
- Nuova raccolta. Questa libreria introduce un mirino nativo Compose componibile, che può essere utilizzato con CameraX e Camera2. Il mirino componibile supporta diverse proporzioni e la gestione degli eventi touch.
Mirino per fotocamera versione 1.4
Versione 1.4.0-alpha07
12 giugno 2024
Vengono rilasciate le versioni androidx.camera:camera-viewfinder:1.4.0-alpha07
e androidx.camera:camera-viewfinder-core:1.4.0-alpha07
. La versione 1.4.0-alpha07 contiene questi commit.
Versione 1.4.0-alpha06
14 maggio 2024
Vengono rilasciate le versioni androidx.camera:camera-viewfinder:1.4.0-alpha06
e androidx.camera:camera-viewfinder-core:1.4.0-alpha06
. La versione 1.4.0-alpha06 contiene questi commit.
Modifiche alle API
- Rinomina le enum
ImplementationMode
diViewfinder
per riflettere meglio le implementazioni sottostanti e aggiungi costanti fisse perTransformationInfo.sourceRotation
. (Ic6149) - L'elemento
ZoomGestureDetector.ZoomEvent
è stato aggiunto per incapsulare gli stati di un gesto di zoom. (I84cdf)
Fotocamera versione 1.5
Versione 1.5.0-alpha01
4 settembre 2024
Viene rilasciato androidx.camera:camera-*:1.5.0-alpha01
. La versione 1.5.0-alpha01 contiene questi commit.
Modifiche alle API
- Fornire l'API per configurare le impostazioni di composizione per l'acquisizione video con doppia fotocamera simultanea. Le impostazioni includono un valore alfa per la combinazione, l'offset in x e le coordinate y, la scala della larghezza e l'altezza della finestra di visualizzazione dell'inquadratura della fotocamera. L'offset, la larghezza e l'altezza sono specificati nelle coordinate del dispositivo normalizzate. (Ia2b8a)
CameraProvider.getCameraInfo
esposto come un'API formale. (I901cd)- È stata aggiunta l'API
PendingRecording.withAudioEnabled(boolean initialMuted)
per controllare lo stato di disattivazione iniziale dell'audio. (I635c3, b/354829267)
Correzioni di bug
- È stato risolto l'arresto anomalo quando
bindToLifecycle
viene richiamato con unLifecycleOwner
eliminato. (I6e6d8). - L'anteprima fissa ha lo schermo nero nella fotocamera anteriore durante l'associazione con
VideoCapture
su Motorola Edge 20 Fusion. (I1fe88) - È stata ottimizzata la configurazione per il rilevamento dei gesti di zoom in
PreviewView
per migliorare la fluidità. (I04ffc)
Fotocamera versione 1.4
Versione 1.4.0-rc01
7 agosto 2024
Viene rilasciato androidx.camera:camera-*:1.4.0-rc01
. La versione 1.4.0-rc01 contiene questi commit.
Nuove funzionalità
- È stato aggiunto un esperimento
CameraInfo.getCameraInfo
sperimentale per fornire informazioni specifiche sulla fotocamera senza dover associare casi d'uso vincolanti. (I550d1)
Modifiche alle API
- Sono state aggiunte le API
PreviewView.getScreenFlash
ePreviewView.setScreenFlashOverlayColor
per i casi in cuiScreenFlashView
non è stato aggiunto esplicitamente. (I43945)
Correzioni di bug
- Sono stati risolti i problemi di esposizione e tinta di colore durante l'acquisizione di immagini con il flash abilitato in condizioni di scarsa illuminazione e il vincolo del caso d'uso di Video Capture. (Ic9814)
- Risolvi il problema per cui l'interruzione di una richiesta
takePicture
con le estensioni attivate potrebbe non ottenere risultati e che la successiva richiestatakePicture
potrebbe non funzionare più. (Iae78f) - È stato risolto un problema di perdita di memoria che si verifica quando le estensioni sono abilitate. (Iab276)
- È stato risolto un malfunzionamento delle estensioni CameraX su dispositivi come Pixel 7/8 e la serie Samsung Galaxy S24. Il problema, derivante da un problema di conversione di
Camera2OutputConfigImpl
in modalità di rilascio, si è verificato dopo l'upgrade di AGP alla versione 8.5.1 e l'abilitazione della minimizzazione. (I99598, b/354824993)
Versione 1.4.0-beta02
12 giugno 2024
Viene rilasciato androidx.camera:camera-*:1.4.0-beta02
. La versione 1.4.0-beta02 contiene questi commit.
Modifiche alle API
- Analogamente a
VideoCapture
, aggiungisetMirrorMode
per il caso d'uso dell'anteprima. Supporta l'attivazione e la disattivazione della modalità mirroring per lo streaming in anteprima tramiteOutputConfiguration.setMirrorMode
dall'API 33 e versioni successive, mentre per le API precedenti non funzionerà. (I821f4)
Correzioni di bug
- È stato risolto il problema che le app non potevano scattare foto correttamente su Samsung Tab A8 quando
ImageCapture
seleziona 1920 x 1080 nella combinazionePreview
+VideoCapture
+ImageCapture
UseCase
. (I5a463, b/336925549) - È possibile che la registrazione persistente non continui a essere registrata dopo il passaggio da una fotocamera all'altra. (Icb0a1)
Versione 1.4.0-beta01
14 maggio 2024
Viene rilasciato androidx.camera:camera-*:1.4.0-beta01
. La versione 1.4.0-beta01 contiene questi commit.
Modifiche alle API
- L'elemento
ZoomGestureDetector.ZoomEvent
è stato aggiunto per incapsulare gli stati di un gesto di zoom. (I84cdf)
Correzioni di bug
- È stato corretto un bug per cui, in alcuni dispositivi, l'acquisizione e il tocco per mettere a fuoco continuano a non utilizzare i valori di modalità di stabilizzazione o FPS delle richieste ripetute, che potrebbero ricreare la sessione di acquisizione e causare problemi di latenza o blocco dell'anteprima. (I7dc0b)
- È stato corretto un bug per cui non era possibile selezionare l'alta risoluzione quando
CameraEffect
è abilitato su alcuni dispositivi. (ad es. 4000 x 3000 su Samsung A32 5G). (Ie3ed3, b/337336152) - È stato risolto un problema di arresto anomalo quando si scattava una foto con Anteprima,
ImageCapture
eVideoCapture(UHD)
sono vincolati su Pixel 4XL API29. (I5b288). - Supporta i dispositivi virtuali: il contesto trasmesso a
ProcessCameraProvider
conserverà l'ID dispositivo per garantire la funzionalità nell'ambiente di un dispositivo virtuale. (I5ba48)
Versione 1.4.0-alpha05
17 aprile 2024
Viene rilasciato androidx.camera:camera-*:1.4.0-alpha05
. La versione 1.4.0-alpha05 contiene questi commit.
Nuove funzionalità
ProcessCameraProvider
è stata convertita in implementazione di Kotlin. (I46d4f)- Sono state aggiunte le funzioni di sospensione di
ImageCapture.takePicture
per consentirne la chiamata in modo idiomatico Kotlin. (I920be)
Modifiche alle API
- Aggiungi API del formato di output a
ImageCapture
e aggiungi il metodogetSupportedOutputFormats
aImageCaptureCapabilities
per eseguire query sulla funzionalità del dispositivo. Il valore predefinito del formato di output èOUTPUT_FORMAT_JPEG
, che acquisisce immagini SDR in formato JPEG. Quando il dispositivo supporta Ultra HDR e il formato di output è impostato suOUTPUT_FORMAT_JPEG_ULTRA_HDR
, CameraX acquisirà le immagini compresse 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 interruzioni come normali file JPEG; Nelle app e sui dispositivi che sono stati aggiornati per supportare completamente il formato, le immagini vengono visualizzate come HDR. (I5de50) - Aggiungi
PhysicalCameraInfo
inCameraInfo
per eseguire query sulle informazioni relative alla fotocamera fisica e aggiungi un setter/getter di ID videocamera fisico inCameraSelector
(Ic5b90) - Sostituisci
CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED
conImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED
. Il valore della costante rimane lo stesso. per consolidare 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 testabilità (Iaba99) - Aggiungi un
ImageAnalysis#COORDINATE_SYSTEM_SENSOR
. Se utilizzato,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 dell'intensità 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
. Può essere utilizzato per trasformare le coordinate da unUseCase
a un altro. Ad esempio, trasformare le 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 il metodo
ZoomGestureDetector
che interpreta i gesti di ridimensionamento configurati appositamente per le attività di zoom tramite pizzico. (Ifafbf)
Correzioni di bug
- Corretto
ImageAnalysis
' problema di selezione della risoluzione relativo all'impostazione della risoluzione target predefinita dell'analizzatore: la risoluzione target è stata mantenuta erroneamente a 640x480 anche se le applicazioni hanno impostato un'impostazione di risoluzione predefinita diversa per l'analizzatore. Se le applicazioni riscontrano questo problema (da 1.3.0 a 1.3.2) e non possono eseguire l'upgrade per utilizzare le release più recenti che contengono la soluzione, è possibile risolvere il problema impostando direttamente unResolutionSelector
con la risoluzione preferita e unAspectRatioStrategy
corrispondente aImageAnalysis
UseCase
. (I81f72, b/330091012) - È stato risolto un problema che causava la mancata esecuzione della richiesta
takePicture
in coda se la richiesta corrente non va a buon fine. (Ie0801) - Applica il controllo dei dati JPEG non validi ai dispositivi Vivo X60 e X60 Pro. In questo modo è possibile risolvere un problema di immagini di dimensioni insolitamente grandi su questi dispositivi. (I82247, b/288828159)
- È stato risolto il problema errato dei metadati dell'immagine JPEG sui dispositivi Samsung A24. Con la correzione, CameraX può salvare correttamente l'immagine JPEG oppure gli oggetti Bitmap corretti possono essere restituiti quando si chiama la funzione
ImageProxy.toBitmap()
sui dispositivi Samsung A24. (I8d6eb, b/309005680) - Applica il controllo dei dati JPEG non validi a tutti i dispositivi Samsung se l'immagine acquisita supera i 10 MB. Questo può risolvere un problema di immagine insolitamente grande sui dispositivi Samsung. (Ic2a65, b/288828159)
- È stato rimosso il supporto di
ImageAnalysis
per le estensioni di CameraX rispetto agli OEM Le implementazioni delle estensioni non funzionano bene conImageAnalysis
e potrebbero causare problemi incoerenti. (I2d926)
Versione 1.4.0-alpha04
24 gennaio 2024
Viene rilasciato androidx.camera:camera-*:1.4.0-alpha04
. La versione 1.4.0-alpha04 contiene questi commit.
Nuove funzionalità
- Nuovo artefatto: effetto-camera: una libreria per applicare effetti in tempo reale all'output di CameraX, inclusi
Preview
,VideoCapture
e/oImageCapture
. Questo artefatto contiene implementazioni OpenGL dell'APICameraEffect
che manipolano in modo efficiente l'output della fotocamera. OverlayEffect
: per disegnare overlay con l'API Canvas di Android. In questo modo l'app può applicare una filigrana o evidenziare gli oggetti rilevati negli output della fotocamera.DynamicRange
API per il caso d'uso dell'anteprima: ora l'intervallo dinamico può essere impostato per il caso d'uso dell'anteprima, indipendentemente dal caso d'uso dei video. Ciò consente intervalli dinamici HDR come HLG10 per solo Anteprima. InCameraInfo
sono disponibili anche nuove API per eseguire query sugli intervalli dinamici supportati da ogni videocamera.
Modifiche alle API
ScreenFlashUiCompleter
rinominato inScreenFlashListener
e spostatoScreenFlashUiCompleter#getExpirationTimeMillis
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 videocamera. In questo modo, gli intervalli dinamici HDR, come HLG10, possono essere utilizzati solo nel caso d'uso dell'anteprima, senza più richiedere l'associazione di un
VideoCapture
. (If25e3). getMirroring()
rinominato inisMirroring()
(I47063)- Aggiunto il supporto della stima della latenza in tempo reale ancora in CameraX. Le estensioni Fotocamera consentono alle applicazioni di usare un'API che fornisce una stima del tempo necessario per l'acquisizione. La stima prende in considerazione le condizioni ambientali attuali, lo stato della fotocamera e include il tempo impiegato per elaborare le richieste di acquisizione multi-frame insieme all'eventuale tempo aggiuntivo per la codifica dei buffer elaborati, se necessario. (I05c3a).
ScreenFlashUiControl
è stato rinominato inScreenFlash
,ScreenFlashUiControl#applyScreenFlashUi
inScreenFlash#apply
,ScreenFlashUiControl#clearScreenFlashUi
inScreenFlash#clear
e è stato aggiunto il metodogetScreenFlashUiApplyTimeoutSeconds
anziché esporre direttamenteSCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS
. (Iccdd0)
Correzioni di bug
- Correzione di una perdita di memoria che causava il mancato rilascio di attività o frammenti quando le estensioni sono abilitate (I14215)
- È stato risolto il problema per cui
getZoomRatio
restituiva erroneamente un valore diminuito durante l'applicazione di un rapporto di zoom crescente. (I4aa0d, b/317543616) - L'evento
ImageCapture#ScreenFlash#clear
viene richiamato immediatamente quandoImageCapture
viene slegato o la fotocamera è chiusa, corregge anche alcuni bug in cui non viene mai richiamato a causa di acquisizioni in questi scenari non completate correttamente. (If99f9) - Risolto l'arresto anomalo che si verifica quando il ciclo di vita viene interrotto prima del completamento della richiesta
takePicture
(Idf017, b/306202751) - È stato risolto il problema per cui su alcuni dispositivi l'anteprima della fotocamera diventa nera quando vengono attivate le estensioni (I1ffd0)
- È stato risolto il problema di durata errata della registrazione video su dispositivi che utilizzano il SoC Snapdragon 778G. (If6aa7, b/316057919)
Versione 1.4.0-alpha03
13 dicembre 2023
Viene rilasciato androidx.camera:camera-*:1.4.0-alpha03
. La versione 1.4.0-alpha03 contiene questi commit.
Nuove funzionalità
- È stato aggiunto
CameraInfo.mustPlayShutterSound
per indicare se è necessario riprodurre il suono dell'otturatore nel rispetto delle limitazioni regionali. (Ifda84). - Sono stati aggiunti
OnImageCapturedCallback.onCaptureStarted
eOnImageSavedCallback.onCaptureStarted
per la notifica quando la videocamera ha iniziato a esporre un fotogramma. A questo punto, consigliamo di riprodurre il suono dell'otturatore o l'animazione dell'otturatore. (Ic49b3) - Aggiunto il supporto della funzionalità Flash schermo in CameraX per l'acquisizione delle immagini con la fotocamera anteriore. CameraX si occuperà della gestione dell'API lato framework e sincronizzerà i tempi con le modifiche all'interfaccia utente dell'applicazione, come richiesto (ad esempio, l'attivatore di preacquisizione AE dopo la modifica di colore/luminosità della schermata dell'app). Le app dovranno aggiungere le relative implementazioni lato UI soltanto nell'interfaccia
ScreenFlashUiControl
fornita a CameraX. (I8ae84). - È stato aggiunto il supporto dell'implementazione lato interfaccia utente della funzionalità Flash schermo in CameraX. Le app potranno ottenere un'implementazione
ImageCapture.ScreenFlashUiControl
di base daPreviewView
o dalla nuova versione diScreenFlashView
che aggiungerà una visualizzazione sovrapposta monocolore e massimizzerà la luminosità dello schermo durante l'acquisizione di foto tramite flash dello schermo. (I1810e)
Modifiche alle API
- Supporta nuove funzionalità delle estensioni(visualizzazione post-visualizzazione e avanzamento del processo): sono state aggiunte le API
ImageCapture#getImageCaptureCapabilities()
per consentire alle app di eseguire query sulle funzionalità della visualizzazione post-visualizzazione e di acquisire il callback di avanzamento del processo. Le app possono attivare la visualizzazione post utilizzando l'ImageCapture.Builder#setPostviewEnabled()
. Le dimensioni della visualizzazione post-visualizzazione possono essere selezionate utilizzandoImageCapture.Builder#setPostviewResolutionSelector()
. Quando richiamitakePicture()
, è possibile implementareonPostviewBitmapAvailable
eonCaptureProcessProgressed
inOnImageSavedCallback
oOnImageCapturedCallback
per ricevere la notifica post-visualizzazione e avanzamento del processo, se supportata. (I5cd88) - API per calcolare la trasformazione delle coordinate dal sensore al buffer attuale, con un flag che indica se la superficie contiene le informazioni sull'orientamento della fotocamera. (I59096)
- Esponi l'API per eseguire query su
PreviewCapabitlity
in anteprimaUseCase
. (Ie5b6c). - Sono state aggiunte API per supportare più qualità per
VideoCapture
. Puoi utilizzareRecorder.Builder#setVideoCapabilitiesSource(int)
conVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES
per creare un'istanzaRecorder
che supporta più qualità rispetto aVIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE
. Un caso d'uso comune è quando l'applicazione tenta di registrare video UHD quando possibile, ma ilCamcorderProfile
del dispositivo non include impostazioni UHD, anche se il codec è in grado di registrare video UHD. (Iedbe2, b/263961771) - Aggiungi il formato di output getter/setter
ImageAnalysis
aCameraController
. (I9a96c, b/308240643)
Correzioni di bug
- Da Fotocamera
1.3.1
: prestazioni diProcessCameraProvider#bindToLifecycle()
migliorate. La modifica principale consiste nell'ottimizzare il processo di identificazione delle combinazioni di dimensioni più adatte perUseCases
. I risultati ottimali variano in base alle combinazioni specifiche diUseCase
e al numero di dimensioni di output supportate per i dispositivi di destinazione. (I454f2) - Consenti l'utilizzo di
VideoCapture
quando sono attivate le estensioni. (I91f32) - È stato risolto il problema dell'immagine JPEG acquisita di grandi dimensioni sui dispositivi Samsung A71 e serie M51. Le immagini JPEG acquisite contengono dati di spaziatura interna di 0 ridondanti nel segmento di dati compresso JFIF. Questo fa sì che le immagini acquisite abbiano dimensioni estreme del file. I dati di spaziatura interna degli 0 ridondanti verranno rimossi per fare in modo che le immagini acquisite abbiano dimensioni normali del file immagine. (I01afc, b/288828159)
- Disattiva il supporto di
ImageAnalysis
su Pixel per evitare il bug su Pixel che restituisce accidentalmente le dimensioni non vuote supportate daImageAnalysis
. (I7ec31) - È stato risolto il problema di prestazioni per cui il caricamento della CPU e il consumo energetico aumentavano quando le estensioni sono attivate. (Ibdccb)
- È stato aggiunto Snapdragon 480 a
CameraUseInconsistentTimebaseQuirk
. Su Android 12 è stato risolto un problema relativo ai dispositivi che utilizzano questo chipset, in cui l'audio nelle registrazioni veniva compensato per la quantità di tempo in cui il dispositivo si trovava in stato di sospensione. (I58010)
Versione 1.4.0-alpha02
18 ottobre 2023
Viene rilasciato androidx.camera:camera-*:1.4.0-alpha02
. 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 dei video/dell'anteprima. (I87544)
- Fornisci l'API per personalizzare il tempo di timeout massimo per i nuovi tentativi di apertura della videocamera. (I0c642).
- Rilasciata
ProcessCameraProvider.shutdownAsync
come API di test pubblica per consentire l'utilizzo del fornitore di videocamere di processo nelle suite di test che potrebbe dover inizializzare CameraX in modi diversi tra un test e l'altro. (I9eca7) - Aggiungi API per configurare l'intervallo dinamico, la frequenza fotogrammi e la modalità mirroring dell'acquisizione video. (Ifb8f7).
- Ritira
OutputSize
e sostituiscilo conResolutionSelector
.ResolutionSelector
rappresenta un modo più completo per selezionare le risoluzioni ed è coerente con l'API camera-core. (I93abd, b/286801438)
Correzioni di bug
- È stato risolto il problema dell'anteprima nero su Samsung Galaxy S23 Ultra 5G quando le estensioni Bokeh o Face-Retouch sono attivate con
ImageAnalysis
sulla fotocamera posteriore. (I2e8b1). - Sono stati risolti i problemi di anteprima e
VideoCapture
di stretching su Moto E5 Play. (73 dce2).
Versione 1.4.0-alpha01
20 settembre 2023
Viene rilasciato androidx.camera:camera-*:1.4.0-alpha01
. La versione 1.4.0-alpha01 contiene questi commit.
Modifiche alle API
- Aggiungi una nuova API per accedere alle informazioni sull'ampiezza 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 per il superamento della combinazione di superfici supportate a causa dell'aggiunta interna di superficie ripetuta aggiuntiva. (ID718c)
- È stato risolto il problema dell'immagine JPEG acquisita di grandi dimensioni sul dispositivo Vivo S16. Le immagini JPEG acquisite contengono dati di spaziatura interna di 0 ridondanti nel segmento di dati compresso JFIF. Questo fa sì che le immagini acquisite abbiano grandi dimensioni. I dati di spaziatura interna degli 0 ridondanti verranno rimossi per fare in modo che le immagini acquisite abbiano dimensioni normali del file immagine. (I79505, b/299069235)
- È stato risolto il problema che non consente di associare
ImageAnalysis
aImageCapture
e Anteprima quando su alcuni dispositivi sono attive alcune modalità di estensione. La correzione restituirà un valore corretto quando le app interrogano la disponibilità diImageAnalysis
tramiteExtensionsManager#isImageAnalysisSupported()
. (I7d538) - Aggiorna JavaDoc in modo che corrisponda al comportamento. Invece di completarla immediatamente,
#setZoomRatio
,#setLinearZoom
e#enableTorch
attendono che la fotocamera sia pronta. Sono state inoltre aggiunte informazioni su come ottenere il campo visivo massimo con l'API#takePicture
. (I23588)
Versione 1.3
Versione 1.3.4
12 giugno 2024
Viene rilasciato androidx.camera:camera-*:1.3.4
. La versione 1.3.4 contiene questi commit.
Correzioni di bug
- È stato risolto il problema per cui
getZoomRatio
restituiva erroneamente un valore diminuito durante l'applicazione di un rapporto di zoom crescente. (I4aa0d, b/317543616) - È stato risolto il problema di acquisizione continua o di tocco per mettere a fuoco il mancato utilizzo dei valori della modalità di stabilizzazione o FPS delle richieste ripetute, che potrebbero ricreare la sessione di acquisizione e causare problemi di latenza o il blocco dell'anteprima in alcuni dispositivi. (I7dc0b)
- È stato risolto il problema per cui la frequenza fotogrammi viene impostata su un valore più basso quando si chiama
setTargetFrameRate
conFRAME_RATE_RANGE_UNSPECIFIED
. (I78c61)
Versione 1.3.3
17 aprile 2024
Viene rilasciato androidx.camera:camera-*:1.3.3
. La versione 1.3.3 contiene questi commit.
Correzioni di bug
- Corretto
ImageAnalysis
' problema di selezione della risoluzione relativo all'impostazione della risoluzione target predefinita dell'analizzatore: la risoluzione target è stata mantenuta erroneamente a 640x480 anche se le applicazioni hanno impostato un'impostazione di risoluzione predefinita diversa per l'analizzatore. Se le applicazioni riscontrano questo problema (da 1.3.0 a 1.3.2) e non possono eseguire l'upgrade per utilizzare le release più recenti che contengono la soluzione, è possibile risolvere il problema impostando direttamente unResolutionSelector
con la risoluzione preferita e unAspectRatioStrategy
corrispondente al caso d'uso diImageAnalysis
. (I81f72, b/330091012)
Versione 1.3.2
6 marzo 2024
Viene rilasciato androidx.camera:camera-*:1.3.2
. La versione 1.3.2 contiene questi commit.
Correzioni di bug
- È stato risolto un problema relativo ai 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) - È stata rimossa l'opzione di risoluzione 9280x6944 sui dispositivi Redmi Note 9 Pro a causa di problemi. (Ia23da)
Versione 1.3.1
13 dicembre 2023
Viene rilasciato androidx.camera:camera-*:1.3.1
. La versione 1.3.1 contiene questi commit.
Correzioni di bug
Prestazioni di ProcessCameraProvider#bindToLifecycle()
migliorate. La modifica principale consiste nell'ottimizzare il processo di identificazione delle combinazioni di dimensioni più adatte per UseCases
. I risultati ottimali variano in base alle combinazioni specifiche di UseCase
e al numero di dimensioni di output supportate per i dispositivi di destinazione. (I454f2)
Ecco alcuni risultati di riferimento per vari scenari:
Quattro
UseCases
:Preview
+ImageCapture
+ImageAnalysis
+VideoCapture
- Google Pixel 7: circa 430 ms-60 ms
- Samsung Galaxy S23 Ultra: circa 540 ms-45 ms
- Samsung A53 5G: circa 115 ms a 70 ms
Tre
UseCases
:Preview
+ImageCapture
+ImageAnalysis
- Google Pixel 7: circa 9 ms-7 ms
- Samsung Galaxy S23 Ultra: circa 6 ms a 5 ms
- Samsung A53 5G: circa 32 ms a 12 ms
È stato aggiunto Snapdragon 480 a
CameraUseInconsistentTimebaseQuirk
. Su Android 12 è stato risolto un problema relativo ai dispositivi che utilizzano questo chipset, in cui l'audio nelle registrazioni veniva compensato per la quantità di tempo in cui il dispositivo si trovava in stato di sospensione. (I58010)
Versione 1.3.0
18 ottobre 2023
Viene rilasciato androidx.camera:camera-*:1.3.0
. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- Funzionalità video tra cui HDR a 10 bit, ritagli, specchio/non mirroring, attivazione/disattivazione dell'audio, frequenza dei fotogrammi e altro ancora.
- Doppia videocamera simultanea
- Raccolta degli effetti
- Selettore di risoluzione
- Ultrawide e Selezione della fotocamera telescopica
- Cambio fotocamera durante la registrazione video (funzionalità sperimentale)
Versione 1.3.0-rc02
20 settembre 2023
Viene rilasciato androidx.camera:camera-*:1.3.0-rc02
. 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 al nero dell'anteprima durante il passaggio da una modalità di estensioni all'altra o da un'altra fotocamera. (Iddaac)
- È stato risolto il problema che non consente di associare
ImageAnalysis
aImageCapture
e Anteprima quando su alcuni dispositivi sono attive alcune modalità di estensione. La correzione restituirà un valore corretto quando le app interrogano la disponibilità diImageAnalysis
tramiteExtensionsManager#isImageAnalysisSupported()
. (I7d538) - È stato risolto il problema per cui l'audio e il video registrati non erano sincronizzati quando era attiva la modalità di mirroring su Xiaomi Poco X3 NFC. (I20b4c)
Versione 1.3.0-rc01
23 agosto 2023
Viene rilasciato androidx.camera:camera-*:1.3.0-rc01
. 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 il dispositivoVideoCapture
a cui è collegato il Registratore viene ripetuto. (I517c6)
Correzioni di bug
- È stato risolto il problema che causava l'arresto anomalo durante la condivisione di uno stream sia con
VideoCapture
sia con l'anteprima. È stato inoltre corretto lo schermo nero sui dispositivi LEGACY quando è attiva la condivisione dello stream. - È stato risolto il problema dell'immagine JPEG acquisita di grandi dimensioni sui dispositivi della serie Samsung S7 (SM-G930T, SM-G930V). Le immagini JPEG acquisite contengono dati di spaziatura interna di 0 ridondanti nel segmento di dati compresso JFIF. Questo fa sì che le immagini acquisite abbiano grandi dimensioni. I dati di spaziatura interna degli 0 ridondanti verranno rimossi per fare in modo che le immagini acquisite abbiano dimensioni normali del file immagine. (I407b0, b/288828159)
- È stato risolto il problema dell'immagine JPEG acquisita di grandi dimensioni sui dispositivi delle serie Samsung S22 (SM-S901B, SM-S901B/DS) e S22+ (SM-S906B). Le immagini JPEG acquisite contengono dati di spaziatura interna di 0 ridondanti nel segmento di dati compresso JFIF. Le immagini acquisite hanno file di grandi dimensioni (circa 13 MB) sul dispositivo S22 SM-S901B/DS. I dati di spaziatura interna degli 0 ridondanti verranno rimossi per fare in modo che le immagini acquisite abbiano dimensioni normali del file immagine. (I73be9, b/288828159)
- È stato risolto il problema dell'immagine JPEG acquisita di grandi dimensioni sui dispositivi Samsung A5, A52, A70 e A72. Le immagini JPEG acquisite contengono dati di spaziatura interna di 0 ridondanti nel segmento di dati compresso JFIF. Le immagini acquisite hanno file di dimensioni estreme (ad esempio circa 32 MB o perfino 96 MB). I dati di spaziatura interna degli 0 ridondanti verranno rimossi per fare in modo che le immagini acquisite abbiano dimensioni normali del file immagine. (I97c4d, b/288828159)
- È stato risolto l'arresto anomalo nativo durante lo scatto di foto con le estensioni attivate (I698f5)
Versione 1.3.0-beta02
26 luglio 2023
Viene rilasciato androidx.camera:camera-*:1.3.0-beta02
. 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)
- È stato risolto il problema dell'immagine JPEG acquisita di grandi dimensioni sui dispositivi della serie Samsung A5 (2017). Le immagini JPEG acquisite contengono dati di spaziatura interna di 0 ridondanti nel segmento di dati compresso JFIF. Le immagini acquisite hanno una dimensione file di circa 32 MB. I dati di spaziatura interna degli 0 ridondanti verranno rimossi per fare in modo che le immagini acquisite abbiano dimensioni normali del file immagine. (I29837, b/288828159)
- È stato risolto il problema che non consentiva l'attivazione corretta dei nuovi tentativi in caso di errore di acquisizione nei dispositivi problematici menzionati in
CaptureFailedRetryQuirk
. (I7b589).
Versione 1.3.0-beta01
21 giu 2023
Viene rilasciato androidx.camera:camera-*:1.3.0-beta01
. La versione 1.3.0-beta01 contiene questi commit.
Modifiche alle API
- Il nome della funzione
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)
è stato rinominato insetAllowedResolutionMode
e le costantiResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
sono state rinominatePREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION
/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE
. (If84e8) - Rimosse le API deprecate
ImageAnalysis.setTargetRotationDegrees(int)
,ImageCapture.setTargetRotationDegrees(int)
eVideoCapture.setTargetRotationDegrees(int)
. (Id8e77) - La classe
DynamicRange
rappresenta l'intervallo dinamico delle immagini. Può essere utilizzata per selezionare i formati High Dynamic Range come output daVideoCapture
aVideoCapture.Builder#setDynamicRange()
. (Ib0377) - È stata aggiunta a
ExtensionsManager
un'APIisImageAnalysisSupported
che consente di determinare se un caso d'usoImageAnalysis
può essere associato insieme ad Anteprima eImageCapture
quando le estensioni sono attivate. (I1bc63). - La nuova classe
VideoCapabilities
ottenuta daRecorder
può essere utilizzata per eseguire query su qualità e intervalli dinamici supportati per la registrazione video sul dispositivo. I metodigetSupportedQualities()
eisQualitySupported()
diQualitySelector
verranno ritirati. Usa invece i metodigetSupportedQualities()
eisQualitySupported()
diVideoCapabilities
. (I04014) CameraController#setVideoCaptureTargetQuality()
è stato rinominato insetVideoCaptureQualitySelector
e prende 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
- Usa la torcia come flash sui modelli Samsung SM-A320 per migliorare la velocità e la qualità dell'immagine acquisita 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, viene restituito unUnsupportedOperationException
. (I81958, b/282057603)
Versione 1.3.0-alpha07
24 maggio 2023
Viene rilasciato androidx.camera:camera-*:1.3.0-alpha07
. La versione 1.3.0-alpha07 contiene questi commit.
Nuove funzionalità
- La nuova API
VideoCapture.Builder# setTargetFrameRate(Range)
consente di acquisire registrazioni video a frequenze fotogrammi diverse da quelle predefinite 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 rinominateALLOWED_RESOLUTIONS_NORMAL
/SLOW
e il nome della funzionesetHighResolutionEnabledFlag
del generatore è stato rinominato insetAllowedResolutionMode
. (Iae817). CameraInfo#getSupportedFrameRateRanges()
ora restituisceSet
anzichéList
per rappresentare meglio che gli intervalli non sono in ordine. (I02f43)- Aggiungi un listener di errori a
CameraEffect
per gestire gli errori irreversibili (Ice471) - Aggiungi il costruttore pubblico in
ResolutionInfo
per migliorare la testabilità (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 le nuove API
Preview#getTargetFrameRate
ePreview.Builder#setTargetFrameRate
per poter impostare e recuperare la frequenza frame target per il caso d'uso dell'anteprima (If4f22) VideoRecordEvent.Finalize
ora verrà completato con il codice di erroreERROR_RECORDING_GARBAGE_COLLECTED
quando l'oggettoRecording
viene arrestato a causa della garbage collection. (Iba974)
Correzioni di bug
- È stato corretto
NullPointerException
quando le dimensioni di output memorizzate nella cache inStreamConfigurationMapCompat
sono nulle. (Idf124, b/282025204) - È stato risolto il problema per cui
Preview.setSurfaceProvider(null)
non metteva in pausa l'anteprima nelle estensioni (Ia903e) - È stato risolto un problema per cui viene lanciato
ConcurrentModificationException
durante l'apertura della fotocamera quandoVideoCapture
è vincolato. (Ic8ac4)
Versione 1.3.0-alpha06
19 aprile 2023
Viene rilasciato androidx.camera:camera-*:1.3.0-alpha06
. 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 di attivare contemporaneamente la fotocamera anteriore e quella posteriore su un dispositivo. Al momento CameraX supporta solo due fotocamere simultanee, che consente il funzionamento di due videocamere contemporaneamente, con al massimo due {@link UseCase} per ciascuna. La risoluzione massima è 720p o 1440p. Per maggiori dettagli, vedi CameraManager#getConcurrentCameraIds().
- Presentazione della nuova API
ResolutionSelector
che copre le seguenti funzionalità:- Le applicazioni possono specificare strategie di proporzioni e risoluzione per selezionare quella più adatta alle loro esigenze.
- Tutti i parametri di dimensioni e proporzioni sono espressi nelle coordinate del sensore del dispositivo della fotocamera.
- Le applicazioni possono implementare un filtro di risoluzione personalizzato per disporre le dimensioni supportate nell'ordine desiderato.
- Le applicazioni possono inoltre consentire l'acquisizione ad alta risoluzione per ottenere immagini con risoluzione più alta. Tuttavia, tieni presente che se utilizzi un'alta risoluzione i tempi di acquisizione potrebbero essere più lenti.
- Aggiunte
VideoCapture
API di mirroring. I video registrati daVideoCapture
non vengono sottoposti a mirroring per impostazione predefinita. Tuttavia, per impostazione predefinita l'anteprima della fotocamera viene speculare sulla fotocamera anteriore. LeVideoCapture
API di mirroring consentono di allinearsi all'anteprima della fotocamera quando si utilizza la fotocamera anteriore. Esistono treMirrorMode
,OFF
,ON
eON_FRONT_ONLY
. Per allinearti all'anteprima della fotocamera, ti consigliamo di utilizzareON_FRONT_ONLY
, il che significa che il mirroring non è abilitato per la fotocamera posteriore, ma è attivo per la fotocamera anteriore.
Modifiche alle API
- Nuova API
ResolutionSelector
esposta. Le applicazioni possono specificare strategie di proporzioni e risoluzione con regole di fallback o 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 se utilizzi un'alta risoluzione i tempi di acquisizione potrebbero essere più lenti. (Ibed95) - È ora possibile eseguire query sugli intervalli f/s supportati dall'algoritmo AE tramite
CameraInfo#getSupportedFrameRateRanges()
. (Iaa67f) - Consolida i nomi di tutti i metodi di frequenza fotogrammi utilizzando "FrameRate". Correggi l'errore javadoc in
VideoCapture#getTargetFrameRate()
(I83304) - Ritirate le API
setTargetAspectRatio
esetTargetResolution
precedenti. Usa la nuova APIResolutionSelector
. (I542c3). - Sono state aggiunte API pubbliche per la doppia fotocamera in parallelo, tra cui
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
boolean isConcurrentCameraModeOn()
eConcurrentCameraConfig
,SingleCameraConfig
eConcurrentCamera
(Iab1c1)
- Imposta
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 che richiedono che la registrazione video sia coerente con il comportamento di anteprima della fotocamera comune, ovvero l'anteprima della fotocamera posteriore non viene sottoposta a mirroring, ma quella della fotocamera anteriore. (I713b6, b/194634656) - Aggiungi l'API
setTargetFrameRate()
nell'APIVideoCapture.Builder
e l'APIgetTargetFramerate()
inVideoCapture
(I109d4) - Imposta
SurfaceOutput
per l'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
se la registrazione in elaborazione viene disattivata in modo esplicito. (Ie17fc) - Parametro
#setEffects()
impostato come non nullo. Aggiungi un'API#clearEffects()
per eliminare gli effetti. L'app deve chiamare#clearEffects()
per rimuovere gli effetti. (I4b4d9). - Aggiungi un secondo costruttore per
ViewfinderSurfaceRequest.Builder
in modo da utilizzare un builder per il costruttore di copia (I621a7)
Correzioni di bug
- È stato risolto il problema per cui le app che richiamavano l'API Extensions potevano arrestarsi in modo anomalo quando si chiudeva la fotocamera (Ib27e5)
- È stato risolto un 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) - È stato risolto il problema per cui in Android 10 o versioni successive scattare foto utilizzando File nella cartella pubblica dell'archivio esterno non riusciva mai. Tieni presente che in Android 10, per scattare foto utilizzando un file nella cartella pubblica dell'unità di archiviazione esterna è necessario anche impostare
requestLegacyExternalStorage
su true nel tag dell'applicazione. (I11b2c). - È stato risolto un arresto anomalo di
RejectedExecutionException
inDefaultSurfaceProcessor
. L'arresto anomalo potrebbe verificarsi quandoVideoCapture
è associato e l'attività è in pausa. (Idb46a, b/273713906)
Versione 1.3.0-alpha05
22 marzo 2023
Viene rilasciato androidx.camera:camera-*:1.3.0-alpha05
. La versione 1.3.0-alpha05 contiene questi commit.
Modifiche alle API
- Aggiunte le API di rotazione
VideoCapture
, 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 di essere copiati nell'anteprima e nello streamVideoCapture
. (Iee6f3)
Correzioni di bug
- Da Fotocamera
1.2.2
: è stato risolto il problema per cui le estensioni di CameraX non funzionano correttamente quando ProGuard è abilitato su alcuni dispositivi come Pixel (I90aa2) - È stato corretto un bug
PreviewView
che causava la gestione dell'orientamento dello schermo da parte dell'app. l'anteprima potrebbe risultare distorta al momento della rotazione. Questo avviene solo su alcuni dispositivi. Può essere riprodotto su Pixel a4, Pixel 5 e Pixel 6a. (I14340, b/223488673)
Versione 1.3.0-alpha04
22 febbraio 2023
Viene rilasciato androidx.camera:camera-*:1.3.0-alpha04
. La versione 1.3.0-alpha04 contiene questi commit.
Nuove funzionalità
Una nuova funzionalità per supportare combinazioni di piattaforme precedenti non supportate condividendo uno stream con più casi d'uso.
- In precedenza, quando si associava "Anteprima, Video Capture, Analisi dell'immagine" al livello hardware della videocamera FULL e inferiore oppure all'associazione "Anteprima, Video Capture, Image Capture" al livello 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 in Anteprima che in Video Capture.
- Come 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
. I formati supportati perImageProxy
sonoImageFormat.YUV_420_888
ePixelFormat.RGBA_8888
. Se il formato non è valido, viene restituitoIllegalArgumentException
. (Ic7110) - Aggiungi
CoroutineCameraViewfinder
per supportare la configurazione del mirino usando 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
- È stato risolto l'arresto anomalo delle estensioni che si verifica su alcuni dispositivi Samsung quando l'app viene messa in pausa/ripresa troppo rapidamente (Iaca26)
Versione 1.3.0-alpha03
25 gennaio 2023
Viene rilasciato androidx.camera:camera-*:1.3.0-alpha03
. La versione 1.3.0-alpha03 contiene questi commit.
Modifiche alle API
- È stato aggiunto l'elemento
CameraInfo.getIntrinsicZoomRatio
per fornire informazioni sull'angolo di visione rispetto alla videocamera predefinita. (Ib300c) - È stato aggiunto
CameraInfo.getLensFacing
per fornire informazioni relative all'obiettivo.CameraSelector#LENS_FACING_EXTERNAL
aggiunta come funzionalità sperimentale per la selezione di fotocamere esterne. (Icaf3e). - Aggiungi
#setEffect()
aCameraController
per aggiungere effetti all'output della fotocamera. (I1d21f) - Aggiungi il metodo
invalidate()
aSurfaceRequest
. Il fornitore 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
all'impostazione della codifica video di destinazioneBitRate
eRecorder#getTargetVideoEncodingBitRate
per ottenere la velocità in bit della codifica video di destinazione. (I5984d)
Correzioni di bug
- È stato corretto il problema di
ImageCapture
non riuscito in assenza di unità flash e in modalità flash attiva. (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 torcia/zoom prima che l'inizializzazione della videocamera diventi attiva, ad esempio richiamando
CameraController#enableTorch
, l'azione in attesa viene memorizzata nella cache e inviata una volta completata l'inizializzazione. (I11e92, b/264157663)
Versione 1.3.0-alpha02
7 dicembre 2022
Viene rilasciato androidx.camera:camera-*:1.3.0-alpha02
. La versione 1.3.0-alpha02 contiene questi commit.
Modifiche alle API
- aggiungere una nuova API per applicare l'effetto di post-elaborazione all'output di anteprima. (Ic17d5)
OutputOptions.getDurationLimit
è stato rinominato inOutputOptions.getDurationLimitMillis
eOutputOptions.setDurationLimit
inOutputOptions.setDurationLimitMillis
. (I91f0c)- Aggiungi
AudioConfig
corso 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) - Applicare la nuova API Video Capture. I metodi
getVideoCaptureTargetSize
esetVideoCaptureTargetSize
vengono sostituiti di conseguenza con i metodigetVideoCaptureTargetQuality
esetVideoCaptureTargetQuality
, in quantosetTargetResolution
non è più supportato. (I2a1d5).
Correzioni di bug
- Rimuovi l'API
core.VideoCapture
deprecata. (I531e0) - È stato 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 Camera Extensions v1.1.0 e versioni precedenti a causa di problemi con il supporto di Bokeh e il mancato ripristino dell'acquisizione di immagini e dell'anteprima. (Id3ce3)
- È stato risolto il problema che causava l'arresto anomalo nativo durante il ritaglio di video tramite
ViewPort
sui dispositivi legacy. (I16b8a, b/251357665)
Versione 1.3.0-alpha01
9 novembre 2022
Viene rilasciato androidx.camera:camera-*:1.3.0-alpha01
. La versione 1.3.0-alpha01 contiene questi commit.
Nuove funzionalità
Camera-viewfinder
è stato pubblicato ufficialmente.Camera-viewfinder
fornisce un widget di base del mirino in grado di visualizzare il feed della videocamera per Fotocamera 2. Controlla il codice campione per vedere un esempio.
Modifiche alle API
OutputOptions.setDurationLimit
aggiunto per consentire l'impostazione del limite di durata del video. La registrazione verrà finalizzata automaticamente al superamento del limite di durata specificato. (I902a0)- Aggiungi lo stato di errore audio della registrazione video
AudioStats.AUDIO_STATE_SOURCE_ERROR
. Inviata quando la configurazione della sorgente audio non riesce o si verificano errori. (I37410)
Correzioni di bug
- Aggiungi "non standard" per consentire ad alcuni dispositivi problematici di riprovare a eseguire l'acquisizione una volta in caso di errori. (ID4795)
- Risolvi il problema dello schermo nero dell'implementazione di
PreviewView
SurfaceView
suViewPager2
. Nell'ambito della correzione,PreviewView
riutilizza il proprioSurfaceView
se la risoluzione richiesta non viene modificata. (Ib3f27). - Supporta il ritaglio dei video (funzionalità WYSIWYG) se viene utilizzata l'API
ViewPort
oCameraController
. (Ifbba8, b/201085351) - È stato corretto 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
Viene rilasciato androidx.camera:camera-*:1.2.3
. La versione 1.2.3 contiene questi commit.
Correzioni di bug
- È stato risolto un 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
Viene rilasciato androidx.camera:camera-*:1.2.2
. La versione 1.2.2 contiene questi commit.
Correzioni di bug
- È stato risolto il problema per cui le estensioni di CameraX non funzionano correttamente quando ProGuard è abilitato su alcuni dispositivi come Pixel (I90aa2)
Versione 1.2.1
25 gennaio 2023
Viene rilasciato androidx.camera:camera-*:1.2.1
. 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
Viene rilasciato androidx.camera:camera-*:1.2.0
. 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à MLKit, tra cui la scansione dei codici a barre, il rilevamento dei volti, il rilevamento del testo e così via. Sono state aggiunte
MLKitAnalyzer
come nuove API. - Nuova API sperimentale Zero-Shutter Lag. Ottimizza la pipeline di acquisizione per avere una latenza migliore mantenendo una buona qualità dell'immagine. Se la modalità di acquisizione è impostata su
CAPTURE_MODE_ZERO_SHUTTER_LAG
, la latenza tra il clic con il pulsante di scatto e lo scatto della foto dovrebbe essere ridotta al minimo, rispetto ad altre modalità di acquisizione. Sui dispositivi che non supportanoZERO_SHUTTER_LAG
, verrà utilizzata la versioneCAPTURE_MODE_MINIMIZE_LATENCY
. - Ritira
android.camera.core.VideoCapture
. setStreamUseCase()
aggiunta come APICamera2Interop
pubblica.- È stato aggiunto un requisito relativo al livello API per
setOutputImageRotationEnabled
. ImageAnalysis.Analyzer#getTargetResolutionOverride()
rinominato inImageAnalysis.Analyzer#getDefaultTargetResolution()
.- È stata aggiunta un'API per impostare i metadati sulla posizione del video salvato.
- È stata corretta la bassa frequenza fotogrammi quando si utilizzava il formato
VideoCapture
e i casi d'uso in anteprima con proporzioni 16:9 - È stato risolto il problema dell'anteprima nera che si verifica quando l'estensione BOKEH è attivata su alcuni dispositivi Samsung e l'utente cambia la fotocamera.
- È stato risolto il problema di allungamento dei problemi di Samsung J7 Prime (SM-G610M) e J7 (SM-J710MN)
Preview/VideoCapture
sui dispositivi di livello API 27. - È stata disattivata la soluzione alternativa per capovolgere la regione AF orizzontalmente delle fotocamere anteriori su Samsung Android T perché il problema è stato risolto
Versione 1.2.0-rc01
24 ottobre 2022
Viene rilasciato androidx.camera:camera-*:1.2.0-rc01
. 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, sostituendo 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
- È stato risolto il problema di allungamento dei problemi di Samsung J7 Prime (SM-G610M) e J7 (SM-J710MN)
Preview/VideoCapture
sui dispositivi di livello API 27. La risoluzione 1920 x 1080 determina l'estensione delle immagini diPreview/VideoCapture
. È stata aggiunta una soluzione alternativa per non selezionare la risoluzione 1920 x 1080 per l'anteprima oVideoCapture
per evitare il problema dell'immagine allungata. (I0e04e). - È stata corretta la bassa frequenza fotogrammi durante l'utilizzo di
VideoCapture
e casi d'uso in anteprima con proporzioni 16:9 su alcuni dispositivi Huawei. (If8c88, b/223643510) - È stato corretto l'errore di apertura della fotocamera quando non era impostato il valore
SurfaceProvider
dell'anteprima. Nell'ambito 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
Viene rilasciato androidx.camera:camera-*:1.2.0-beta02
. La versione 1.2.0-beta02 contiene questi commit.
Modifiche alle API
- Aggiungi il requisito del livello API per
setOutputImageRotationEnabled
(I26e3e, b/240993561)
Correzioni di bug
- È stata disattivata la soluzione alternativa per capovolgere la regione AF orizzontalmente delle fotocamere anteriori su Samsung Android T perché il problema è stato risolto. (I05f69)
- È stato risolto il problema dell'anteprima nero che si verifica quando l'estensione
BOKEH
viene attivata su alcuni dispositivi Samsung e l'utente cambia la fotocamera. (If6168)
Versione 1.2.0-beta01
24 agosto 2022
Viene rilasciato androidx.camera:camera-*:1.2.0-beta01
. 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. Trova il codice di esempio qui. - Nuova API Zero-Shutter Lag sperimentale. Ottimizza la pipeline di acquisizione per avere una latenza migliore mantenendo una buona qualità dell'immagine. Quando la modalità di acquisizione è impostata su CAPTURE_MODE_ZERO_SHUTTER_LAG, la latenza tra il clic del pulsante di scatto e lo scatto della foto dovrebbe essere ridotta al minimo, rispetto alle altre modalità di acquisizione. Sui dispositivi che non supportano ZERO_SHUTTER_LAG, verrà usato il fallback CAPTURE_MODE_MINIMIZE_LATENCY.
ImageAnalysis.Analyzer
eMLKitAnalyzer
resi come API ufficiali.- API esposta per impostare i metadati sulla località per il video salvato.
- Rinomina
ImageAnalysis.Analyzer#getTargetResolutionOverride()
inImageAnalysis.Analyzer#getDefaultTargetResolution()
.
Correzioni di bug
- È stato risolto il problema di acquisizione dell'immagine di Alps k61v1_basic_ref. Le immagini JPEG acquisite dall'HAL hanno metadati EXIF errati. I metadati EXIF non contengono il tag 0xffd9 o 0xffda per consentire a
ExifInterface
di analizzare correttamente gli attributi. Acquisire le immagini in formato YUV e poi comprimerle in immagini JPEG per aggirare questo problema. (I45abb)
Versione 1.2.0-alpha04
27 luglio 2022
Viene rilasciato androidx.camera:camera-*:1.2.0-alpha04
. La versione 1.2.0-alpha04 contiene questi commit.
Modifiche alle API
- Rinomina
ImageAnalysis.Analyzer#getTargetResolutionOverride()
inImageAnalysis.Analyzer#getDefaultTargetResolution()
. Il comportamento viene modificato anche in modo che il valore restituito da questo metodo possa essere sostituito dal valoreImageAnalysis#setTargetResolution()
. (If1d36). - API esposta per impostare i metadati sulla località per il video salvato. È possibile impostare un oggetto
android.location.Location
tramite la nuova APIandroidx.camera.video.OutputOptions.Builder.setLocation(Location)
. (I313a0, b/204197544)
Correzioni di bug
- Risolvi il problema per scattare una foto con l'anteprima slega (Ie70b6, b/235119898)
- È stato risolto il problema di arresto anomalo in
Recorder
durante il tentativo di registrazione quando la sorgente audio non era disponibile. (I9f652)
Versione 1.2.0-alpha03
29 giugno 2022
Viene rilasciato androidx.camera:camera-*:1.2.0-alpha03
. La versione 1.2.0-alpha03 contiene questi commit.
Modifiche alle API
- È stata rimossa l'annotazione sperimentale per
ImageAnalysis.Analyzer
eMLKitAnalyzer
. (I0ff22)
Correzioni di bug
- È stato aggiunto un timeout predefinito di 5000 ms per la messa a fuoco automatica che completa la parte AF con
isFocusSuccessful
false seFocusMeteringAction
non viene annullato e la parte AF non viene convergente nella durata. (Ibc2e3) - Risolvi il problema per scattare una foto con l'anteprima di slegamento (I1d3a2, b/235119898)
- Abilitata l'implementazione avanzata dell'extender e aggiorna la versione dell'interfaccia delle estensioni di supporto di CameraX alla versione 1.2 (I92256)
Versione 1.2.0-alpha02
1 giugno 2022
Viene rilasciato androidx.camera:camera-*:1.2.0-alpha02
. La versione 1.2.0-alpha02 contiene questi commit.
Nuove funzionalità
- Esponi l'API CameraX Zero-Shutter Lag come sperimentale.
Modifiche alle API
- Aggiungi la nuova modalità di acquisizione
CAPTURE_MODE_ZERO_SHUTTER_LAG
inImageCapture
e aggiungiisZslSupported
inCameraInfo
per eseguire query sulle funzionalità del dispositivo. La modalitàCAPTURE_MODE_ZERO_SHUTTER_LAG
mira a fornire la latenza minima per l'acquisizione istantanea. È implementato sulla base di un buffer ad anello, che memorizza nella cache i risultati dell'acquisizione intermedia per una successiva rielaborazione quando l'utente preme i pulsanti per scattare foto. Se {@link Video Capture} è vincolato o se la modalità flash non è disattivata o se l'estensione OEM è attiva, questa modalità verrà disattivata automaticamente. (I9ae74). - Aggiungi metodo
ImageAnalysis.getBackgroundExecutor()
(Icc945)
Correzioni di bug
- Risolto il metodo
ImageCapture
Scatta foto per spegnere la torcia sui dispositivi segnalati. (Ib5eb5, b/228272227) - È stato corretto un bug per cui
AssertionError
non viene gestito durante il recupero della caratteristicaCONTROL_ZOOM_RATIO_RANGE
.(/Ia248a, b/231701345)
Versione 1.2.0-alpha01
18 maggio 2022
Viene rilasciato androidx.camera:camera-*:1.2.0-alpha01
. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
- È stata lanciata la nuova libreria camera-mlkit-vision
Correzioni di bug
- Risolto il problema di
QualitySelector
che non registra un video UHD quando è attiva una strategia di riserva. Il problema si verifica quandoVideoCapture
è associato aImageCapture
e visualizza l'anteprima su un dispositivo con videocamera FULL o di livello hardware superiore. Una strategia di riservaQualitySelector
fa sì cheVideoCapture
ottenga erroneamente una risoluzione FHD. La risoluzione UHD è effettivamente supportata per questa combinazione di casi d'uso e deve essere adottata. (I0e788, b/230651237) - È stato corretto il problema
NullPointerException
suImageCapture.takePicture()
. (I92366, b/230454568, b/229766155) - Correggi il comportamento della pausa asincrona di
androidx.camera.video.Recorder
(Ia8ce8)
Fotocamera-Fotocamera2, Nucleo della fotocamera, Ciclo di vita della fotocamera e Fotocamera-Video versione 1.1.0
Versione 1.1.0
29 giugno 2022
Viene rilasciato androidx.camera:camera-*:1.1.0
. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Le librerie Landed View, Extension e Video Capture sono la loro prima versione RC. Dalla versione 1.1.0-beta01, tutte le librerie di CameraX sono in linea con lo stesso numero di versione. In questo modo, gli sviluppatori potranno tenere traccia delle versioni molto più facilmente e ridurre la complessità delle grandi matrici di compatibilità delle versioni.
- Ha introdotto nuove API e funzionalità pubbliche che includono:
- Aggiungi la raccolta video-fotocamera ufficiale per supportare casi d'uso di acquisizione video.
- Funzionalità di 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 quest'ultima viene interrotta da un'altra app e viene ripristinata la messa a fuoco.
- Fa in modo che CameraX funzioni bene nei dispositivi pieghevoli risolvendo alcuni problemi relativi all'anteprima.
- È stata aggiunta un'API
CameraState
che verrà esposta tramite CameraInfo. - È stata aggiunta un'API
ProcessCameraProvider.getAvailableCameraInfos()
per recuperare direttamente le informazioni sulle fotocamere disponibili - Viene restituito il formato JPEG per
ImageCapture#OnImageCapturedCallback
quando sono attivate le estensioni. - In
CameraInfo
è stata aggiunta un'APIisFocusMeteringSupported
che consente alle applicazioni di verificare se l'elementoFocusMeteringAction
specificato è supportato o meno sulla fotocamera attuale. - API
getResolutionInfo
esposta per fornire informazioni sulla risoluzione per Preview,ImageCapture
eImageAnalysis
. - È stata aggiunta una nuova API
ImageCapture.Builder#setJpegQuality
per consentire di modificare la qualità di compressione delle immagini JPEG di output quando scatti le foto. CameraSelector#filter
aggiunto 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 es. MLKit - Aggiunta l'API sperimentale
CameraInfo#getCameraSelector()
che restituisce unCameraSelector
univoco alla 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é androidx.annotation.experimental.UseExperimental. - Abbiamo promosso le seguenti API sperimentali ad API ufficiali:
CameraXConfig.Builder#setAvailableCamerasLimiter()
,CameraXConfig.Builder#setMinimumLoggingLevel()
,CameraXconfig.Builder#setSchedulerHandler()
,CameraXConfig#getAvailableCamerasLimiter()
,CameraXConfig#getMinimumLoggingLevel()
,CameraXConfig#getCameraExecutor()
,CameraXConfig#getSchedulerHandler()
, @ExperimentalCameraFilter
API- le API sperimentali di compensazione dell'esposizione.
- È stata promossa l'API
UseCaseGroup
sperimentale per core della videocamera, ciclo di vita della fotocamera e video della videocamera. Sono stati aggiuntiViewPort#getLayoutDirection
,ViewPort.Builder#setLayoutDirection
eViewPort.Builder#setScaleType
per la personalizzazione dell'area visibile. - Hai promosso
ExperimentalUseCaseGroupLifecycle
in API pubbliche formali. - Modifiche alle API esistenti
Renamed MediaStoreOutputOptions.getCollection
perMediaStoreOutputOptions.getCollectionUri
.ActiveRecording
è stato rinominato in "Registrazione" per ridurre il livello di dettaglio.- L'API Creator
QualitySelector
è stata modificata in un'API basata su elenco
Correzioni di bug
- È stato risolto il problema
YuvToJpegProcessor
EOFException
quando è attiva la modalità di estensione e la modalitàImageCapture#CAPTURE_MODE_MAX_QUALITY
è impostata. - Correzione della configurazione del codec non riuscita a causa della chiusura della registrazione video
- Correzione delle proporzioni allungate dell'anteprima/del video durante la registrazione in FHD
- È stato risolto il problema di mancata sincronizzazione di audio/video dopo la messa in 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 attiva in ambienti poco illuminati.
Versione 1.1.0-rc02
1 giugno 2022
Viene rilasciato androidx.camera:camera-*:1.1.0-rc02
. La versione 1.1.0-rc02 contiene questi commit.
Correzioni di bug
- È stato corretto il problema
NullPointerException
suImageCapture.takePicture()
. (I92366, b/230454568, b/229766155) - È stato corretto un bug per cui
AssertionError
non viene gestito durante il recupero della caratteristicaCONTROL_ZOOM_RATIO_RANGE
. (Ia248a, b/231701345)
Versione 1.1.0-rc01
11 maggio 2022
Viene rilasciato androidx.camera:camera-*:1.1.0-rc01
. La versione 1.1.0-rc01 contiene questi commit.
Nuove funzionalità
- Rilascia la prima versione RC per videocamera, visualizzazione e estensione fotocamera
Correzioni di bug
- È stato risolto un problema per cui il codec video non veniva rilasciato quando
VideoCapture<Recorder>
era slegato e, di conseguenza, gli utilizzi successivi diVideoCapture<Recorder>
non riuscivano a registrare conMediaCodec.CodecException
, in particolare sui dispositivi API 21-22. (Ie7f68) - Correggi le immagini acquisite di
CameraExtensionsActivity
non essere eliminate inImageCaptureTest
Versione 1.1.0-beta03
6 aprile 2022
Viene rilasciato androidx.camera:camera-*:1.1.0-beta03
. La versione 1.1.0-beta03 contiene questi commit.
Modifiche alle API
- Costruttore
CaptureRequestOptions
limitato. (I261b6) - È stata aggiunta un'API sperimentale per l'utilizzo di
CameraController
con librerie di elaborazione delle immagini esterne. ad es. MLKit (I4ea71)
Correzioni di bug
- È stato risolto il problema per cui l'anteprima diventa laterale in
PreviewView
quando l'attività non viene riavviata dopo la rotazione dei dispositivi in modalità multi-finestra. (I1ea36, b/223488673) - Risolvi un problema della multi-finestra che, quando lo stato attivo torna all'app, non riesce a riprendere la fotocamera quando (1) un'altra app ad alta priorità apre un'altra fotocamera (2) il dispositivo è un dispositivo Samsung Android 12. (I7e9f2).
- Soluzione alternativa inclusa per i dispositivi che si arrestano in modo anomalo durante la verifica della disponibilità di Flash. Su questi dispositivi non sarà disponibile la torcia. (If26a3, b/216667482)
- Risolvi
AbstractMethodError
problema che si è verificato quando le app utilizzano le estensioni e abilita 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 mancata sincronizzazione di audio/video dopo la messa in pausa e la ripresa su alcuni dispositivi Samsung prima dell'API 29. (I64622, b/202798609, b/202798572)
- È stato risolto il problema di mancata sincronizzazione audio/video dopo la pausa e la ripresa su Sony G3125. (I2a1a5, b/202799148)
- È stato corretto un arresto anomalo quando il Registratore ha riscontrato un
InvalidConfigException
. Tuttavia, questa correzione impedisce solo l'arresto anomalo dell'app, ma non risolve la causa diInvalidConfigException
. Se non è ancora possibile configurareRecorder
, le applicazioni riceveranno la richiamata dell'errore all'avvio della registrazione. (I89c29, b/213617227)
Contributo esterno
- :compose:ui:ui-test api aggiornata (updateApi) a causa della migrazione di test-coroutines-lib (I3366d)
Versione 1.1.0-beta02
23 febbraio 2022
Viene rilasciato androidx.camera:camera-*:1.1.0-beta02
. La versione 1.1.0-beta02 contiene questi commit.
Modifiche alle API
- Dare la possibilità di specificare l'ID fisico della fotocamera tramite Camera2Interop. (I5aed8)
Correzioni di bug
- Risolto il problema dell'anteprima estesa su Oppo Find N (I7d004)
- È stato risolto un problema di Galaxy J7 Prime che causava la distorsione dell'anteprima. (I4c500)
- Utilizza la velocità in bit compatibile per trovare il codificatore video. (D969052)
Versione 1.1.0-beta01
26 gennaio 2022
Viene rilasciato androidx.camera:camera-*:1.1.0-beta01
. La versione 1.1.0-beta01 contiene questi commit.
Nuove funzionalità
- Dalla versione 1.1.0-beta01, tutte le librerie di CameraX sono in linea con lo stesso numero di versione. In questo modo gli sviluppatori potranno tenere traccia delle versioni molto più facilmente e ridurre la complessità della matrice di compatibilità delle versioni di grandi dimensioni.
Modifiche alle API
- Aggiunta di
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 precedenti ad Android O(API 26). (I88fdf, b/212328261)
- È stato risolto il problema errato della regione AF quando si utilizzava
cameraControl#startFocusAndMetering()
sulla fotocamera anteriore nei 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)
- Abilitazione delle applicazioni per il ripristino della videocamera quando la videocamera viene interrotto da un'altra applicazione con priorità più elevata modalità multi-finestra e lo stato attivo torna sull'applicazione. Tieni presente che potrebbe esserci una certa latenza(da 1 secondo a 10 secondi o più) tra le modifiche dell'elemento attivo e la riapertura della fotocamera a causa di un problema del framework. (I4d092)
Versione 1.1.0-alpha12
15 dicembre 2021
Viene rilasciato androidx.camera:camera-*:1.1.0-alpha12
. 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 le costanti della strategia di riserva di
QualitySelector
sono state modificate per essere rappresentate da oggetti di classe. Ad esempio,QualitySelector.QUALITY_HD
viene modificato inQuality.HD
eQualitySelector.FALLBACK_STRATEGY_LOWER
viene modificato nell'istanza restituita daFallbackStrategy.lowerQualityOrHigherThan(Quality)
. L'API utilizzata per creareQualitySelector
è stata modificata in un'API basata su elenco. La nuova APIQualitySelector.fromOrderedList(List<Quality>)
farà riferimento all'ordine dell'elenco di qualità di input anziché all'ordine creato daQualitySelector.Procedure
.QualitySelector.Procedure
corso è stato rimosso. (I43343) PendingRecording.withEventListener()
è stato rimosso e il listener di eventi deve ora essere passato aPendingRecording.start()
. Questo requisito per i 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. (I77 CEB)
Correzioni di bug
- È stato risolto il problema a causa del quale le foto scattate in modalità
FLASH_AUTO
venivano 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 fotocamere 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 con funzionalità speciali e non supporta l'output a colori standard.CameraX
non supporta i casi d'usoPreview
,ImageCapture
,ImageAnalysis
oVideoCapture
per queste videocamere. Pertanto, queste videocamere devono essere filtrate per evitare un utilizzo non corretto. (Ib8cda) CameraSelector#filter
non genera piùIllegalArgumentException
quando il set di risultati è vuoto. (I27804)- Per selezionare le impostazioni del codificatore in base ai profili specificati dall'OEM, ora vengono utilizzate euristiche più intelligenti. (Iaeef0)
- L'anteprima fissa presenterà linee di colore interlacciate dopo l'avvio della registrazione di video UHD su Pixel1. (I833c6, b/205340278)
Versione 1.1.0-alpha11
17 novembre 2021
Viene rilasciato androidx.camera:camera-*:1.1.0-alpha11
. 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 un CameraSelector. (I105d0)
Aggiungi l'API setOutputImageTrackingEnabled per la configurazione di ImageAnalysis. L'utente può attivare la rotazione per il buffer di immagine YUV/RGB. Il grado di rotazione è una rotazione relativa calcolata in base alla rotazione del sensore e alla rotazione del bersaglio per mantenere l'immagine in primo piano.
Aggiungi l'API setOutputImageEncodingEnabled per la configurazione di ImageAnalysis. L'utente può attivare la rotazione per il buffer di immagine YUV/RGB. Il grado di rotazione è una rotazione relativa calcolata in base alla rotazione del sensore e alla rotazione del bersaglio 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 valoreCameraCharacteristics.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, la mappatura delle coordinate del volto rilevato con l'analisi delle immagini su Anteprima. (I9ff1e)È stata aggiunta una nuova API Image Capture.Builder#setJpegQuality per consentire di modificare la qualità di compressione delle immagini JPEG di output quando si scattano le foto. (I8dcf4)
MediaStoreOutputOptions.getCollection è stato rinominato MediaStoreOutputOptions.getCollectionUri. (I16639)
Correzioni di bug
- È stato risolto il problema per cui il flash si attivava durante tocco per mettere a fuoco (startFocusAndMetering) quando la modalità flash è automatica o sempre attiva in condizioni di scarsa illuminazione. (Id4c11)
- Funzionalità HDR+ disattivata su Pixel 2 XL / Pixel 3 XL in Modalità MINIMIZE_LATENCY per ridurre la latenza. (Ib6270, b/203505523)
Contributo esterno
Versione 1.1.0-alpha10
13 ottobre 2021
Viene rilasciato androidx.camera:camera-*:1.1.0-alpha10
. La versione 1.1.0-alpha10 contiene questi commit.
Nuove funzionalità
- Rilasciata ufficialmente,
androidx.camera:camera-video:1.1.0-alpha10
come prima versione alpha per i video. Esistono diversi problemi noti da risolvere nelle release successive.
Modifiche alle API
- È stata aggiunta l'annotazione
@RequiresApi(21)
a tutte le classi CameraX e ha eliminato minSdkVersion da AndroidManifest.xml. Ciò ti consentirà camera-core per essere facilmente integrato nelle applicazioni che dispongono di un minSdkVersion inferiore a 21, ma vuole usare i percorsi di codice in modo condizionale 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 inizializzazione per consentire all'app di gestire agevolmente l'errore AssertionError che si è verificato durante la creazione di CameraCharacteristics. (Ibec79)
Versione 1.1.0-alpha09
29 settembre 2021
Vengono rilasciate le funzionalità 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
. La versione 1.1.0-alpha09 contiene questi commit.
Modifiche alle API
- L'annotazione ExperimentalUseCaseGroup viene rimossa ora che le API non sono più sperimentali. (I01ef5)
Correzioni di bug
- Risolvere il problema relativo alla sfocatura delle foto scattate
in modalità
MAXIMIZE_QUALITY
. (I173a9, b/193823892) - Risolto un problema del Samsung Galaxy J5 che causava il blocco della fotocamera dopo aver scattato foto con il flash attivo/automatico in un ambiente buio (I3aab9)
- Quando è necessario il ritaglio per Image Capture, comprime 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
Vengono rilasciate le funzionalità 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
. La versione 1.1.0-alpha08 contiene questi commit.
Nuove funzionalità
- Aggiungi l'API setOutputImageFormat per la configurazione dell'analisi delle immagini. 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 ExperimentalUseCaseGroupLifecycle viene rimossa ora che le API non sono più sperimentali. (I17b85)
Correzioni di bug
- Lo schermo di anteprima corretto è troppo luminoso su Huawei P20 Lite. Questo problema si verifica solo quando alcune risoluzioni speciali di anteprima vengono utilizzate insieme a un valore di zoom in avanti elevato. (Idefce, b/192129158)
- È stato risolto un problema a causa del quale il flash non funzionava su alcuni dispositivi durante l'impostazione del flash su FLASH_MODE_ON per poi scattare foto. (Ieb49b)
- È stato risolto il problema per cui l'anteprima si arresta per un po' quando si scattano foto se Video Capture, Image Capture e Anteprima sono associati. (I56197, b/193864120)
- Consente all'analisi delle immagini di selezionare una risoluzione superiore a 1080p. Un dispositivo di livello LIMITATO può supportare una risoluzione di dimensione RECORD per ImageAnalysis quando è associato a Preview e Image Capture. Lo svantaggio è che la risoluzione selezionata per l'acquisizione di immagini deve essere anche una risoluzione di dimensione del RECORD. Per selezionare correttamente la risoluzione delle dimensioni RECORD per ImageAnalysis, è necessario impostare una risoluzione target della dimensione RECORD sia su Image Capture che su ImageAnalysis. Questo indica che l'applicazione comprende chiaramente il compromesso e preferisce che ImageAnalysis abbia una risoluzione maggiore, anziché Image Capture per avere una risoluzione MASSIMA. Per le definizioni delle dimensioni RECORD, MASSIMA e per maggiori dettagli, visita la pagina https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture. Le dimensioni del RECORD si riferiscono alla risoluzione di registrazione massima supportata dalla fotocamera, come determinata da CamcorderProfile. La dimensione MAXIMUM si riferisce alla risoluzione di output 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, restituisce l'URI dell'immagine salvata se il percorso di salvataggio è File. (Ib5b49, b/149241379)
- È stato risolto il problema a causa del quale le immagini acquisite con flash erano scure su molti dispositivi. (I4e510).
Versione 1.1.0-alpha07
21 luglio 2021
Vengono rilasciate le funzionalità 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
. La versione 1.1.0-alpha07 contiene questi commit.
Correzioni di bug
- Risolto un problema di Samsung Galaxy Note 5 che la fotocamera riceve bloccato dopo aver scattato foto con il flash attivo/automatico al buio ambiente (If6871)
- È stato 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
Vengono rilasciate le funzionalità 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
. La versione 1.1.0-alpha06 contiene questi commit.
Modifiche alle API
- Promuovi le API sperimentali di compensazione dell'esposizione per camera-core (I08ee8)
- È stata aggiunta un'API isFocusMeteringSupported in CameraInfo che consente alle applicazioni di verificare se la specifica FocusMeteringAction è supportato o meno sulla fotocamera attuale. (Ib45ae, b/188606490)
- API getResolutionInfo per fornire informazioni sulla risoluzione per Preview, Image Capture e ImageAnalysis. (I2b613, b/188600718)
- Abbiamo promosso le seguenti API sperimentali alle API ufficiali: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerGestori(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerGestori(). (I2ade2)
- Interfaccia dell'interfaccia CameraProvider esposta per consentire l'accesso a un gruppo di videocamere. (I1a7b1)
- Promuovi l'API UseCaseGroup sperimentale per core fotocamera, ciclo di vita della fotocamera e video fotocamera. Sono stati aggiunti
ViewPort#getLayoutDirection
,ViewPort.Builder#setLayoutDirection
eViewPort.Builder#setScaleType
per la personalizzazione dell'area visibile. (I7cee8)
Versione 1.1.0-alpha05
2 giugno 2021
Vengono rilasciate le funzionalità 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
. 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 recupero di CameraCharacteristics o altro relativo a Camera2 tramite Camera2CameraInfo, se necessario. (Ib887c)ExperimentalCameraFilter
API non sono più sperimentali e diventano API formali. Possono essere utilizzati senza opt-in annotati. (I4bc94)- È stata aggiunta l'API Camera State esposta tramite
CameraInfo#getCameraState()
. (Ia86b4) - È stata aggiunta l'API sperimentale
CameraInfo#getCameraSelector()
che restituisce un CameraSelector univoco per la relativa fotocamera (I77f9f)
Correzioni di bug
- È stato risolto il problema che era stato restituito in ListenableFuture Impossibile completare setZoomRatio e setLinearZoom su alcuni dispositivi Android 11 dispositivi (I716d7)
- Velocizza il cambio di fotocamera e riduci la percentuale di errori del dispositivo della videocamera (I34c99)
- Sostituito ExperimentalUseCaseGroupLifecycle con ExperimentalUseCaseGroup. (I3b2ef, b/159033688)
Versione 1.1.0-alpha04
21 aprile 2021
Vengono rilasciate le funzionalità 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
. La versione 1.1.0-alpha04 contiene questi commit.
Correzioni di bug
- È stata corretta una perdita di memoria causata da più thread che accedono contemporaneamente alla stessa raccolta. A causa della perdita di memoria, l'attività o il frammento potrebbero essere conservati da 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 il ripristino di Image Capture con il flash attivato/automatico 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
Vengono rilasciate le funzionalità 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
. La versione 1.1.0-alpha03 contiene questi commit.
Correzioni di bug
- Viene restituito il formato JPEG per
ImageCapture#OnImageCapturedCallback
quando è attiva le modalità Estensioni. (I0d7b1). - È stato corretto l'errore di inizializzazione sui dispositivi UMIDIGI BISON (I57d9e, b/180818665)
- È stato corretto il problema di anteprima estesa su Samsung A3 in PreviewView. (Iacb30, b/180121821)
Versione 1.1.0-alpha02
24 febbraio 2021
Vengono rilasciate le funzionalità 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
. 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, ovvero tutte le fotocamere del dispositivo o quelle selezionate dalCameraSelector
fornito inCameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector)
. (Ieac08)
Correzioni di bug
- CameraX ora tenta di forzare l'apertura di una videocamera al tentativo iniziale. Di conseguenza, CameraX potrebbe sottrarla ad altri client della videocamera quando la sua app ha una priorità più alta. (Iab069, b/175820568)
- È stato corretto l'errore del test robotico quando setAvailableCamerasLimiter è utilizzato in CameraXConfig. (Ice307)
- Questa modifica individua l'eccezione quando la coda delle immagini è al massimo in ImageAnalysis. Quindi, invece di arrestarsi in modo anomalo, altri casi d'uso potrebbero essere bloccati o lenti. ad es. anteprima bloccata/lenta. (Ic12da, b/175851631)
- È stato corretto ExtensionsErrorListener per segnalare gli errori quando è associato solo Preview o Image Capture. (I5ae39).
- È stato corretto il problema di regressione delle prestazioni di Image Capture, rimuovendo la convalida della posizione dell'immagine salvata prima di scattare una foto. Dopo aver apportato questa modifica, se la destinazione del salvataggio non è valida, ci vorrà più tempo per ricevere la risposta di errore perché si proverà a salvare l'immagine dopo aver scattato la foto. (I1fd4e, b/177061560)
- Correzione della regressione delle prestazioni di Image Capture con "File" digita OutputFileOptions. (I5164a, b/177061560)
- Documentazione aggiornata per sconsigliare l'utilizzo
ProcessCameraProvider.configureInstance(...)
da codice libreria. (Ib8a9f)
Versione 1.1.0-alpha01
27 gennaio 2021
Vengono rilasciate le funzionalità 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
. La versione 1.1.0-alpha01 contiene questi commit.
Correzioni di bug
- Soluzione alternativa inclusa per la corruzione intermittente dei dati delle immagini in JPEG della fotocamera posteriore SM-G930T. (I52001, b/159831206)
- È stato risolto il problema di
IllegalArgumentException
che si è verificato quando tutte le dimensioni supportate in anteprima erano inferiori a 640 x 480 e le dimensioni di visualizzazione erano superiori a 640 x 480. (I2a63c, b/150506192) - Risorse nelle biblioteche senza risorse pubbliche dichiarate esplicitamente (ad es. tramite public.xml) ora sono private per impostazione predefinita. (Ia1dcc, b/170882230)
Fotocamera-Fotocamera2, Fotocamera-Core e Ciclo di vita della fotocamera versione 1.0.2
Versione 1.0.2
29 settembre 2021
Vengono rilasciate le funzionalità androidx.camera:camera-camera2:1.0.2
, androidx.camera:camera-core:1.0.2
e androidx.camera:camera-lifecycle:1.0.2
. La versione 1.0.2 contiene questi commit.
Correzioni di bug
- Risolvere il problema relativo alla sfocatura delle foto scattate
in modalità
MAXIMIZE_QUALITY
. (I173a9, b/193823892) - Risolto un problema per cui l'immagine acquisita con flash era scura molti dispositivi. (I4e510).
Fotocamera-Fotocamera2, Fotocamera-Core e Ciclo di vita della fotocamera versione 1.0.1
Versione 1.0.1
21 luglio 2021
Vengono rilasciate le funzionalità androidx.camera:camera-camera2:1.0.1
, androidx.camera:camera-core:1.0.1
e androidx.camera:camera-lifecycle:1.0.1
. La versione 1.0.1 contiene questi commit.
Correzioni di bug
È stato risolto il problema restituito da
ListenableFuture
Impossibile completaresetZoomRatio
esetLinearZoom
su alcuni Android 11 dispositivi (I716d7)È stato risolto il problema per cui su alcuni dispositivi la videocamera si bloccava alla chiusura dello stato e causava l'anteprima nera. (I34c99)
Fotocamera-Fotocamera2, Fotocamera-Core e Ciclo di vita della fotocamera versione 1.0.0
Versione 1.0.0
5 maggio 2021
Vengono rilasciate le funzionalità androidx.camera:camera-camera2:1.0.0
, androidx.camera:camera-core:1.0.0
e androidx.camera:camera-lifecycle:1.0.0
. La versione 1.0.0 contiene questi commit.
Funzionalità principali di 1.0.0
- CameraX supporta Anteprima, Image Capture e Analisi
- CameraX gestisce il ciclo di vita della fotocamera con un'API di facile utilizzo
- CameraX mira a fornire un livello di compatibilità che risolva molti problemi nell'ecosistema delle fotocamere Android
Problemi noti
- Consulta l'elenco dei problemi noti
Versione 1.0.0-rc05
21 aprile 2021
Vengono rilasciate le funzionalità 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
. La versione 1.0.0-rc05 contiene questi commit.
Correzioni di bug
- È stato corretto il ripristino di Image Capture con il flash attivato/automatico che consente di acquisire immagini sbiadite su Samsung Galaxy S7. (I30001)
Versione 1.0.0-rc04
24 marzo 2021
Vengono rilasciate le funzionalità 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
. La versione 1.0.0-rc04 contiene questi commit.
Correzioni di bug
- È stato corretto l'errore di inizializzazione sui dispositivi UMIDIGI BISON (I57d9e, b/180818665)
Versione 1.0.0-rc03
24 febbraio 2021
Vengono rilasciate le funzionalità 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
. La versione 1.0.0-rc03 contiene questi commit.
Correzioni di bug
- Correggi l'errore di formato nel documento di
ProcessCameraProvider#getInstance
- È stato corretto l'errore del test Robolectric quando setAvailableCamerasLimiter viene utilizzato in CameraXConfig.
- È stato corretto il problema di regressione delle prestazioni di Image Capture, rimuovendo la convalida della posizione dell'immagine salvata prima di scattare una foto. Dopo aver apportato questa modifica, se la destinazione del salvataggio non è valida, ci vorrà più tempo per ricevere la risposta di errore perché si proverà a salvare l'immagine dopo aver scattato la foto
- Questa modifica individua l'eccezione quando la coda delle immagini è al massimo in ImageAnalysis. Quindi, invece dell'arresto anomalo, potresti notare che altri casi d'uso sono bloccati o lenti. ad es. anteprima bloccata/lenta.
- Soluzione alternativa inclusa per la corruzione intermittente dei dati delle immagini in JPEG della fotocamera posteriore SM-G930T. (I52001, b/159831206)
- Questa modifica individua l'eccezione quando la coda delle immagini è al massimo in ImageAnalysis. Quindi, invece di arrestarsi in modo anomalo, altri casi d'uso potrebbero essere bloccati o lenti. ad es. anteprima bloccata/lenta. (Ic12da, b/175851631)
- È stato corretto l'errore del test robotico quando setAvailableCamerasLimiter è utilizzato in CameraXConfig. (Ice307)
- È stato corretto il problema di regressione delle prestazioni di Image Capture, rimuovendo la convalida della posizione dell'immagine salvata prima di scattare una foto. Dopo aver apportato questa modifica, se la destinazione del salvataggio non è valida, ci vorrà più tempo per ricevere la risposta di errore perché si proverà a salvare l'immagine dopo aver scattato la foto. (I1fd4e, b/177061560)
- Correzione della regressione delle prestazioni di Image Capture con "File" digita OutputFileOptions. (I5164a, b/177061560)
Versione 1.0.0-rc02
27 gennaio 2021
Vengono rilasciate le funzionalità 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
. La versione 1.0.0-rc02 contiene questi commit.
Correzioni di bug
- È stato risolto il problema adsenseArgumentException che si verificava quando tutte le dimensioni supportate per l'anteprima erano inferiori a 640 x 480 e quelle di visualizzazione erano superiori a 640 x 480. (b/150506192)
Limita il numero di tentativi di riapertura della videocamera. Durante il tentativo di ripristino da determinati problemi all'apertura della fotocamera, CameraX non tenterà più di riaprirla a tempo indeterminato, ma si ferma dopo un nuovo tentativo per 10 secondi.I435d2
È stato risolto il problema di
IllegalArgumentException
che si è verificato quando tutte le dimensioni supportate in anteprima erano inferiori a 640 x 480 e le dimensioni di visualizzazione erano superiori a 640 x 480. (I2a63c, b/150506192)
Versione 1.0.0-rc01
16 dicembre 2020
Vengono rilasciate le funzionalità 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
. La versione 1.0.0-rc01 contiene questi commit.
Modifiche alle API
- Filtro fotocamera e Camera2Filter modificati per acquisire in CameraInfo. (I6883d)
- È stata aggiunta la classe sperimentale Camera2CameraControl per consentire l'interoperabilità con le API Camera2 in modo dinamico. (I45cf3)
- Il valore Camera2InfoInfo#fromCameraInfo è stato rinominato in #from. (Ia2bd6)
- È stata aggiunta un'API setAvailableCamerasLimiter per gli esperimenti CameraXConfig per consentire alle app di ottimizzare la latenza di inizializzazione evitando di inizializzare le videocamere inutilizzate. (I6cf88)
- È stato aggiunto il metodo sperimentale
CameraXConfig.Builder#setMinimumLoggingLevel()
per consentire l'impostazione di un livello minimo di logging per i log di CameraX. Se non viene configurato, il valore predefinito èLog#DEBUG
. (Ic3245).
Correzioni di bug
- Soluzione alternativa inclusa per problemi di funzionamento intermittente dei dati dell'immagine in JPEG sulla fotocamera posteriore SM-G930V. (I5aca5, b/159831206)
- È stato risolto il problema per cui scattando foto non si ricevono risultati quando il flash è sempre/acceso e l'ambiente è buio sui dispositivi Samsung SM-A716. (If98b2, b/172036589)
- È stato risolto il problema che non consente di interrompere l'anteprima chiamando
Preview.setSurfaceProvider(null)
. (I3ac18). - È stato risolto il problema di orientamento durante l'acquisizione di immagini in 4:3 su alcuni dispositivi. (I0e3fb, b/171492111)
Fotocamera Fotocamera2, Core e Ciclo di vita versione 1.0.0-beta12
11 novembre 2020
Vengono rilasciate le funzionalità 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
. La versione 1.0.0-beta12 contiene questi commit.
Correzioni di bug
- Flash automatico disattivato sui dispositivi Samsung A3 per correggere l'arresto anomalo quando scatti una foto con il flash automatico in modalità AE sui dispositivi Samsung A3. (Ia5fe3, b/157535165)
- È stato risolto un problema per cui l'anteprima veniva estesa sui dispositivi Nexus 4 con Android L (livelli API 21 e 22). (I4d407, b/158749159)
OnImageCapturedCallback#onCaptureSuccess
classe base che non chiude più l'immagine. Ciò è necessario per evitare comportamenti imprevisti agli sviluppatori. Gli sviluppatori non devono fare affidamento super.on CaptureSuccess per chiudere l'immagine. (Ifbf9c).- La variante Androidx dell'annotazione Sperimentale è stata ritirato per garantire la parità con Kotlin. È stato sostituito dal l'annotazione Richiedi OptIn e il linter rivolto a Java è stato aggiornato a supportano sia la nuova annotazione Kotlin sia la nuova variante Androidx. (I52495, b/151331381)
Camera-Camera2 Versione 1.0.0-beta11
14 ottobre 2020
Viene rilasciato androidx.camera:camera-camera2:1.0.0-beta11
. La versione 1.0.0-beta11 contiene questi commit.
Nuove funzionalità
- Supporta l'API Android 11
CONTROL_ZOOM_RATIO
per lo zoom attivo Android 11 o versioni successive che contiene datiCONTROL_ZOOM_RATIO_RANGE
. (I62cc6)
Correzioni di bug
- È stato risolto il problema NumberFormatException che si verificava quando l'ID videocamera era un ID videocamera non intero. (Ib2228)
- È stata migliorata la latenza dell'inizializzazione di CameraX e bindToLifecycle (I61dc5)
- La creazione di casi d'uso non richiede l'inizializzazione di CameraX
per completare l'operazione. Tutte le configurazioni specifiche dell'implementazione sono impostate su
Caso d'uso una volta che è collegato a un'istanza di Camera che il pubblico
L'API è
ProcessCameraProvider.bindToLifecycle()
. (Ia5411) <UseCase>.getTargetRotation()
restituiràSurface.ROTATION_0
se chiamato prima di essere collegato a un'istanza Camera, a meno che targetRotazione è stata impostata nel Builder o nel caso d'uso. (I80fcd)
Camera-Core versione 1.0.0-beta11
14 ottobre 2020
Viene rilasciato androidx.camera:camera-core:1.0.0-beta11
. La versione 1.0.0-beta11 contiene questi commit.
Nuove funzionalità
- Supporta l'API CONTROL_ZOOM_RATIO
di Android 11 per lo zoom on
Android 11 o versioni successive che contiene dati
CONTROL_ZOOM_RATIO_RANGE
. (I62cc6)
Correzioni di bug
- È stato risolto il problema NumberFormatException che si verificava quando l'ID videocamera era un ID videocamera non intero. (Ib2228)
- La creazione di casi d'uso non richiede l'inizializzazione di CameraX
per completare l'operazione. Tutte le configurazioni specifiche dell'implementazione sono impostate su
Caso d'uso una volta che è collegato a un'istanza di Camera che il pubblico
L'API è
ProcessCameraProvider.bindToLifecycle()
. (Ia5411) <UseCase>.getTargetRotation()
restituiràSurface.ROTATION_0
se chiamato prima di essere collegato a un'istanza Camera, a meno che targetRotazione è stata impostata nel Builder o nel caso d'uso. (I80fcd)
Camera-Core versione 1.0.0-beta10
23 settembre 2020
Viene rilasciato androidx.camera:camera-core:1.0.0-beta10
. La versione 1.0.0-beta10 contiene questi commit.
Correzioni di bug
- Correzione del bug relativo alla convalida della destinazione di salvataggio del file per l'acquisizione dell'immagine (I8c565, b/167697553)
Camera-Camera2 Versione 1.0.0-beta10
23 settembre 2020
Viene rilasciato androidx.camera:camera-camera2:1.0.0-beta10
. La versione 1.0.0-beta10 contiene questi commit.
Correzioni di bug
- Rilascia per il supporto di Camera-Core 1.0.0-beta10
Camera-Camera2 Versione 1.0.0-beta09
16 settembre 2020
Viene rilasciato androidx.camera:camera-camera2:1.0.0-beta09
. La versione 1.0.0-beta09 contiene questi commit.
Modifiche alle API
- Anziché fornire metodi statici, Camera2CameraInfo prende in un'istanza CameraInfo quando viene creata per recuperare le immagini correlate a Camera2 informazioni. (I5b844).
Correzioni di bug
- È stato risolto il problema relativo alle proporzioni target sui tablet. È necessario selezionare una dimensione 16:9 se le proporzioni target sono impostate su
AspectRatio.RATIO_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) - Sono state aggiunte le interfacce sperimentali per ExposureCompensation (If96c7)
Camera-Core versione 1.0.0-beta09
16 settembre 2020
Viene rilasciato androidx.camera:camera-core:1.0.0-beta09
. La versione 1.0.0-beta09 contiene questi commit.
Modifiche alle API
- è stato corretto il bug in cui l'area visibile è contrassegnata come non null in UseCaseGroup. Gli sviluppatori devono poter creare un'area visibile senza impostarla. (Ie3d2e).
- Aggiunte interfacce sperimentali per
ExposureCompensation
(If96c7) - Consenti la rotazione arbitraria del target per l'anteprima. Le informazioni sulla trasformazione vengono calcolate e restituite all'utente in tempo reale tramite un nuovo callback
TranformationInfoListener
. (I21470)
Correzioni di bug
- È stato risolto il problema che non consentiva la disattivazione del flash su alcuni dispositivi. Si verifica quando la modalità flash è impostata su
FLASH_MODE_ON
per scattare una foto e viene modificata inFLASH_MODE_OFF
quando si attiva il flash. Il sintomo è l'attivazione della modalità torcia. (Ib4451, b/162568128) - Visualizzazione Anteprima forzata per utilizzare TextureView se l'effetto estensione è attivato e l'implementazione della libreria del fornitore deve eseguire un processo speciale sulla superficie di output. (I0c3cc)
- È stata corretta la perdita di attività/frammento quando un contesto di attività/frammento viene passato a
ProcessCameraProvider.getInstance(Context)
.
Problemi noti
- Quando è impostata l'opzione ViewPort, il rettangolo di ritaglio di Image Capture potrebbe non essere corretto sui dispositivi che ruotano il buffer delle immagini in HAL. Questo problema verrà risolto nella prossima release.
Camera-Camera2 Versione 1.0.0-beta08
19 agosto 2020
Viene rilasciato androidx.camera:camera-camera2:1.0.0-beta08
. La versione 1.0.0-beta08 contiene questi commit.
Correzioni di bug
- bindToLifecycle ottimizzato per l'esecuzione rapida sul thread principale. (I1d57e).
- DisplayOrientedMeteringPointRecovery acquisisce informazioni sulla fotocamera anziché CameraSelector, quindi esiste una mappatura diretta la videocamera per cui la fabbrica genererà punti. Tutti i corsi che utilizzano DisplayOrientedMeteringPointRecovery, acquisiscono anche informazioni anziché CameraSelector. (I400c1)
- È stato risolto il problema di raggruppamento delle dimensioni delle proporzioni con risoluzione automatica per cui viene selezionata una dimensione mod16 16:9 (864 x 480) quando l'impostazione della risoluzione target è 2016 x 1080 e sono supportate altre dimensioni 1920 x 1080 16:9. (I53167, b/159363774)
- Risolvi il problema CameraControl in cui non funzionava in base a una condizione di gara (I2279f, b/152333890, b/160714166)
Camera-Core versione 1.0.0-beta08
19 agosto 2020
Viene rilasciato androidx.camera:camera-core:1.0.0-beta08
. La versione 1.0.0-beta08 contiene questi commit.
Modifiche alle API
DisplayOrientedMeteringPointFactory
prende inCameraInfo
anzichéCameraSelector
, quindi esiste una mappatura diretta la videocamera per cui la fabbrica genererà punti. Tutti i corsi che utilizzanoDisplayOrientedMeteringPointFactory
anche inCameraInfo
anzichéCameraSelector
. (I400c1)
Correzioni di bug
- Per l'acquisizione di immagini, sovrascrivi il flag orizzontale capovolto nei metadati in base alla direzione della fotocamera. (I28499)
- L'inizializzazione non dovrebbe più arrestarsi in modo anomalo quando si utilizza un contesto
che non restituisce un oggetto Application
Context.getApplicationContext()
. (I3d3c9, b/160817073)
Camera-Camera2 Versione 1.0.0-beta07
22 luglio 2020
Viene rilasciato androidx.camera:camera-camera2:1.0.0-beta07
. La versione 1.0.0-beta07 contiene questi commit.
Correzioni di bug
- È stato risolto il problema di estensione dell'anteprima su un dispositivo Android 5.0 legacy. (I0c03a)
- Sono escluse alcune dimensioni JPEG supportate che causano un problema di WYSIWYG su alcuni dispositivi. (Ib5128)
Camera-Core versione 1.0.0-beta07
22 luglio 2020
Viene rilasciato androidx.camera:camera-core:1.0.0-beta07
. La versione 1.0.0-beta07 contiene questi commit.
Modifiche alle API
- Unisci lo stile di adattamento
FIT_CENTER
,FIT_START
eFIT_END
aFIT
.FIT
significa che il rettangolo di ritaglio restituito sarà il massimo rettangolo del sensore possibile. (Ia73c3) - Il rettangolo di ritaglio dell'anteprima è configurato dall'area visibile. Deve essere visibile agli utenti finali solo l'area coperta dal rettangolo di ritaglio. (I142a4)
Correzioni di bug
- È stato risolto il problema di estensione dell'anteprima su un dispositivo Android 5.0 legacy. (I0c03a)
- È stata corretta l'eccezione
ConcurrentModificationException
quando svincola i casi d'uso. (I371c0).
Camera-Camera2 Versione 1.0.0-beta06
24 giugno 2020
Viene rilasciato androidx.camera:camera-camera2:1.0.0-beta06
. La versione 1.0.0-beta06 contiene questi commit.
Modifiche alle API
- Aggiunta di interfacce sperimentali per filtrare le videocamere in base alla videocamera ID e CameraCharacteristics. (I28f61)
Correzioni di bug
- È stato risolto il problema per cui startFocusAndMetering non riesce a concentrarsi su Samsung Galaxy S7. (If3be7, b/159039233)
- Risolvere il problema che non è possibile chiudere la fotocamera dopo l'uscita dall'app. (I7a7b3)
- Risolvere il problema delle interruzioni ripetute del cambio di fotocamera durante l'utilizzo dell'implementazione di SurfaceView di PreviewView (I920ce)
CameraControl#startFocusAndMetering
avrà esito negativo se nessuno dei MeteringPoint specificato può generare rettangoli di misurazione validi. (ID53ce)
Camera-Core versione 1.0.0-beta06
24 giugno 2020
Viene rilasciato androidx.camera:camera-core:1.0.0-beta06
. La versione 1.0.0-beta06 contiene questi commit.
Modifiche alle API
- Aggiunta di interfacce sperimentali per filtrare le videocamere in base alla videocamera ID e CameraCharacteristics. (I28f61)
Correzioni di bug
- Ora è possibile configurare CameraX con
ProcessCameraProvider#configureInstance()
prima di chiamareProcessCameraProvider#getInstance()
. Ciò consente di personalizzareCameraXConfig
senza richiedere l'implementazione diCameraXConfig.Provider
nella classe dell'applicazione dell'app. (Ia1a8d). CameraControl#startFocusAndMetering
avrà esito negativo se nessuno dei MeteringPoint specificato può generare rettangoli di misurazione validi. (ID53ce)
Camera-Camera2 Versione 1.0.0-beta05
10 giugno 2020
Viene rilasciato androidx.camera:camera-camera2:1.0.0-beta05
. La versione 1.0.0-beta05 contiene questi commit.
Correzioni di bug
- È stato risolto l'arresto anomalo all'avvio dell'app durante l'inizializzazione di CameraX mentre il telefono è in modalità Non disturbare. Un elemento
InitializationException
contiene un valoreCameraUnavailableException
che verrà impostato suListenableFuture
del risultato dell'inizializzazione anziché causare l'arresto anomalo dell'applicazione. (I9909a, b/149413835) - È stato risolto l'arresto anomalo durante la chiamata a
startFocusAndMetering
sui dispositivi in cuiCONTROL_AF_STATE
è nullo. (Ife55e, b/157084254)
Camera-Core versione 1.0.0-beta05
10 giugno 2020
Viene rilasciato androidx.camera:camera-core:1.0.0-beta05
. La versione 1.0.0-beta05 contiene questi commit.
Modifiche alle API
- È stato risolto l'arresto anomalo all'avvio dell'app durante l'inizializzazione di CameraX mentre il telefono è in modalità Non disturbare. Un'istruzione
InitializationException
contiene un valoreCameraUnavailableException
che verrà impostato suListenableFuture
del risultato dell'inizializzazione anziché causare l'arresto anomalo dell'applicazione. (I9909a, b/149413835)
Correzioni di bug
- Documenti Java di
setTargetResolution
esetTargetRotation
aggiornati. (Iae16f)
Camera-Camera2 Versione 1.0.0-beta04
27 maggio 2020
Viene rilasciato androidx.camera:camera-camera2:1.0.0-beta04
. La versione 1.0.0-beta04 contiene questi commit.
Correzioni di bug
- Le applicazioni possono impostare i parametri della richiesta di acquisizione di Camera2 tramite
Camera2Interop
senza causare un arresto anomalo. Tieni presente che in caso di problemi dovuti alla sostituzione di parametri. La stabilità e il comportamento non sono garantiti quando si esegue l'override dei parametri con Camera2Interop. (Ibe5a1, b/149103700) - L'inizializzazione automatica è corretta quando si utilizza un'app su un dispositivo che usa uno pseudo-locale. (I3bef3, b/154767663)
- Il log degli errori relativo al caso d'uso scollegato è stato convertito in un log di debug su Camera2CameraImpl. (I1a565, b/154422490)
- È stato risolto il problema per cui l'immagine scattata a volte era troppo scura anche se si attiva il flash. (I5d9fa, b/149729613)
- Correzione del bug per cui il buffer in
ImageProxy
daImageCapture
non era riavvolto (I0c455, b/153249512) - Sono stati risolti i problemi per cui l'associazione solo Image Capture: (1) non era riuscita a scattare foto con MAX_QUALITY; (2) L'immagine generata è di scarsa qualità perché l'esposizione automatica non funziona. (I17782, b/145326998)
- Maggiore affidabilità della riapertura della fotocamera quando CameraX viene disconnessa da un altro processo o quando il codepath ruba la fotocamera (I1fbc3, b/153714651)
Camera-Core versione 1.0.0-beta04
27 maggio 2020
Viene rilasciato androidx.camera:camera-core:1.0.0-beta04
. 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 dall'elenco di videocamere CameraX. Questa nuova API, insieme aCameraXConfig.Builder#setCameraExecutor()
, dovrebbe consentire il controllo completo sui thread utilizzati dall'elenco di videocamere CameraX. (I7bf32, b/121160431)
Correzioni di bug
- Corregge l'arresto anomalo in
ImageAnalysis
in cui si accede aImageProxy
dopo la chiusura diImageReaderProxy
. Così facendo, tutti iImageProxy
ricevuti daAnalyzer
devono essere chiusi prima cheImageReaderProxy
venga chiuso. (I4b299, b/145956416, b/154155377, b/156357269) - Rimosso il parametro
CameraInfo
daPreviewView#createSurfaceProvider()
,PreviewView
ora lo recupera internamente daSurfaceRequest
. (If18f0, b/154652477) - L'inizializzazione automatica è corretta quando si utilizza un'app su un dispositivo che usa uno pseudo-locale. (I3bef3, b/154767663)
- È stato risolto il problema per cui l'immagine scattata a volte era troppo scura anche se si attiva il flash. (I5d9fa, b/149729613)
- Risolvi il problema relativo a
ImageAnalysis
per cui diverse chiamate a setAnalyzer/clearAnalyzer impedivano all'analizzatore di ricevere immagini da analizzare. (I6169f, b/151605317, b/153514544) - Correzione del bug per cui il buffer in
ImageProxy
daImageCapture
non era riavvolto (I0c455, b/153249512) - È stato risolto il problema per cui non sempre viene selezionata la prima videocamera nell'elenco supportato di
CameraManager
. (I4c624, b/153418028) - È stato risolto il problema di arresto anomalo intermittente causato dal mancato rilascio della piattaforma richiesta in precedenza dall'impostazione
Preview.SurfaceProvider
.“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation”
(I8e4e7, b/155936225)
Camera-Camera2 Versione 1.0.0-beta03
15 aprile 2020
Viene rilasciato androidx.camera:camera-camera2:1.0.0-beta03
. 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
Viene rilasciato androidx.camera:camera-core:1.0.0-beta03
. La versione 1.0.0-beta03 contiene questi commit.
Correzioni di bug
- È stata corretta la regressione da beta03 per cui la chiamata a
bindToLifecycle()
con zeroUseCase
causava un'eccezione generata. Questo ha impedito il recupero di unCamera
senza associare unUseCase
.
Camera-Camera2 Versione 1.0.0-beta02
1° aprile 2020
Viene rilasciato androidx.camera:camera-camera2:1.0.0-beta02
. La versione 1.0.0-beta02 contiene questi commit.
Correzioni di bug
- È stato corretto il valore
ImageInfo.getRotationDegrees()
diImageProxy
prodotto daImageCapture
in modo che corrisponda al valore di rotazione dell'orientamento EXIF. (Id4281, b/150802561) - Per utilizzare l'implementazione predefinita di CameraX/Camera2, non è più necessario ordinare in modo esplicito le dipendenze di CameraX all'interno di
build.gradle
. Nei casi in cui è necessario dichiarare dipendenze rigide, tutte le dipendenze di CameraX possono ora 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 l'associazione viene eseguita correttamente. In precedenza, quando si chiamavabindToLifecycle
per eseguire calcoli di risoluzione, il caso d'uso viene aggiornato. Ora non deve più aggiornare il caso d'uso per fare i calcoli (I78d9e)
Camera-Core versione 1.0.0-beta02
1° aprile 2020
Viene rilasciato androidx.camera:camera-core:1.0.0-beta02
. La versione 1.0.0-beta02 contiene questi commit.
Correzioni di bug
- È stato corretto il valore
ImageInfo.getRotationDegrees()
diImageProxy
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 l'associazione viene eseguita correttamente. In precedenza, quando si chiamavabindToLifecycle
per eseguire calcoli di risoluzione, il caso d'uso viene aggiornato. Ora non deve più aggiornare il caso d'uso per fare i calcoli (I78d9e) - È stato risolto un problema per cui la sessione di acquisizione del caso d'uso
Preview
non veniva aggiornata quando la piattaforma di anteprima cambiava dopo aver chiamatoPreview.setSurfaceProvider()
più volte.
Camera-Camera2 Versione 1.0.0-beta01
26 febbraio 2020
Viene rilasciato androidx.camera:camera-camera2:1.0.0-beta01
. La versione 1.0.0-beta01 contiene questi commit.
Correzioni di bug
SurfaceRequest.setSurface(Surface)
rinominato inSurfaceRequest.provideSurface(Surface)
eSurfaceRequest.setWillNotComplete()
perSurfaceRequest.willNotProvideSurface()
. (I224fe)- È stato risolto un problema relativo alla correzione delle proporzioni di un'immagine salvata
dopo aver modificato il valore di rotazione target utilizzando
ImageCapture.setTargetRotation()
. (I474ea, b/148763432) - È stato corretto l'inizializzazione delle varianti di app con ProGuard abilitato mantenendo il valore
che imposta il provider
CameraXConfig
predefinito. (I2d6c1).
Camera-Core versione 1.0.0-beta01
26 febbraio 2020
Viene rilasciato androidx.camera:camera-core:1.0.0-beta01
. La versione 1.0.0-beta01 contiene questi commit.
Modifiche alle API
- Sostituito
ListenableFuture
il giornoSurfaceRequest.provideSurface()
conExecutor
eCallback
. Questo semplifica l'API in quanto non richiede più la gestione delle eccezioniprovideSurface()
e impone che il callbackprovideSurface()
non possa essere annullato. Lo scopo è evitare gli arresti anomali su dispositivi meno recenti causati da che rilasciano prematuramente delle superfici. L'oggettoSurfaceRequest.Result
è ora in uso per monitorare l'utilizzo da parte di unSurfaceRequest
dell'elementoSurface
fornito. (I7854b) SurfaceRequest.setSurface(Surface)
rinominato inSurfaceRequest.provideSurface(Surface)
eSurfaceRequest.setWillNotComplete()
perSurfaceRequest.willNotProvideSurface()
. (I224fe)
Correzioni di bug
- È stato risolto un problema relativo alla correzione delle proporzioni di un'immagine salvata
dopo aver modificato il valore di rotazione target utilizzando
ImageCapture.setTargetRotation()
. (I474ea, b/148763432) - È stato corretto l'inizializzazione delle varianti di app con ProGuard abilitato mantenendo il valore
che imposta il provider
CameraXConfig
predefinito. (I2d6c1). - Documentazione aggiornata per le API in modalità Flash da includere valori possibili. (I4a3ec).
Camera-Camera2 Versione 1.0.0-alpha10
10 febbraio 2020
Viene rilasciato androidx.camera:camera-camera2:1.0.0-alpha10
. La versione 1.0.0-alpha10 contiene questi commit.
Correzioni di bug
- Stabilità migliorata sui dispositivi
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
grazie alla garanzia che iSurface
vengono conservati solo per l'utilizzo da parte della Fotocamera2. (I9dac2) - È stato risolto il problema di anteprima sottoesposta sui dispositivi LEGACY regolando correttamente
CONTROL_AE_TARGET_FPS_RANGE
. (1224638)
Camera-Core versione 1.0.0-alpha10
10 febbraio 2020
Viene rilasciato androidx.camera:camera-core:1.0.0-alpha10
. La versione 1.0.0-alpha10 contiene questi commit.
Modifiche alle API
ImageCapture
aggiornato per consentire il salvataggio delle immagini suUri
eOutputStream
. Combinazione ditakePicture
metodi con sovraccarico in un unico metodo. App di prova aggiornata in modo che utilizziUri
come esempio canonico. (Ia3bec)Preview.PreviewSurfaceProvider
è stato rinominato inPreview.SurfaceProvider
. ISurfaceProvider
non richiedono più agli sviluppatori di creare il proprioListenableFuture
e l'aggiunta di unSurface
avviene ora tramite un nuovo oggettoSurfaceRequest
. Il metodoPreview.getPreviewSurfaceProvider()
è stato rimosso a causa del suo potenziale uso improprio quandoPreview
è accoppiato ad altri corsi, ad esempioPreviewView
. (I20105)getTargetRotation()
egetTargetName()
aggiunti aPreview
. (Iceee7)- Aggiunti
getTargetRotation()
,getBackpressureStrategy()
egetImageQueueDepth()
inImageAnalysis
. (I9d6d9) getTargetRotation()
egetCaptureMode()
aggiunti inImageCapture()
(I5bc17)- Gli argomenti passati in precedenza in
ImageCapture.OnImageSavedCallback.onError()
eImageCapture.OnImageCapturedCallback.onError()
sono stati sostituiti da un singolo argomentoImageCaptureException
, che contiene ancora tutte le informazioni passate. - L'argomento del file passato in precedenza in
ImageCapture.OnImageSavedCallback.onImageSaved()
è stato rimosso. (I750d2) Preview
eImageCapture
corsi sono ora contrassegnati come definitivi. (I2500b)- API aggiornata, con
getZoomRatio()
,getMaxZoomRatio()
, MetodigetMinZoomRatio()
egetLinearZoom()
per l'unione diCameraInfo
ingetZoomState()
che restituisce un'istanzaZoomState
. (Ib19fe) - Rimossi i campi API
OPTION_TARGET_CLASS
eOPTION_TARGET_NAME
daCameraXConfig
perché sono destinate esclusivamente a biblioteche interne. Costruttore rimosso perCameraXConfig.Builder
. (I96912) - Rimosso il requisito secondo cui l'app deve estendere
Application
per poter essere usata per inizializzare CameraX. CameraX verrà ora inizializzata con un'impostazione predefinita Configurazione della videocamera 2 purché sia incluso l'artefattocamera-camera2
nel filebuild.gradle
dell'applicazione. (I58ff5) (b/146923574)
Camera-Camera2 Versione 1.0.0-alpha09
22 gennaio 2020
Viene rilasciato androidx.camera:camera-camera2:1.0.0-alpha09
. La versione 1.0.0-alpha09 contiene questi commit.
Modifiche alle API
Aggiungi il percorso di interoperabilità di camera2 per estrarre un ID videocamera Camera2. Puoi estrarre l'ID fotocamera di
CameraInfo
utilizzandoCamera2CameraInfo.extractCameraId()
. Il seguente esempio di codice mostra come utilizzare questa funzionalità:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
Il corso
Camera2CameraInfo
richiede ilExperimentalCamera2Interop
MarkerClass.
Camera-Core versione 1.0.0-alpha09
22 gennaio 2020
Viene rilasciato androidx.camera:camera-core:1.0.0-alpha09
. La versione 1.0.0-alpha09 contiene questi commit.
Modifiche alle API
- Il parametro
SurfaceOrientedMeteringPointFactory
useCaseForSurface
era rinominato inuseCaseForAspectRatio
e la documentazione di riferimento è espanso. - I metodi
FocusMeteringAction.Builder.from()
sono sostituiti dai costruttoriFocusMeteringAction.Builder()
. - Elemento rimosso
DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float)
. Le applicazioni devono utilizzare il costruttore che prende un parametroDisplay
e nella schermata corrente. - Miglioramenti Javadoc per le API di concentrazione e misurazione relative a
MeteringMode
e Flag 3A e utilizzo del parametroDisplay
. - È stata ampliata la documentazione di riferimento per
setZoomRatio
esetLinearZoom
.
Correzioni di bug
- Sono stati risolti i problemi relativi alla chiusura e all'apertura delle videocamere con conseguente "Precondizione" verifica l'errore.
- È stato risolto il problema di
ConcurrentModificationException
che poteva verificarsi durante l'utilizzo della torcia e zoom. - È stato risolto il problema, che ora consentiva di selezionare le risoluzioni più vicine a quella richiesta quando La dimensione mod16 è disponibile.
- Le API
startFocusMetering
ecancelFocusMetering
ora si comportano come documentato, con tempistiche corrette e che potrebbero restituire errori quando si verificano. - È stato risolto il problema relativo alla richiesta di una risoluzione target specifica con un aspetto ritagliato rapporto su un dispositivo che non supporta queste dimensioni. Una dimensione non ritagliata verrà selezionata una risoluzione sufficiente per associare la richiesta originale disponibili.
Camera-Camera2 Versione 1.0.0-alpha08
18 dicembre 2019
Viene rilasciato androidx.camera:camera-camera2:1.0.0-alpha08
. 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 viene avviata 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
- È stato risolto il problema per cui si verificava 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à camera2 per l'estrazione dell'ID videocamera.
Camera-Core versione 1.0.0-alpha08
18 dicembre 2019
Viene rilasciato androidx.camera:camera-core:1.0.0-alpha08
. La versione 1.0.0-alpha08 contiene questi commit.
Problemi noti
- Le app che utilizzano
PreviewView
oCameraView
potrebbero avere proporzioni errate. Questo accade dopo una pausa o una ripresa su alcuni dispositivi COMPLETI, come Pixel2.
Correzioni di bug
- Documentazione aggiornata per
FocusMeteringAction
eCameraControl
. - Implementazione di
TorchControl
perenableTorch()
egetTorchState()
.
Modifiche alle API
- Ha nascosto IntDef e spostato le costanti IntDef al di fuori della definizione IntDef.
rotationDegrees
spostato dal corsoOnImageCaptureCallback
aImageInfo
.rotationDegrees
spostato dal corsoAnalyzer
aImageInfo
.
Camera-Camera2 Versione 1.0.0-alpha07
4 dicembre 2019
Viene rilasciato androidx.camera:camera-camera2:1.0.0-alpha07
. La versione 1.0.0-alpha07 di camera-camera2 contiene questi commit
Camera2Config
è ora disponibile per l'inizializzazione e la configurazione di un'implementazione basata su Camera2 per CameraX. Ulteriori dettagli su come utilizzare questa funzionalità per l'inizializzazione sono disponibili nella sezione camera-core delle note di rilascio.- L'interoperabilità di Camera2 è ora contrassegnata come sperimentale e spostata in un pacchetto separato,
androidx.camera.camera2.interop.
Camera-Core versione 1.0.0-alpha07
4 dicembre 2019
Viene rilasciato androidx.camera:camera-core:1.0.0-alpha07
. La versione 1.0.0-alpha07 di camera-core contiene questi commit
Tieni presente che questa release alpha presenta alcune modifiche sostanziali durante la preparazione alla versione beta. Ti consigliamo di esaminare le modifiche e di condividere eventuali feedback sul gruppo Google CameraX. Agli sviluppatori che usano CameraX nelle app disponibili sul Play Store consigliamo di attendere la release beta formale prima di eseguire l'upgrade della libreria nelle applicazioni.
Modifiche alle API
Importante: l'inizializzazione di CameraX è cambiata. Le applicazioni devono implementare
CameraXConfig.Provider
e utilizzare il valore predefinitoCamera2Config
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 dalla chiamata alla classe CameraX sono ora disponibili tramiteProcessCameraProvider
.Un'istanza per processo di
ProcessCameraProvider
viene ottenuta in modo asincrono utilizzando il metodo staticoProcessCameraProvider.getInstance()
, che restituisce un futuro di sottoscrizione, che fornisce il valoreProcessCameraProvider
al completamento. Qui viene mostrato inonCreate()
per un utilizzo tipico. Puoi effettuare chiamate agetInstance()
più avanti nel ciclo di vita dell'attività per rinviare la latenza di inizializzazione a un momento successivo (ad esempio quando un'azione dell'utente apre l'interfaccia utente di una fotocamera).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 all'elemento
ListenableFuture
restituito dagetInstance()
. Ciò garantisce che il fornitore della videocamera possa essere recuperato daFuture
senza bloccareFuture.get()
cameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))
La selezione della fotocamera ora viene effettuata tramite un selettore di fotocamera, anziché un caso d'uso
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
A
CameraProvider.bindToLifecycle
vengono forniti 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 ed eseguiti per la videocamera selezionata.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)
Le classi del caso d'uso "Config" vengono rimosse. Crea invece direttamente casi d'uso, impostando le opzioni su ogni generatore di casi d'uso. Ad esempio:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
Il caso d'uso relativo all'anteprima è stato aggiornato in modo da accettare una piattaforma creata e gestita dall'applicazione al fine di garantire le best practice di Android. È vivamente consigliato utilizzare la classe di visualizzazione
PreviewView
fornita nel pacchetto di visualizzazione della videocamera.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
Consulta la documentazione per collegare 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 quando ha finito di utilizzarle. In caso contrario, le nuove immagini potrebbero non essere ricevute o la fotocamera potrebbe bloccarsi, a seconda dell'impostazione della contropressione. Per informazioni dettagliate, consulta la documentazione di riferimento.ImageAnalysis ImageReaderMode
adesso è 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()
viene 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 cambiate in IntDef
Sono stati aggiunti i controlli di zoom:
CameraControl.setLinearZoom()
CameraControl.setZoomRatio()
CameraInfo.getLinearZoom()
CameraInfo.getMaxZoomRatio()
CameraInfo.getZoomRatio()
Viene aggiunto
CameraInfo.hasFlashUnit()
per determinare se è presente hardware flash o torcia.L'utente
CameraInfo.isFlashAvailable()
è stato rimosso. Torch sostituisce la funzionalità Flash. Ulteriori dettagli sono inclusi nella documentazione di riferimento.I campi
ImageCapture.Metadata
sono sostituiti dalle funzioni di accesso get/set/is.startFocusMetering
ecancelFocusMetering
ora restituisconoListenableFutures
, che rappresenta l'operazione asincrona della chiamata.MeteringPoints
ora funzionano come handle delle azioni di misurazione e sono prodotti dalle fabbriche. Le app devono utilizzare le fabbriche esistenti anziché quelle personalizzate.
Problemi risolti
- È stato risolto il problema che si verificava quando si scattava una foto al ripristino del video (dopo una pausa precedente scattava foto in attesa di 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 correggeranno questo problema con il comportamento finale: in assenza di unità Flash,enableTorch(true)
non riesce immediatamente (non invia la richiesta aCaptureSession
) eTorchState
rimane disattivato. - Problema noto:
startFocusAndMetering
ecancelFocusAndMetering
avviano e annullano la misurazione dello stato attivo, ma restituiscono immediatamente uncompleted (success)
futuro non rappresentativo del comportamento documentato.FocusMeteringResult
daListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()
è un risultato falso cheisFocusSuccessful()
ed è sempre "false", in modo diverso da quello previsto e documentato. - Problema noto: è in corso lo sviluppo di una fabbrica del punto di misurazione da utilizzare con gli eventi touch
PreviewView
. Per il momento, le app che collegano piattaforme gestite personalizzate possono usare le fasi di misurazione dei punti di misurazione esistenti, altrimenti la funzionalità di messa a fuoco touch non è disponibile perPreviewView
.
Camera-Camera2 e Camera-Core versione 1.0.0-alpha06
9 ottobre 2019
Vengono rilasciate le versioni androidx.camera:camera-camera2:1.0.0-alpha06
e androidx.camera:camera-core:1.0.0-alpha06
. Questi sono gli impegni inclusi in camera-camera2:1.0.0-alpha06
e gli impegni inclusi in camera-core:1.0.0-alpha06
.
Nuove funzionalità
Modifiche all'impostazione delle proporzioni:
setTargetAspectRatioMode()
è stato aggiunto e accetta un argomento enum. Consente di impostare la modalità proporzioni con le opzioniRATIO_4_3
oRATIO_16_9
anziché con proporzioni arbitrarie. Ciò riflette il fatto che dalla fotocamera vengono forniti solo alcuni formati, anziché un rapporto arbitrario.- Attualmente, gli unici rapporti disponibili sono 16:9 e 4:3. Nel caso del rapporto 1:1, la fotocamera dispone di questa funzionalità solo su alcuni dispositivi e solo a risoluzioni limitate. Le applicazioni che progettano un'interfaccia o un'elaborazione 1:1 dovrebbero utilizzare le opzioni più flessibili 16:9 o 4:3 e ritagliare il display o l'elaborazione di una sottoregione.
- Queste proporzioni sono orientate in modo da utilizzare la massima area del sensore.
getTargetAspectRatio()
è stato aggiunto alle API di configurazione del caso d'uso, restituendo le proporzioni a cui è scelto come target l'output del caso d'uso.- Il metodo
setTargetAspectRatio(Rational aspectRatio)
è stato modificato per Image Capture insetTargetAspectRatioCustom(Rational aspectRatio)
. Se impostato, l'output di Image Capture viene ritagliato di conseguenza.
API Executor
- Le seguenti funzioni accettano un parametro esecutore, che consente all'app di controllare su quale esecutore viene eseguita la funzione.
- API
Preview.setOnPreviewOutputUpdateListener()
. Se l'esecutore non è presente per quella funzione, viene eseguito sul thread principale. Preview.setOnPreviewOutputUpdateListener
FocusMeteringAction.Builder.setAutoFocusCallback
ImageAnalysis.setAnalyzer
ImageCapture.takePicture
CameraView.takePicture
CameraView.startRecording
VideoCapture.startRecording
- API
CameraInfo aggiunta con le API di controllo Flash disponibili e Sensor adatti (rotazione del sensore)
Sono stati aggiunti
CameraInfo
e un metodogetCameraInfo
, che consente alle app di controllare se è disponibile un obiettivo rivolto verso la fotocamera e se è disponibile un flash sulla fotocamera. Ad esempio: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 fotocamera rispetto all'orientamento naturale del dispositivo oppure, per comodità, rispetto a un orientamento descritto dalla rotazione della superficie (che descrive un orientamento relativo all'orientamento naturale).
Modifiche alle API e correzioni di bug
- Proporzioni: per ogni caso d'uso, le applicazioni devono chiamare solo uno tra
setTargetResolution()
osetTargetAspectRatio()
. La chiamata a entrambi sullo stesso builder restituisce un errore.- In generale, è consigliabile utilizzare
setTargetAspectRatio()
in base alla progettazione 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 di immagini fornisce fermi immagine 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 risorse di calcolo) o massime (per i dettagli di elaborazione).
- In generale, è consigliabile utilizzare
- API Executor: rimossa la chiamata
setCallbackHandler()
dalle API di configurazione del caso d'uso. Le applicazioni possono invece impostare l'esecutore come parametro in varie altre API che impostano un callback. - Annotazioni nulle aggiornate per varie funzioni.
- È stato risolto un problema che causava 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 (inferiori a 640 x 480) quando l'app richiedeva risoluzioni più grandi o predefinite, generando un'immagine di anteprima stampata o sfocata. Le applicazioni che necessitano specificamente di risoluzioni inferiori possono richiederle esplicitamente.
- È stato risolto un problema per cui la videocamera mostrava uno schermo nero (impossibile avviare la videocamera) dopo il ritorno da un intent che avviava un'altra applicazione della fotocamera.
- È stato corretto un bug che generava il seguente errore quando le app vengono avviate o arrestate ripetutamente.
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
- È stato corretto il seguente errore che si verificava durante la disattivazione dell'analisi delle immagini:
java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
- Sono stati aggiunti ulteriori test per il flusso di disconnessione della videocamera.
- Robustezza del sistema di test migliorata durante l'esecuzione di test consecutivi della fotocamera.
Camera-Camera2 e Camera-Core versione 1.0.0-alpha05
5 settembre 2019
Vengono rilasciate le versioni androidx.camera:camera-camera2:1.0.0-alpha05
e androidx.camera:camera-core:1.0.0-alpha05
. Questi sono gli impegni inclusi in camera-camera2:1.0.0-alpha05 e gli impegni inclusi camera-core:1.0.0-alpha05.
Modifica dell'API: variabili di errore del caso d'uso rinominate:
ImageCapture.UseCaseError
è stato rinominatoImageCapture.ImageCaptureError
VideoCapture.UseCaseError
è stato rinominatoVideoCapture.VideoCaptureError
Aggiunta dell'API
CameraControl
con API Tap-to-FocusAggiunta l'API per ottenere un
CameraControl
da CameraX per una fotocamera, selezionata in base all'obiettivo:CameraX.getCameraControl(LensFacing lensFacing)
Aggiunti
MeteringPointFactory
,MeteringPoint
,MeteringMode
eFocusMeteringAction
per eseguire Tocco 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();
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 API per le fabbriche di punti di misurazione che assistono la traduzione delle coordinate dei tocchi in coordinate dei sensori, in base alle classi di visualizzazione:
MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView);
MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);
Imponi la chiamata ai seguenti metodi sul thread principale (UI), generando un
IllegalStateException
quando non è così. Le versioni future consentiranno l'utilizzo su altri thread e garantire la serializzazione.CameraX.bindToLifecycle()
CameraX.unbind()
CameraX.unbindAll()
ImageAnalysis.setAnalyzer()
ImageAnalysis.getAnalyzer()
ImageAnalysis.removeAnalyzer()
Preview.removePreviewOutputListener()
Preview.getOnPreviewOutputUpdateListener()
Preview.setOnPreviewOutputUpdateListener()
Varie impostazioni di configurazione ora accettano parametri nulli e i getter corrispondenti possono restituire un valore nullo.
È stato risolto il problema durante il test su emulatori che non supportano le impostazioni AF/AE/AWB.
È stato corretto il bug di arresto anomalo durante la rotazione durante l'analisi 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 in contemporanea. Per garantire la compatibilità, le applicazioni devono allegare un solo caso d'uso per l'analisi delle immagini.
Sono stati aggiunti test robolectrici iniziali per una fotocamera falsa nella suite di test della fotocamera (in fase di elaborazione).
Il test Camera2Inititalizer è stato rimosso in quanto la copertura non era chiara/ingannevole.
Camera-Camera2 e Camera-Core versione 1.0.0-alpha04
7 agosto 2019
Vengono rilasciate le versioni androidx.camera:camera-camera2:1.0.0-alpha04
e androidx.camera:camera-core:1.0.0-alpha04
. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
Modifiche alle proporzioni e alla selezione della risoluzione
L'obiettivo di CameraX è inizializzare correttamente una sessione della videocamera. Ciò significa che CameraX compromette il rapporto risoluzione/aspetto in base alle funzionalità del dispositivo per avviare una sessione di acquisizione come primo obiettivo, pertanto le richieste esatte potrebbero non essere soddisfatte. Ciò può essere dovuto a:
- I dispositivi non supportano la risoluzione richiesta
- Problemi di compatibilità, ad esempio su dispositivi LEGACY, in cui è necessario utilizzare determinate risoluzioni per funzionare correttamente
- Su alcuni dispositivi, alcuni formati sono disponibili solo con alcune proporzioni
- Una preferenza per la "mod16 più vicina" per la codifica JPEG o video. Vedi
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
Anche se CameraX crea e gestisce la sessione, occorre sempre controllare le dimensioni dell'immagine restituita nell'output del caso d'uso nel codice e regola di conseguenza.
Sono state apportate alcune modifiche all'impostazione di risoluzioni e proporzioni con l'obiettivo di rendere l'API più chiara:
- Il caso d'uso dell'anteprima è ora considerato con proporzioni predefinite 4:3 quando non ne viene impostata nessuna.
- Quando CameraX valuta internamente le modifiche alle risoluzioni e alle proporzioni richieste in base alle funzionalità del dispositivo, innanzitutto prova 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 scarta continuamente le immagini inutilizzate per consentire alla pipeline della fotocamera di evitare blocchi. - L'analizzatore può contenere una singola immagine per un tempo indeterminato senza bloccare la pipeline.
- Se l'applicazione fornisce un esecutore che poi si blocca, il caso d'uso di ImageAnalysis si blocca.
- L'esecutore predefinito impostato internamente si comporta come un esecutore non bloccante.
Correzioni di bug
- Sono stati risolti i problemi di timeout in attesa della convergenza 3A durante l'acquisizione di immagini su dispositivi senza messa a fuoco automatica, esposizione automatica e bilanciamento automatico del bianco
- È stato risolto il problema relativo allo scatto rapido di foto con Image Capture. Corregge l'errore:
java.lang.IllegalStateException: maxImages (2) has already been acquired
- È stato risolto il problema che causava la mancata chiamata di
setLensFacing
per un caso d'uso, con conseguentejava.lang.IllegalArgumentException: Unable to get camera ID for use case
. - È stato risolto il problema per cui il dispositivo LEGACY richiedeva proporzioni specifiche come risoluzione JPEG massima
- È stato risolto il problema relativo all'esecuzione in background dell'app durante l'apertura della fotocamera
- È stato risolto il problema relativo all'API < 25, rimozione dell'errore
checkAndUpdateEglState: invalid current EGLDisplay
- È stato risolto il problema relativo allo svincolo dell'anteprima dopo l'attivazione e l'avvio delle estensioni
- Gli elementi della build per Camera-View e le estensioni fotocamera sono ora pubblicati come versioni alpha
Camera-Camera2 e Camera-Core versione 1.0.0-alpha03
2 luglio 2019
Vengono rilasciate le versioni androidx.camera:camera-core:1.0.0-alpha03
e androidx.camera:camera-camera2:1.0.0-alpha03
. La versione 1.0.0-alpha03 contiene questi commit.
Modifiche alle API
- È stato aggiunto un chiarimento javadoc per "target" nelle chiamate di configurazione di setTarget
Core della fotocamera
- Correzione dell'arresto anomalo non configurato della superficie di input/output durante l'apertura/chiusura rapida o il binding/slegato
- Passare alle nuove implementazioni dei futures
- Correzioni dei test per test più affidabili
- Il test di integrazione dei core ora mostra il tempo di acquisizione delle foto
- Sviluppo di una classe di compatibilità interna per gli esecutori
- Le immagini di acquisizione dell'app di test dei tempi attende il completamento del precedente e stabilità migliorata
Estensioni
- Controlli del controllo delle versioni aggiunti
- Copertura dei test aggiuntiva: callback degli eventi di estensione
- Miglioramenti dell'immagine e dei metadati corrispondenti internamente
- Correzioni al passaggio della modalità nell'app di prova
Camera-Camera2 e Camera-Core versione 1.0.0-alpha02
5 giugno 2019
Vengono rilasciate le versioni androidx.camera:camera-core:1.0.0-alpha02
e androidx.camera:camera-camera2:1.0.0-alpha02
. La versione 1.0.0-alpha02 contiene questi commit.
Correzioni di bug
- È stato risolto il problema div per zero durante l'utilizzo dell'emulatore
- È stato corretto l'errore NullPointerException/Surface Permission che si verificava su alcuni dispositivi quando si scattavano foto rapidamente e si sleggevano e riastendevano rapidamente i casi d'uso.
- È stato risolto il problema interno per garantire che gli aggiornamenti delle richieste di acquisizione interessino in modo coerente tutte le piattaforme
- Miglioramenti della stabilità durante il riavvio dei casi d'uso in nuove istanze di app
- Modifiche all'architettura interna per prepararsi al supporto degli esecutori nell'API
- Ulteriori chiarimenti su Javadoc sulla classe e sulla gestione del ciclo di vita di CameraX
- Sono stati aggiunti test con strumenti per l'app di test delle prestazioni Antelope
- Elimina la necessità di "-keepattributes Signature" configurazione di ProGuard nell'app
Camera-Camera2 e Camera-Core 1.0.0-alpha01
7 maggio 2019
androidx.camera:camera-core:1.0.0-alpha01
e
Vengono rilasciati androidx.camera:camera-camera2:1.0.0-alpha01
. La versione 1.0.0-alpha01 contiene questi commit.
Camera-Lifecycle versione 1.0.0-beta11
14 ottobre 2020
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-beta11
. La versione 1.0.0-beta11 contiene questi commit.
Correzioni di bug
<UseCase>.getTargetRotation()
restituiràSurface.ROTATION_0
se chiamato prima di essere collegato a un'istanza Camera, a meno che targetRotazione è stata impostata nel Builder o nel caso d'uso. (I80fcd)
Ciclo di vita della fotocamera versione 1.0.0-beta10
23 settembre 2020
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-beta10
. La versione 1.0.0-beta10 contiene questi commit.
Correzioni di bug
- Rilascia per il supporto di Camera-Core 1.0.0-beta10
Camera-Lifecycle versione 1.0.0-beta09
16 settembre 2020
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-beta09
. La versione 1.0.0-beta09 contiene questi commit.
Camera-Lifecycle versione 1.0.0-beta08
19 agosto 2020
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-beta08
. La versione 1.0.0-beta08 contiene questi commit.
Correzioni di bug
- L'inizializzazione non dovrebbe più arrestarsi in modo anomalo quando si utilizza un contesto
che non restituisce un oggetto Application
Context.getApplicationContext()
. (I3d3c9, b/160817073)
Camera-Lifecycle versione 1.0.0-beta07
22 luglio 2020
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-beta07
. La versione 1.0.0-beta07 contiene questi commit.
Ciclo di vita della fotocamera versione 1.0.0-beta06
24 giugno 2020
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-beta06
. La versione 1.0.0-beta06 contiene questi commit.
Modifiche alle API
- Ora è possibile configurare CameraX con ProcessCameraProvider#configureInstance() prima di chiamare ProcessCameraProvider#getInstance(). Ciò consente di personalizzare CameraXConfig senza richiedere l'implementazione di CameraXConfig.Provider nella classe dell'applicazione dell'app. (Ia1a8d).
Camera-Lifecycle versione 1.0.0-beta05
10 giugno 2020
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-beta05
. La versione 1.0.0-beta05 contiene questi commit.
Correzioni di bug
- È stato risolto l'arresto anomalo all'avvio dell'app durante l'inizializzazione di CameraX mentre il telefono è in modalità Non disturbare. Un'istruzione
InitializationException
contiene un valoreCameraUnavailableException
che verrà impostato suListenableFuture
del risultato dell'inizializzazione anziché causare l'arresto anomalo dell'applicazione. (I9909a, b/149413835)
Camera-Lifecycle versione 1.0.0-beta04
27 maggio 2020
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-beta04
. La versione 1.0.0-beta04 contiene questi commit.
Camera-Lifecycle versione 1.0.0-beta03
15 aprile 2020
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-beta03
. La versione 1.0.0-beta03 contiene questi commit.
Correzioni di bug
- È stata corretta la regressione da beta03 per cui la chiamata a
bindToLifecycle()
con zeroUseCase
causava un'eccezione generata. Questo ha impedito il recupero di unCamera
senza associare unUseCase
. - Correzioni a supporto della release di
camera-core
Camera-Lifecycle versione 1.0.0-beta01
26 febbraio 2020
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-beta01
. La versione 1.0.0-beta01 contiene questi commit.
Correzioni di bug
- È stata corretta la documentazione per tenere presente che quando si ottiene
ProcessCameraProvider
durante l'inizializzazione, la configurazione predefinita è in uso e che l'estensione diApplication
è facoltativa. (I5e395).
Ciclo di vita della fotocamera versione 1.0.0-beta02
1° aprile 2020
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-beta02
. La versione 1.0.0-beta02 contiene questi commit.
Correzioni di bug
- Aggiornamento eseguito per supportare le correzioni di bug negli elementi
camera-camera2:1.0.0-beta02
ecamera-core:1.0.0-beta02
.
Camera-Lifecycle versione 1.0.0-alpha10
10 febbraio 2020
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-alpha10
. La versione 1.0.0-alpha10 contiene questi commit.
Modifiche alle API
- È stata aggiunta l'annotazione
@MainThread
a BindToLifecycle, nonché di slegare e slegareAlle metodi. (I990d2)
Camera-Lifecycle versione 1.0.0-alpha03
22 gennaio 2020
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-alpha03
. La versione 1.0.0-alpha03 contiene questi commit.
regolari
- Varie correzioni e aggiornamenti per supportare Camera Core e Fotocamera 2 cambia.
Camera-Lifecycle versione 1.0.0-alpha02
18 dicembre 2019
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-alpha02
. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche alle dipendenze
- Aggiornamento eseguito per l'utilizzo di
androidx.camera:camera-core:1.0.0-alpha08
.
Camera-Lifecycle versione 1.0.0-alpha01
4 dicembre 2019
Viene rilasciato androidx.camera:camera-lifecycle:1.0.0-alpha01
. La versione 1.0.0-alpha01 di camera-lifecycle contiene questi commit
Note API
- Viene aggiunto l'artefatto del ciclo di vita della fotocamera, fornendo l'interfaccia
LifeCycleCameraProvider
e un'implementazione denominataProcessCameraProvider
che fornisce molte delle funzioni della precedente classe CameraX nel core e si ottiene tramite un metodogetInstance()
. - Per utilizzare CameraX, le app devono includere la libreria del ciclo di vita della fotocamera.
- Consulta le note nella sezione camera-core per istruzioni su come eseguire l'inizializzazione di CameraX utilizzando un
ProcessCameraProvider
.
Camera-Estensioni e Camera-View versione 1.0.0
Versione 1.0.0-alpha32
15 dicembre 2021
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha32
e androidx.camera:camera-view:1.0.0-alpha32
. 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 camera-extensions. (If683a, b/161377155)
Correzioni di bug
- Non consentire all'app di attivare le modalità di estensione durante l'associazione di
VideoCapture
. Le estensioni di CameraX supportano soloImageCapture
ePreview
.VideoCapture
non può ancora essere supportato. Se l'app vincolaVideoCapture
e attiva una qualsiasi modalità di estensione, verrà generato unIllegalArgumentException
. (I0d87b) CameraSelector#filter
non genera piùIllegalArgumentException
quando il set di risultati è vuoto. (I27804)- L'API
ExtensionsManager#getInstance
è stata rinominatagetInstanceAsync
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
perché 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 della risoluzione di input. (I74bb2) - Sposta il parametro
CameraProvider
delle funzioniExtensionsManager
nell'APIgetInstance()
. In questo modo, gli utenti non devono inserire il parametroCameraProvider
ogni volta quando chiamano le funzioniExtensionsManager
. (Ic7e48).
Versione 1.0.0-alpha31
17 novembre 2021
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha31
e androidx.camera:camera-view:1.0.0-alpha31
. 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 un CameraSelector. (I105d0)
Correzioni di bug
- È stato risolto un arresto anomalo durante il passaggio rapido dalla modalità delle estensioni su alcuni dispositivi. (Iebbef)
Versione 1.0.0-alpha30
13 ottobre 2021
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha30
e androidx.camera:camera-view:1.0.0-alpha30
. La versione 1.0.0-alpha30 contiene questi commit.
Modifiche alle API
- È stata aggiunta l'annotazione @RequestsApi(21) a tutte le classi CameraX e ha eliminato minSdkVersion da AndroidManifest.xml. Ciò ti consentirà camera-core per essere facilmente integrato nelle applicazioni che dispongono di un minSdkVersion inferiore a 21, ma vuole usare i percorsi di codice in modo condizionale 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
- È stato risolto il problema AbstractMethodError che si verifica quando ProGuard è abilitato. (Iae468, b/201177844)
Versione 1.0.0-alpha29
29 settembre 2021
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha29
e androidx.camera:camera-view:1.0.0-alpha29
. La versione 1.0.0-alpha29 contiene questi commit.
Modifiche alle API
- L'annotazione ExperimentalUseCaseGroup viene rimossa ora che le API non sono più sperimentali. (I01ef5)
- rimuovi
RotationProvider#removeAllListeners()
. Usa invece il criterioRotationProvider#removeListener(...)
. (Id9d4a) - Aggiornamento della classe RotazioneReceiver: Listener set/clear modificato in add/remove/removeAll, variante setListener che utilizza il thread principale per impostazione predefinita e annotazione dei metodi aggiunta. (Ib1669)
Correzioni di bug
- È stato cambiato il nome di ExtensionMode#BEAUTY in FACE_RETOUCH per presentare correttamente le operazioni eseguite dalla modalità di estensione. (I61f54, b/198515274)
- È stato risolto il problema di chiusura imprevista della fotocamera quando più CameraController e PreviewView vengono utilizzati in un'unica attività. (Ibfd18, b/197539358)
Versione 1.0.0-alpha28
18 agosto 2021
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha28
e androidx.camera:camera-view:1.0.0-alpha28
. La versione 1.0.0-alpha28 contiene questi commit.
Modifiche alle API
- L'annotazione ExperimentalUseCaseGroupLifecycle 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_FOCUS e TAP_TO_FOCUS_SUCCESSFUL in TAP_TO_FOCUS_FOCUS. OutputSize impostato come finale (I099fa)
Correzioni di bug
- Rimosse le classi
<EffectName><UseCase>Extender
deprecate, ExtensionsErrorListener e le API ExtensionsManager correlate. (I3b8c3).
Versione 1.0.0-alpha27
21 luglio 2021
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha27
e androidx.camera:camera-view:1.0.0-alpha27
. La versione 1.0.0-alpha27 contiene questi commit.
Modifiche alle API
- L'API Area visibile è stata promossa al di fuori dell'esperimento. Rimuovi l'annotazione sperimentale dell'API. (I717ea)
CoordinateTransform#getTransform
rinominato inCoordinateTransform#transform
e aggiornato JavaDoc (I864ae)
Correzioni di bug
- È stato risolto il problema di stretching della modalità
PreviewView PERFORMANCE
durante l'utilizzo insieme alla UI di Compose. (Ie1137, b/183864890)
Versione 1.0.0-alpha26
30 giugno 2021
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha26
e androidx.camera:camera-view:1.0.0-alpha26
. La versione 1.0.0-alpha26 contiene questi commit.
Modifiche alle API
- aggiungi un nuovo metodo
CameraController#getTapToFocusState()
che espone l'ultimo risultato del tocco per mettere a fuoco. (Iaccb0) - l'aggiunta di altre funzionalità principali della fotocamera a CameraController: getters/setter per proporzioni target, risoluzione target, modalità di acquisizione, CameraControl ed esecutori personalizzati. (Iea8f2).
- aggiungi una classe RotazioneReceiver che riceve le modifiche alla rotazione della superficie. Consente di impostare la rotazione target quando il dispositivo è in modalità verticale/orizzontale fissa. (Ib278f)
- Nuove API pubbliche getestimatedAcquisisciLatenzaRange esposte nella classe ExtensionsManager. (I6a8ec)
- ExtensionsErrorListener deprecato. Al momento, questa interfaccia viene utilizzata solo per verificare se manca un'anteprima o un'acquisizione Immagine quando si attivano le modalità di estensione. CameraX aggiungerà automaticamente un'ulteriore anteprima o un'altra acquisizione di immagine per far funzionare correttamente le funzioni dell'estensione. Successivamente, non verranno segnalati errori tramite questa interfaccia. (I47d9e)
- Sono state esposte le nuove API pubbliche getInstance, isDisplayAvailable e getEstensioneEnabledCameraSelector e vecchie classi
<EffectName><UseCase>Extender
deprecate e API correlate. (I329e6).
Versione 1.0.0-alpha25
2 giugno 2021
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha25
e androidx.camera:camera-view:1.0.0-alpha25
. La versione 1.0.0-alpha25 contiene questi commit.
Modifiche alle API
- Le API ExperimentalCameraFilter non sono più sperimentali e diventano API formali. Possono essere utilizzati senza opt-in annotati. (I4bc94)
- Aggiungi un'utilità che trasformi le coordinate tra i casi d'uso. Esempio di utilizzo: trasformazione delle coordinate rilevate nel caso d'uso di ImageAnalysis ed evidenzia l'oggetto rilevato nell'anteprima. (I63ab1, b/137515129)
CameraView
rimosso.CameraView
è stato sostituito daCameraController
. Per informazioni su come eseguire la migrazione, consulta la guida alla migrazione: (ID5005)
Correzioni di bug
ExperimentalUseCaseGroupLifecycle
sostituito conExperimentalUseCaseGroup
. (I3b2ef, b/159033688)
Versione 1.0.0-alpha24
21 aprile 2021
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha24
e androidx.camera:camera-view:1.0.0-alpha24
. 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). - È stato risolto il problema PreviewView allungato su Samsung J5 Prime (Ib10b6)
Estensioni della fotocamera e Visualizza versione 1.0.0-alpha23
24 marzo 2021
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha23
e androidx.camera:camera-view:1.0.0-alpha23
. La versione 1.0.0-alpha23 contiene questi commit.
Modifiche alle API
- CameraView verrà ritirata. Usa invece il criterio
LifecycleCameraController
. Consulta la guida alla migrazione (Idac2c) - È stata aggiunta l'annotazione FloatRange a setLinearZoom() (I69971)
Correzioni di bug
- Dipendenze di visualizzazione della videocamera bloccate in modo che utilizzino gli artefatti 1.0.0. A seconda della visualizzazione della videocamera, la dipendenza dalla luminosità non viene più causata per l'upgrade automatico di camera-core, camera-camera2 e alla versione 1.1.0 più recente, sebbene la visualizzazione della fotocamera sia sono ancora compatibili con questi artefatti se sono impostati esplicitamente per l'utilizzo 1.1.0. (Ic8fa1, b/181599852)
- È stato corretto il problema di anteprima estesa su Samsung A3 in PreviewView. (Iacb30, b/180121821)
- È stato risolto il problema per cui non era possibile impostare il selettore della fotocamera prima dell'inizializzazione della fotocamera. (Ic8bd0)
Estensioni della fotocamera e Visualizza versione 1.0.0-alpha22
24 febbraio 2021
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha22
e androidx.camera:camera-view:1.0.0-alpha22
. La versione 1.0.0-alpha22 contiene questi commit.
Modifiche alle API
- aggiungi un getter CameraInfo a CameraController. (Ib8138, b/178251727)
Correzioni di bug
- È stato corretto ExtensionsErrorListener per segnalare gli errori quando è associato solo Preview o Image Capture. (I5ae39).
Estensioni della fotocamera e Visualizza versione 1.0.0-alpha21
27 gennaio 2021
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha21
e androidx.camera:camera-view:1.0.0-alpha21
. La versione 1.0.0-alpha21 contiene questi commit.
Rilascio in corso per supportare altri elementi della raccolta delle fotocamere.
Estensioni della fotocamera e Visualizza versione 1.0.0-alpha20
16 dicembre 2020
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha20
e androidx.camera:camera-view:1.0.0-alpha20
. La versione 1.0.0-alpha20 contiene questi commit.
Rilascio in corso per supportare altri elementi della raccolta delle fotocamere.
Estensioni per fotocamere e Camera-View versione 1.0.0-alpha19
11 novembre 2020
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha19
e androidx.camera:camera-view:1.0.0-alpha19
. La versione 1.0.0-alpha19 contiene questi commit.
Correzioni di bug
- L'annotazione
@ExperimentalVideo
è stata introdotta nella visualizzazione videocamera. Questa annotazione contrassegna le API che espongono funzionalità video sperimentali che può cambiare man mano che le funzionalità sono completamente sviluppate. Qualsiasi che utilizza queste API deve usare l'annotazione@UseExperimental
conExperimentalVideo
comemarkerClass
. (I6d729)
Estensioni per fotocamera versione 1.0.0-alpha18
14 ottobre 2020
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha18
. La versione 1.0.0-alpha18 contiene questi commit.
Correzioni di bug
- È stata migliorata la latenza dell'inizializzazione di CameraX e bindToLifecycle (I61dc5)
<UseCase>.getTargetRotation()
restituiràSurface.ROTATION_0
se chiamato prima di essere collegato a un'istanza Camera, a meno che targetRotazione è stata impostata nel Builder o nel caso d'uso. (I80fcd)
Camera-View versione 1.0.0-alpha18
14 ottobre 2020
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha18
. La versione 1.0.0-alpha18 contiene questi commit.
Rilascio in corso per supportare altri elementi della raccolta delle fotocamere.
Estensioni per fotocamera versione 1.0.0-alpha17
23 settembre 2020
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha17
. La versione 1.0.0-alpha17 contiene questi commit.
Correzioni di bug
- Rilascia per il supporto di Camera-Core 1.0.0-beta10
Camera-View versione 1.0.0-alpha17
23 settembre 2020
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha17
. La versione 1.0.0-alpha17 contiene questi commit.
Correzioni di bug
- Rilascia per il supporto di Camera-Core 1.0.0-beta10
Estensioni per fotocamera versione 1.0.0-alpha16
16 settembre 2020
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha16
. La versione 1.0.0-alpha16 contiene questi commit.
Correzioni di bug
- Metodo aggiunto in
ExtensionsManager
per ottenere un oggettoExtensions
utilizzata per attivare ed eseguire query sulle estensioni delle istanze di videocamera (I4fb7e)
Camera-View versione 1.0.0-alpha16
16 settembre 2020
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha16
. La versione 1.0.0-alpha16 contiene questi commit.
Modifiche alle API
PreviewView#setDeviceRotationForRemoteDisplayMode()
ePreviewView#getDeviceRotationForRemoteDisplayMode()
rimossi. I due metodi prevedono la personalizzazione della rotazione dell'anteprima quando la rotazione desiderata non è la rotazione dello schermo, ad esempio display remoto. Per gestire ora la rotazione dell'anteprima non display, imposta la rotazione desiderata conPreview#setTargetRotation()
e il nuovoPreviewView#getViewPort(targetRotation)
aggiunto. (Ib62cc)createSurfaceProvider()
rinominato ingetSurfaceProvider()
. Il metodo restituirà sempre la stessa istanza di Preview.SurfaceProvider. (Iff83c).
Correzioni di bug
- Visualizzazione Anteprima forzata per utilizzare TextureView se l'effetto estensione è attivato e l'implementazione della libreria del fornitore deve eseguire un processo speciale sulla superficie di output. (I0c3cc)
- Consenti la rotazione arbitraria del target per l'anteprima. Le informazioni sulla trasformazione vengono calcolate e restituite all'utente in tempo reale 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 tocco viene utilizzato per errore da PreviewView#onTouchEvent(). Il problema verrà risolto nella prossima release. - Il valore MeteringPoint ottenuto da
PreviewView#getMeteringPointFactory()
potrebbe essere errato se ViewPort viene utilizzato con PreviewView.
Estensioni per fotocamera versione 1.0.0-alpha15
19 agosto 2020
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha15
. La versione 1.0.0-alpha15 contiene questi commit.
Correzioni di bug
- Il metodo
ExtensionsManager.init()
ora utilizza un Contesto come parametro anziché avere 0 argomenti. (Ife754). L'inizializzazione non dovrebbe più arrestarsi in modo anomalo quando si utilizza un contesto che non restituisce un oggetto Application da
Context.getApplicationContext()
. (I3d3c9, b/160817073)Camera-View versione 1.0.0-alpha15
19 agosto 2020
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha15
. La versione 1.0.0-alpha15 contiene questi commit.
Correzioni di bug
DisplayOrientedMeteringPointFactory
prende inCameraInfo
anzichéCameraSelector
, quindi esiste una mappatura diretta la videocamera per cui la fabbrica genererà punti. Tutti i corsi che utilizzanoDisplayOrientedMeteringPointFactory
anche inCameraInfo
anzichéCameraSelector
. (I400c1)TextureViewMeteringPointFactory
rimosso.PreviewView
fornisce un'API pubblica (createMeteringPointFactory()
) per creare una fabbrica di punti di misurazione, a prescindere 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 vecchia modalitàTEXTURE_VIEW
. (I0edc2) - Per l'acquisizione di immagini, sovrascrivi il flag orizzontale capovolto nei metadati in base alla direzione della fotocamera. (I28499)
Estensioni per fotocamera versione 1.0.0-alpha14
22 luglio 2020
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha14
. La versione 1.0.0-alpha14 contiene questi commit.
Camera-View versione 1.0.0-alpha14
22 luglio 2020
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha14
. La versione 1.0.0-alpha14 contiene questi commit.
Estensioni per fotocamera versione 1.0.0-alpha13
24 giugno 2020
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha13
. La versione 1.0.0-alpha13 contiene questi commit.
Correzioni di bug
- Aggiunta di interfacce sperimentali per filtrare le videocamere in base alla videocamera ID e CameraCharacteristics. (I28f61)
Camera-View versione 1.0.0-alpha13
24 giugno 2020
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha13
. La versione 1.0.0-alpha13 contiene questi commit.
Correzioni di bug
- CameraView non si arresta più in modo anomalo con un'DisabledArgumentException durante l'associazione a un LifecycleOwner il cui ciclo di vita passa a un DESTROYED poco dopo il vincolo. Associazione dei cicli di vita in stato DESTRO non tenterà di aprire la fotocamera. (I7c2b8)
- PreviewView StreamState è ora disponibile tramite CameraView.getPreviewStreamState() (I21a2b)
Estensioni per fotocamera versione 1.0.0-alpha12
10 giugno 2020
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha12
. La versione 1.0.0-alpha12 contiene questi commit.
Correzioni di bug
- È stato risolto l'arresto anomalo all'avvio dell'app durante l'inizializzazione di CameraX mentre il telefono è in modalità Non disturbare. Un'istruzione
InitializationException
contiene un valoreCameraUnavailableException
che verrà impostato suListenableFuture
del risultato dell'inizializzazione anziché causare l'arresto anomalo dell'applicazione. (I9909a, b/149413835)
Camera-View versione 1.0.0-alpha12
10 giugno 2020
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha12
. 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 superficie di anteprima. (I9b500, b/157659818)
Estensioni per fotocamera versione 1.0.0-alpha11
27 maggio 2020
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha11
. La versione 1.0.0-alpha11 contiene questi commit.
Camera-View versione 1.0.0-alpha12
10 giugno 2020
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha12
. 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 superficie di anteprima. (I9b500, b/157659818)
Camera-View versione 1.0.0-alpha11
27 maggio 2020
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha11
. La versione 1.0.0-alpha11 contiene questi commit.
Modifiche alle API
- Aggiungi l'API
PreviewView#getPreviewStreamState
che consente alle app di vedere se l'anteprima è in streaming o meno. Quando PreviewView è 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 consentire 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
videocamere con Android 7.0 e versioni precedenti. Utilizzo forzato della modalitàImplementationMode#TEXTURE_VIEW
quando la versione di Android è 7.0 o precedente. (I83e30, b/155085307) - Rimosso il parametro
CameraInfo
daPreviewView#createSurfaceProvider()
,PreviewView
ora lo recupera internamente daSurfaceRequest
. (If18f0, b/154652477) - È stato corretto il formato predefinito di Video Capture, che era 16:9 in CameraView. (Ie6a7b, b/153237864)
- Risolvi
PreviewView
problemi di schermo nero quando hai fatto scorrere verso l'esternoPreview
frammento e poi scorri di nuovo in ViewPager2. Il problema è stato risolto 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 prova 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) - L'utente
CameraView.ScaleType
è stato rimosso. Usa invecePreviewView.ScaleType
per impostare/ottenere un tipo di bilancia 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 sono visibili prima dell'avvio dello streaming di anteprima. (I09fad)
Estensioni per fotocamera versione 1.0.0-alpha10
15 aprile 2020
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha10
. La versione 1.0.0-alpha10 contiene questi commit.
Correzioni di bug
- Correzioni per il supporto del rilascio di Fotocamera principale
Camera-View versione 1.0.0-alpha10
15 aprile 2020
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha010
. La versione 1.0.0-alpha010 contiene questi commit.
Correzioni di bug
- Corregge un problema noto precedente per cui l'implementazione di superficiView di
PreviewView
non funzionava bene su determinati dispositivi e causava l'arresto anomalo dell'app dopo il ripristino dell'anteprima. (I5ed6b)
Estensioni per fotocamera versione 1.0.0-alpha09
1° aprile 2020
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha09
. La versione 1.0.0-alpha09 contiene questi commit.
Correzioni di bug
- Aggiornamento 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
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'utilizzo di
ImplementationMode.SURFACE_VIEW
conPreviewView
potrebbe non funzionare bene su alcuni dispositivi perché ilSurfaceView
usato per l'anteprima ne invalida la superficie quando il ciclo di vita della finestra in cui si trova viene interrotto, quando si riavvia, la fotocamera viene riaperta e potrebbe tentare di riprendere l'anteprima prima che la piattaformaSurfaceView
sia di nuovo valida. Per ora, dovresti usareImplementationMode.TEXTURE_VIEW
.
Modifiche alle API
PreviewView.setImplementationMode()
rinominato inPreviewView.setPreferredImplementationMode()
.PreviewView.getImplementationMode()
rinominato inPreviewView.getPreferredImplementationMode()
.- Sostituito
PreviewView.getSurfaceProvider()
daPreviewView.createSurfaceProvider(CameraInfo)
, che richiede un'istanzaCameraInfo
con valore nullo utilizzata per ottimizzare l'anteprima utilizzandoImplementationMode.SURFACE_VIEW
se 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 un caso d'uso dell'anteprima veniva utilizzato in precedenza 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()
ad PreviewView per supportare la conversione (x, y) diPreviewView
inMeteringPoint
. (Ib36d7)
Correzioni di bug
- Sono stati risolti i casi in cui, dopo la modifica delle dimensioni di
PreviewView
, veniva visualizzata un'anteprima errata. (I71101)
Estensioni per fotocamera versione 1.0.0-alpha08
26 febbraio 2020
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha08
. La versione 1.0.0-alpha08 contiene questi commit.
Camera-View versione 1.0.0-alpha08
26 febbraio 2020
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha08
. La versione 1.0.0-alpha08 contiene questi commit.
Correzioni di bug
- Sostituito
ListenableFuture
il giornoSurfaceRequest.provideSurface()
conExecutor
eCallback
. Questo semplifica l'API in quanto non richiede più la gestione delle eccezioniprovideSurface()
e impedisce il callbackprovideSurface()
essere annullato. Lo scopo è evitare gli arresti anomali su dispositivi meno recenti causati da che rilasciano prematuramente delle superfici. L'oggettoSurfaceRequest.Result
è ora in uso per monitorare l'utilizzo da parte di unSurfaceRequest
dell'elementoSurface
fornito. (I7854b) SurfaceRequest.setSurface(Surface)
rinominato inSurfaceRequest.provideSurface(Surface)
eSurfaceRequest.setWillNotComplete()
perSurfaceRequest.willNotProvideSurface()
. (I224fe)- È stato corretto l'inizializzazione delle varianti di app con ProGuard abilitato mantenendo il valore
che imposta il provider
CameraXConfig
predefinito. (I2d6c1).
Camera-Estensioni versione 1.0.0-alpha07
10 febbraio 2020
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha07
. La versione 1.0.0-alpha07 contiene questi commit.
Correzioni di bug
- Gli argomenti passati in precedenza in
ImageCapture.OnImageSavedCallback.onError()
eImageCapture.OnImageCapturedCallback.onError()
sono stati sostituiti da un singolo argomentoImageCaptureException
, che contiene ancora tutte le informazioni passate. - L'argomento del file passato in precedenza in
ImageCapture.OnImageSavedCallback.onImageSaved()
è stato rimosso. (I750d2)
Camera-View versione 1.0.0-alpha07
10 febbraio 2020
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha07
. La versione 1.0.0-alpha07 contiene questi commit.
Modifiche alle API
- L'implementazione di
TextureView
diPreviewView
ora imposta le dimensioni diTextureView
in base alle dimensioni di uscita del sensore della videocamera prima di ridimensionarlo in modo da riempire l'elementoPreviewView
principale. Se vuoi che l'anteprima della fotocamera riempia un'intera parte dell'interfaccia utente (ad esempio l'intero schermo), non devi impostare le dimensioni diPreviewView
su un valore fisso né racchiuderne i contenuti (utilizzando l'attributo "wrap_content
", ad esempio), l'anteprima della fotocamera potrebbe riempire solo una parte dell'PreviewView
(se le dimensioni di output del sensore della videocamera sono inferiori). Devi invece impostarePreviewView
come l'elemento principale (utilizzando ad esempio l'attributo "match_parent
"). (1204869)
Correzioni di bug
ImageCapture
aggiornato per consentire il salvataggio delle immagini suUri
eOutputStream
. Combinazione ditakePicture
metodi con sovraccarico in un unico metodo. App di prova aggiornata in modo che utilizziUri
come esempio canonico. (Ia3bec)Preview.PreviewSurfaceProvider
è stato rinominato inPreview.SurfaceProvider
. ISurfaceProvider
non richiedono più agli sviluppatori di creare il proprioListenableFuture
e fornire unSurface
ora viene fatto tramite un nuovo oggettoSurfaceRequest
. Il metodoPreview.getPreviewSurfaceProvider()
è stato rimosso a causa del suo potenziale uso improprio quandoPreview
è accoppiato ad altri corsi, ad esempioPreviewView
. (I20105)- Gli argomenti passati in precedenza in
ImageCapture.OnImageSavedCallback.onError()
eImageCapture.OnImageCapturedCallback.onError()
sono stati sostituiti da un singolo argomentoImageCaptureException
, che contiene ancora tutte le informazioni passate. - L'argomento del file passato in precedenza in
ImageCapture.OnImageSavedCallback.onImageSaved()
è stato rimosso. (I750d2) - API aggiornata, con i metodi
getZoomRatio()
,getMaxZoomRatio()
,getMinZoomRatio()
egetLinearZoom()
diCameraInfo
che vengono uniti ingetZoomState()
, che restituisce un'istanzaZoomState
. (Ib19fe)
Estensioni per fotocamera versione 1.0.0-alpha06
22 gennaio 2020
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha06
. La versione 1.0.0-alpha06 contiene questi commit.
regolari
- Varie correzioni e aggiornamenti per supportare Camera Core e Fotocamera 2 cambia.
Camera-View versione 1.0.0-alpha06
22 gennaio 2020
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha06
. La versione 1.0.0-alpha06 contiene questi commit.
regolari
- Varie correzioni e aggiornamenti per supportare Camera Core e Fotocamera 2 cambia.
Estensioni per fotocamera versione 1.0.0-alpha05
18 dicembre 2019
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha05
. La versione 1.0.0-alpha05 contiene questi commit.
Correzioni di bug
- Aggiornamento eseguito in modo che corrisponda alle API Camera Core interne.
Camera-View versione 1.0.0-alpha05
18 dicembre 2019
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha05
. La versione 1.0.0-alpha05 contiene questi commit.
Problemi noti
- Quando utilizzi PreviewView (b/146215202), le proporzioni potrebbero non essere corrette.
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.
Camera-Estensioni versione 1.0.0-alpha04
4 dicembre 2019
Viene rilasciato androidx.camera:camera-extensions:1.0.0-alpha04
. La versione 1.0.0-alpha04 delle estensioni fotocamera contiene questi commit
Modifiche alle API
Per verificare la disponibilità e l'attivazione di un'estensione, ora viene utilizzato 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 delle 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
Viene rilasciato androidx.camera:camera-view:1.0.0-alpha04
. La versione 1.0.0-alpha04 di camera-view contiene questi commit
Modifiche alle API
- È fornita una classe
PreviewView
per visualizzare facilmente l'output del caso d'uso dell'anteprima in un'applicazione. PreviewView
può essere incluso 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 hanno modificato i valori null
Camera-Estensioni e Camera-View versione 1.0.0-alpha03
9 ottobre 2019
Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha03
e androidx.camera:camera-view:1.0.0-alpha03
. Questi sono gli impegni inclusi in camera-extensions:1.0.0-alpha03
e gli impegni inclusi in camera-view:1.0.0-alpha03
.
Nuove funzionalità
- Aggiunto un inizializzatore del contesto per le estensioni. Versione delle estensioni incrementata a 1.1.0
Camera-Estensioni e Camera-View versione 1.0.0-alpha02
5 settembre 2019
androidx.camera:camera-extensions:1.0.0-alpha02
e
Vengono rilasciati androidx.camera:camera-view:1.0.0-alpha02
. Queste sono le
commit inclusi nelle estensioni-camera:1.0.0-alpha02
Questi sono gli impegni inclusi
camera-view:1.0.0-alpha02
- Sono stati aggiunti test per verificare che
PreviewImageProcessorImpl
sia stato implementato correttamente i timestamp. - Correggi l'errore di test di
ExtensionTest
sul Nexus 5 (livello API 21) e verifica l'anteprima è disponibile.
Camera-Estensioni e Camera-View versione 1.0.0-alpha01
7 agosto 2019
androidx.camera:camera-extensions:1.0.0-alpha01
e
Vengono rilasciati androidx.camera:camera-view:1.0.0-alpha01
.
Queste sono le
commit inclusi nelle estensioni-camera:1.0.0-alpha01
Questi sono gli impegni inclusi
camera-view:1.0.0-alpha01
- Nuova raccolta per le future estensioni della fotocamera per accedere agli effetti sui dispositivi supportati. Questa raccolta è ancora in fase di sviluppo.
- Nuova classe Vista videocamera. Questa libreria è ancora in fase di sviluppo.