FotocameraX

CameraX è un'aggiunta a Jetpack che semplifica l'aggiunta di funzionalità della fotocamera alla tua app. La libreria fornisce una serie di correzioni di compatibilità e soluzioni alternative per contribuire a rendere l'esperienza degli sviluppatori coerente su molti dispositivi.

Questa tabella elenca tutti gli artefatti nel gruppo androidx.camera.

Elemento Release stabile Candidato per la release Versione beta Release alpha
fotocamera-camera2 1.3.2 - - 1.4.0-alpha04
core della fotocamera 1.3.2 - - 1.4.0-alpha04
effetti fotocamera - - - 1.4.0-alpha04
estensioni-fotocamera 1.3.2 - - 1.4.0-alpha04
ciclo di vita della fotocamera 1.3.2 - - 1.4.0-alpha04
fotocamera-mlkit-vision - - 1.3.0-beta02 1.4.0-alpha04
visualizzazione-fotocamera 1.3.2 - - 1.4.0-alpha04
mirino della fotocamera - - 1.3.0-beta02 1.4.0-alpha04
videocamera-video 1.3.2 - - 1.4.0-alpha04
Ultimo aggiornamento di questa raccolta: 6 marzo 2024

Test dei dispositivi

CameraX viene testata su molti dispositivi nel nostro laboratorio. Per visualizzare un elenco dei dispositivi attualmente nel lab, vedi Dispositivi sottoposti a test di laboratorio con CameraX.

Dichiarazione delle dipendenze

Per aggiungere una dipendenza a CameraX, devi aggiungere il Repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il Repository Maven di Google.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per l'app o il modulo:

trendy

dependencies {
  // CameraX core library using the camera2 implementation
  def camerax_version = "1.4.0-alpha04"
  // The following line is optional, as the core library is included indirectly by camera-camera2
  implementation "androidx.camera:camera-core:${camerax_version}"
  implementation "androidx.camera:camera-camera2:${camerax_version}"
  // If you want to additionally use the CameraX Lifecycle library
  implementation "androidx.camera:camera-lifecycle:${camerax_version}"
  // If you want to additionally use the CameraX VideoCapture library
  implementation "androidx.camera:camera-video:${camerax_version}"
  // If you want to additionally use the CameraX View class
  implementation "androidx.camera:camera-view:${camerax_version}"
  // If you want to additionally add CameraX ML Kit Vision Integration
  implementation "androidx.camera:camera-mlkit-vision:${camerax_version}"
  // If you want to additionally use the CameraX Extensions library
  implementation "androidx.camera:camera-extensions:${camerax_version}"
}

Kotlin

dependencies {
    // CameraX core library using the camera2 implementation
    val camerax_version = "1.4.0-alpha04"
    // The following line is optional, as the core library is included indirectly by camera-camera2
    implementation("androidx.camera:camera-core:${camerax_version}")
    implementation("androidx.camera:camera-camera2:${camerax_version}")
    // If you want to additionally use the CameraX Lifecycle library
    implementation("androidx.camera:camera-lifecycle:${camerax_version}")
    // If you want to additionally use the CameraX VideoCapture library
    implementation("androidx.camera:camera-video:${camerax_version}")
    // If you want to additionally use the CameraX View class
    implementation("androidx.camera:camera-view:${camerax_version}")
    // If you want to additionally add CameraX ML Kit Vision Integration
    implementation("androidx.camera:camera-mlkit-vision:${camerax_version}")
    // If you want to additionally use the CameraX Extensions library
    implementation("androidx.camera:camera-extensions:${camerax_version}")
}

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se rilevi nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne una nuova. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Versione 1.4

Versione 1.4.0-alpha04

24 gennaio 2024

androidx.camera:camera-*:1.4.0-alpha04 viene rilasciato. La versione 1.4.0-alpha04 contiene questi commit.

Nuove funzionalità

  • Nuovo elemento: effetti della fotocamera: una raccolta per applicare effetti in tempo reale all'output di CameraX, tra cui Preview, VideoCapture e/o ImageCapture. Questo artefatto contiene implementazioni OpenGL dell'API CameraEffect che manipolano l'output della fotocamera in modo efficiente.
  • OverlayEffect: per disegnare overlay con l'API Canvas di Android. In questo modo l'app può applicare una filigrana o evidenziare gli oggetti rilevati nelle uscite della fotocamera.
  • DynamicRange API per il caso d'uso in anteprima: l'intervallo dinamico può ora essere impostato nel caso d'uso in anteprima, indipendentemente dal caso d'uso dei video. In questo modo sono consentiti intervalli dinamici HDR, ad esempio HLG10 solo per l'anteprima. In CameraInfo sono disponibili anche nuove API per eseguire query sugli intervalli dinamici supportati da ogni videocamera.

Modifiche alle API

  • Il nome ScreenFlashUiCompleter è stato rinominato in ScreenFlashListener e il parametro ScreenFlashUiCompleter#getExpirationTimeMillis è stato spostato nel parametro expirationTimeMillis di ScreenFlash#apply. (I13944)
  • Sono state aggiunte nuove API per consentire l'impostazione dell'intervallo dinamico nel caso d'uso in anteprima e per eseguire query sugli intervalli dinamici supportati da ogni fotocamera. In questo modo è possibile utilizzare intervalli dinamici HDR, come HLG10, solo nel caso d'uso Anteprima, senza che sia più necessario associare un elemento VideoCapture contemporaneamente. (If25e3).
  • Rinominato getMirroring() in isMirroring() (I47063)
  • Aggiunto il supporto per la stima della latenza di acquisizione comunque in tempo reale in CameraX. Le estensioni della fotocamera consentono alle applicazioni di utilizzare un'API che fornisce una stima del tempo richiesto per l'acquisizione. La stima tiene conto delle condizioni ambientali attuali e dello stato della fotocamera e include il tempo impiegato per elaborare le richieste di acquisizione multi-frame e il tempo aggiuntivo per la codifica dei buffer elaborati, se necessario. (I05c3a).
  • ScreenFlashUiControl è stato rinominato in ScreenFlash, ScreenFlashUiControl#applyScreenFlashUi in ScreenFlash#apply, ScreenFlashUiControl#clearScreenFlashUi in ScreenFlash#clear e aggiunto il metodo getScreenFlashUiApplyTimeoutSeconds anziché esporre direttamente SCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS. (Iccdd0)

Correzioni di bug

  • Risolto il problema di perdita di memoria che comporta il mancato rilascio di attività o frammenti quando le estensioni sono abilitate (I14215)
  • Risolto il problema per cui getZoomRatio restituiva erroneamente un valore diminuito durante l'applicazione di un fattore di zoom crescente. (I4aa0d, b/317543616).
  • L'evento ImageCapture#ScreenFlash#clear viene richiamato immediatamente quando ImageCapture non è associato o la fotocamera è chiusa; inoltre, corregge alcuni bug per cui non viene mai richiamato a causa di acquisizioni in questi scenari che non vengono completate correttamente. (If99f9).
  • Risolto l'arresto anomalo che si verifica quando il ciclo di vita viene arrestato prima del completamento della richiesta takePicture (Idf017, b/306202751)
  • Risolto il problema per cui l'anteprima della fotocamera diventava nera quando le estensioni erano attivate su alcuni dispositivi (I1ffd0)
  • È stata corretta la durata errata della registrazione video sui dispositivi che utilizzavano il SoC Snapdragon 778G. (If6aa7, b/316057919)

Versione 1.4.0-alpha03

13 dicembre 2023

androidx.camera:camera-*:1.4.0-alpha03 viene rilasciato. La versione 1.4.0-alpha03 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto CameraInfo.mustPlayShutterSound per specificare se il suono dell'otturatore deve essere riprodotto o meno in conformità alle restrizioni locali. (Ifda84)
  • Sono stati aggiunti OnImageCapturedCallback.onCaptureStarted e OnImageSavedCallback.onCaptureStarted per la notifica quando la fotocamera ha iniziato a esporre un fotogramma. A questo punto ti consigliamo di riprodurre il suono dell'otturatore o l'animazione dell'otturatore. (Ic49b3)
  • Aggiunto il supporto della funzionalità Flash dello schermo in CameraX per l'acquisizione delle immagini con la fotocamera anteriore. CameraX si occuperà della gestione dell'API lato framework e sincronizzerà la tempistica con le modifiche all'interfaccia utente dell'applicazione secondo necessità (ad esempio, attivatore di preacquisizione AE dopo la modifica del colore/luminosità dello schermo dell'app). Le app dovranno aggiungere le relative implementazioni lato UI solo nell'interfaccia ScreenFlashUiControl fornita a CameraX. (I8ae84).
  • È stato aggiunto il supporto per l'implementazione lato interfaccia della funzionalità Flash dello schermo in CameraX. Le app potranno usufruire dell'implementazione di base di ImageCapture.ScreenFlashUiControl da PreviewView o dalla nuova ScreenFlashView, che aggiungerà una visualizzazione overlay monocromatica e massimizzerà la luminosità dello schermo durante l'acquisizione di foto flash dello schermo. (I1810e).

Modifiche alle API

  • Supporta nuove funzionalità per le estensioni(avanzamento del processo post-visualizzazione e acquisizione). Sono state aggiunte le API ImageCapture#getImageCaptureCapabilities() per consentire alle app di eseguire query sulle funzionalità del callback di avanzamento del processo di postview e di acquisizione. Le app possono attivare il postview utilizzando l'ImageCapture.Builder#setPostviewEnabled(). La dimensione del postview può essere selezionata utilizzando ImageCapture.Builder#setPostviewResolutionSelector(). Quando si richiama takePicture(), onPostviewBitmapAvailable e onCaptureProcessProgressed possono essere implementati in OnImageSavedCallback o OnImageCapturedCallback per ricevere la notifica di avanzamento post-visualizzazione e processo, se supportati. (I5cd88)
  • API per il calcolo della trasformazione delle coordinate dal sensore al buffer attuale, con un flag che indica se la superficie contiene o meno le informazioni sull'orientamento della fotocamera. (I59096)
  • Esponi l'API per eseguire una query su PreviewCapabitlity nell'anteprima UseCase. (Ie5b6c)
  • Sono state aggiunte API per supportare più qualità per VideoCapture. Recorder.Builder#setVideoCapabilitiesSource(int) può essere utilizzato con VIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES per creare un'istanza Recorder che supporta più qualità rispetto a VIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE. Un caso d'uso comune si verifica quando l'applicazione tenta di registrare video UHD ogni volta che è possibile, ma la CamcorderProfile del dispositivo non include impostazioni UHD, anche se il codec è in grado di registrare video UHD. (Iedbe2, b/263961771).
  • Aggiungi il getter/setter del formato di output ImageAnalysis a CameraController. (I9a96c, b/308240643).

Correzioni di bug

  • Da Fotocamera 1.3.1: sono state migliorate le prestazioni di ProcessCameraProvider#bindToLifecycle(). La modifica principale riguarda l'ottimizzazione del processo di identificazione delle combinazioni di taglie più adatte per UseCases. I risultati ottimali variano in base alle specifiche combinazioni di UseCase e al numero di dimensioni di output supportate per i dispositivi target. (I454f2)
  • Consenti l'utilizzo di VideoCapture quando le estensioni sono attivate. (I91f32)
  • Risolto il problema di grandi immagini JPEG acquisite sui dispositivi Samsung A71 e serie M51. Le immagini JPEG acquisite contengono dati di spaziatura interna ridondanti nel segmento di dati compressi con JFIF. Questo fa sì che le immagini acquisite abbiano file di dimensioni estreme. I dati di spaziatura interna di questi 0 ridondanti verranno rimossi in modo che le immagini acquisite abbiano dimensioni normali dei file immagine. (I01afc, b/288828159).
  • Disattiva il supporto di ImageAnalysis sui Pixel per evitare il bug che restituisce accidentalmente le dimensioni ImageAnalysis non vuote supportate. (I7ec31)
  • Risolto il problema di prestazioni per cui il carico della CPU e il consumo energetico aumentavano quando le estensioni erano attivate. (Ibdccb)
  • È stato aggiunto Snapdragon 480 a CameraUseInconsistentTimebaseQuirk. Questo risolve un problema su Android 12 per i dispositivi che utilizzano questo chipset, quando l'audio nelle registrazioni viene compensato in base al periodo di tempo in cui il dispositivo è in stato di sospensione. (I58010)

Versione 1.4.0-alpha02

18 ottobre 2023

androidx.camera:camera-*:1.4.0-alpha02 viene rilasciato. La versione 1.4.0-alpha02 contiene questi commit.

Modifiche alle API

  • Rinomina l'API in setCameraOpenRetryMaxTimeoutInMillisWhileResuming e rinomina l'argomento. (I72370)
  • Aggiunta di API per eseguire query sulle funzionalità del dispositivo e abilitare la stabilizzazione di video e anteprime. (I87544)
  • Fornisci l'API per personalizzare l'apertura della videocamera con il tempo massimo di timeout. (I0c642)
  • Rilasciata ProcessCameraProvider.shutdownAsync come API di test pubblico per consentire l'utilizzo del fornitore di videocamere di processo in suite di test che potrebbero dover inizializzare CameraX in modi diversi tra un test e l'altro. (I9eca7)
  • Aggiungi API per configurare intervallo dinamico, frequenza fotogrammi e modalità di mirroring dell'acquisizione video. (Ifb8f7)
  • Ritira OutputSize e sostituiscilo con ResolutionSelector. ResolutionSelector offre un modo più completo per selezionare le risoluzioni ed è coerente con l'API Camera-core. (I93abd, b/286801438).

Correzioni di bug

  • Risolto il problema dell'anteprima in nero su Samsung Galaxy S23 Ultra 5G quando le estensioni Bokeh o il ritocco viso sono attivati con ImageAnalysis sulla fotocamera posteriore. (I2e8b1).
  • Sono stati corretti i problemi relativi all'anteprima e al allungamento di VideoCapture su Moto E5 Play. (73dce2)

Versione 1.4.0-alpha01

20 settembre 2023

androidx.camera:camera-*:1.4.0-alpha01 viene rilasciato. La versione 1.4.0-alpha01 contiene questi commit.

Modifiche alle API

  • Aggiungi una nuova API per accedere alle informazioni sull'ampiezza dell'audio durante la registrazione. (Id4925)

Correzioni di bug

  • Migliora la stabilità delle estensioni assicurandoti che gli eventi di inizializzazione e deinizializzazione vengano attivati nell'ordine corretto. (Ib3b8e).
  • È stato corretto l'errore di configurazione della sessione di acquisizione a causa di un superamento della combinazione di superfici supportata a causa dell'aggiunta interna di una superficie ricorrente aggiuntiva. (Id718c)
  • Risolto il problema di immagini JPEG acquisite di grandi dimensioni sul dispositivo Vivo S16. Le immagini JPEG acquisite contengono dati di spaziatura interna ridondanti nel segmento di dati compressi con JFIF. Di conseguenza, le immagini acquisite hanno file di grandi dimensioni. I dati di spaziatura interna di questi 0 ridondanti verranno rimossi in modo che le immagini acquisite abbiano dimensioni normali dei file immagine. (I79505, b/299069235)
  • Risolto il problema che non permetteva di associare ImageAnalysis a ImageCapture e all'anteprima quando su alcuni dispositivi erano attivate alcune modalità di estensione. La correzione restituirà il valore corretto quando le app interrogano la disponibilità di ImageAnalysis tramite ExtensionsManager#isImageAnalysisSupported(). (I7d538)
  • Aggiorna JavaDoc in modo che corrisponda al comportamento. Invece di completare il processo immediatamente, #setZoomRatio, #setLinearZoom e #enableTorch attendono che la fotocamera sia pronta. Sono state inoltre aggiunte informazioni su come ottenere il FOV massimo con l'API #takePicture. (I23588)

Versione 1.3

Versione 1.3.2

6 marzo 2024

androidx.camera:camera-*:1.3.2 viene rilasciato. La versione 1.3.2 contiene questi commit.

Correzioni di bug

  • Risolto il problema dei metadati JPEG sui dispositivi Samsung A24. CameraX ora salva le immagini in modo preciso e la funzione ImageProxy.toBitmap() restituisce gli oggetti bitmap corretti. (I8d6eb, b/309005680).
  • A causa di problemi, è stata rimossa l'opzione di risoluzione 9280x6944 sui dispositivi Redmi Note 9 Pro. (Ia23da).

Versione 1.3.1

13 dicembre 2023

androidx.camera:camera-*:1.3.1 viene rilasciato. La versione 1.3.1 contiene questi commit.

Correzioni di bug

Sono state migliorate le prestazioni di ProcessCameraProvider#bindToLifecycle(). La modifica principale riguarda l'ottimizzazione del processo di identificazione delle combinazioni di taglie più adatte per UseCases. I risultati ottimali variano in base alle specifiche combinazioni di UseCase e al numero di dimensioni di output supportate per i dispositivi target. (I454f2)

Ecco alcuni risultati di riferimento per vari scenari:

  • Quattro UseCases: Preview + ImageCapture + ImageAnalysis + VideoCapture

    • Google Pixel 7: da 430 ms circa a 60 ms
    • Samsung Galaxy S23 Ultra: da 540 ms circa a 45 ms
    • Samsung A53 5G: da 115 ms circa a 70 ms
  • Tre UseCases: Preview + ImageCapture + ImageAnalysis

    • Google Pixel 7: da 9 ms circa a 7 ms
    • Samsung Galaxy S23 Ultra: da 6 ms a 5 ms circa
    • Samsung A53 5G: da 32 ms circa a 12 ms
  • È stato aggiunto Snapdragon 480 a CameraUseInconsistentTimebaseQuirk. Questo risolve un problema su Android 12 per i dispositivi che utilizzano questo chipset, quando l'audio nelle registrazioni viene compensato in base al periodo di tempo in cui il dispositivo è in stato di sospensione. (I58010)

Versione 1.3.0

18 ottobre 2023

androidx.camera:camera-*:1.3.0 viene rilasciato. La versione 1.3.0 contiene questi commit.

Modifiche importanti dalla versione 1.2.0

Versione 1.3.0-rc02

20 settembre 2023

androidx.camera:camera-*:1.3.0-rc02 viene rilasciato. La versione 1.3.0-rc02 contiene questi commit.

Correzioni di bug

  • Migliora la stabilità delle estensioni assicurandoti che gli eventi di inizializzazione e deinizializzazione vengano attivati nell'ordine corretto. Sono stati risolti alcuni problemi relativi all'anteprima nera durante il passaggio da una modalità Estensioni o da una videocamera all'altra. (Iddaac)
  • Risolto il problema che non permetteva di associare ImageAnalysis a ImageCapture e all'anteprima quando su alcuni dispositivi erano attivate alcune modalità di estensione. La correzione restituirà il valore corretto quando le app interrogano la disponibilità di ImageAnalysis tramite ExtensionsManager#isImageAnalysisSupported(). (I7d538)
  • Risolto il problema per cui l'audio e il video registrati non erano sincronizzati quando la modalità di mirroring era attivata su Xiaomi Poco X3 NFC. (I20b4c).

Versione 1.3.0-rc01

23 agosto 2023

androidx.camera:camera-*:1.3.0-rc01 viene rilasciato. La versione 1.3.0-rc01 contiene questi commit.

Modifiche alle API

  • È stato aggiunto PendingRecording.asPersistentRecording per consentire la registrazione continua di una registrazione mentre il VideoCapture a cui è collegato il Registratore viene rimbalzo. (I517c6)

Correzioni di bug

  • Risolto il problema di arresto anomalo quando uno stream viene condiviso sia con VideoCapture sia con l'anteprima. È stata corretta anche la schermata nera sui dispositivi LEGACY quando la condivisione dello stream era attiva.
  • Risolto il problema di grandi immagini JPEG acquisite sui dispositivi della serie Samsung S7 (SM-G930T, SM-G930V). Le immagini JPEG acquisite contengono dati di spaziatura interna ridondanti nel segmento di dati compressi con JFIF. Di conseguenza, le immagini acquisite hanno file di grandi dimensioni. I dati di spaziatura interna di questi 0 ridondanti verranno rimossi in modo che le immagini acquisite abbiano dimensioni normali dei file immagine. (I407b0, b/288828159).
  • È stato risolto il problema di grandi immagini JPEG acquisite sui dispositivi Samsung S22 (SM-S901B, SM-S901B/DS) e S22+ (SM-S906B). Le immagini JPEG acquisite contengono dati di spaziatura interna ridondanti nel segmento di dati compressi con JFIF. Questo fa sì che le immagini acquisite abbiano file di grandi dimensioni (circa 13 MB) sul dispositivo S22 SM-S901B/DS. I dati di spaziatura interna di questi 0 ridondanti verranno rimossi in modo che le immagini acquisite abbiano dimensioni normali dei file immagine. (I73be9, b/288828159).
  • Risolto il problema di grandi immagini JPEG acquisite sui Samsung A5, A52, A70 e A72. Le immagini JPEG acquisite contengono dati di spaziatura interna ridondanti nel segmento di dati compressi con JFIF. Questo fa sì che le immagini acquisite abbiano file di dimensioni estreme (ad es. circa 32 MB o perfino 96 MB). I dati di spaziatura interna di questi 0 ridondanti verranno rimossi in modo che le immagini acquisite abbiano dimensioni normali dei file immagine. (I97c4d, b/288828159).
  • Risolto il problema di arresto anomalo nativo durante lo scatto di foto con le estensioni abilitate (I698f5)

Versione 1.3.0-beta02

26 luglio 2023

androidx.camera:camera-*:1.3.0-beta02 viene rilasciato. La versione 1.3.0-beta02 contiene questi commit.

Correzioni di bug

  • Utilizza la torcia come flash per le varianti di Pixel 4 e 5 per migliorare la qualità dell'acquisizione in condizioni di scarsa illuminazione (I56ff5, b/280221967)
  • Risolto il problema di grandi immagini JPEG acquisite sui dispositivi Samsung A5 (2017). Le immagini JPEG acquisite contengono dati di spaziatura interna ridondanti nel segmento di dati compressi con JFIF. Di conseguenza, le immagini acquisite hanno dimensioni di file di circa 32 MB. I dati di spaziatura interna di questi 0 ridondanti verranno rimossi in modo che le immagini acquisite abbiano dimensioni normali dei file immagine. (I29837, b/288828159)
  • Risolto il nuovo tentativo di attivazione non corretta in caso di errore di acquisizione nei dispositivi problematici menzionati in CaptureFailedRetryQuirk. (I7b589)

Versione 1.3.0-beta01

21 giu 2023

androidx.camera:camera-*:1.3.0-beta01 viene rilasciato. La versione 1.3.0-beta01 contiene questi commit.

Modifiche alle API

  • Il nome della funzione ResolutionSelector.Builder#setHighResolutionEnabledFlag(int) è stato cambiato in setAllowedResolutionMode e le costanti ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON sono state rinominate in PREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE. (If84e8)
  • Sono state rimosse le API ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int) e VideoCapture.setTargetRotationDegrees(int) deprecate. (Id8e77)
  • La classe DynamicRange rappresenta l'intervallo dinamico delle immagini. Può essere utilizzato per selezionare i formati High Dynamic Range come output da VideoCapture a VideoCapture.Builder#setDynamicRange(). (Ib0377)
  • È stata aggiunta un'API isImageAnalysisSupported a ExtensionsManager che le app possono determinare se è possibile associare un caso d'uso ImageAnalysis insieme all'anteprima e a ImageCapture quando le estensioni sono abilitate. (I1bc63).
  • La nuova classe VideoCapabilities ottenuta da Recorder può essere utilizzata per eseguire query sugli intervalli dinamici e sulle qualità supportati per la registrazione video sul dispositivo. I metodi getSupportedQualities() e isQualitySupported() di QualitySelector sono in fase di ritiro. Usa i metodi getSupportedQualities() e isQualitySupported() di VideoCapabilities. (I04014)
  • CameraController#setVideoCaptureTargetQuality() è stato rinominato in setVideoCaptureQualitySelector e utilizza l'argomento QualitySelector, che offre una maggiore flessibilità per la configurazione della qualità video. CameraController#getVideoCaptureTargetQuality() viene modificato in getVideoCaptureQualitySelector di conseguenza. (I520ed)
  • È stata rimossa l'annotazione sperimentale per le funzionalità video. Le funzionalità video sono ora stabili. (I1a113)

Correzioni di bug

  • Utilizza la torcia come flash sui modelli Samsung SM-A320 per migliorare la velocità e la qualità delle immagini acquisite in condizioni di scarsa illuminazione. (I6a022, b/286190938).
  • Aggiungi il supporto del formato ImageFormat.JPEG per ImageProxy.toBitmap(). Se l'array di byte JPEG non può essere decodificato, verrà generato un valore UnsupportedOperationException. (I81958, b/282057603)

Versione 1.3.0-alpha07

24 maggio 2023

androidx.camera:camera-*:1.3.0-alpha07 viene rilasciato. La versione 1.3.0-alpha07 contiene questi commit.

Nuove funzionalità

  • La nuova API VideoCapture.Builder# setTargetFrameRate(Range) consente di acquisire registrazioni video con frequenze fotogrammi diverse da quella predefinita del dispositivo. È possibile eseguire query sulle frequenze fotogrammi disponibili per le registrazioni tramite la nuova API CameraInfo#getSupportedFrameRates().

Modifiche alle API

  • Le costanti ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON sono state rinominate in ALLOWED_RESOLUTIONS_NORMAL/SLOW e sono state rinominate la funzione setHighResolutionEnabledFlag del builder in setAllowedResolutionMode. (Iae817)
  • CameraInfo#getSupportedFrameRateRanges() ora restituisce un Set anziché un List per indicare meglio che gli intervalli non sono ordinati. (I02f43).
  • Aggiungi un listener degli errori a CameraEffect per gestire gli errori non recuperabili (Ice471)
  • Aggiungi il costruttore pubblico in ResolutionInfo per una migliore testbilità (If6d1c)
  • È stata fornita un'API UseCase.snapToSurfaceRotation(int) per sostituire l'utilizzo di setTargetRotationDegrees e ritirare le API ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int) e VideoCapture.setTargetRotationDegrees(int). (Ia9010)
  • Sono state aggiunte nuove API Preview#getTargetFrameRate e Preview.Builder#setTargetFrameRate per poter impostare e recuperare la frequenza frame target per il caso d'uso in anteprima (If4f22)
  • VideoRecordEvent.Finalize verrà ora completato con il codice di errore ERROR_RECORDING_GARBAGE_COLLECTED quando l'oggetto Recording viene arrestato a causa di una garbage collection. (Iba974)

Correzioni di bug

  • È stato risolto il problema NullPointerException quando le dimensioni dell'output memorizzate nella cache in StreamConfigurationMapCompat erano null. (Idf124, b/282025204).
  • Risolto il problema per cui Preview.setSurfaceProvider(null) non metteva in pausa l'anteprima nelle Estensioni (Ia903e)
  • Risolto il problema per cui ConcurrentModificationException viene generato durante l'apertura della fotocamera quando VideoCapture è vincolato. (Ic8ac4)

Versione 1.3.0-alpha06

19 aprile 2023

androidx.camera:camera-*:1.3.0-alpha06 viene rilasciato. La versione 1.3.0-alpha06 contiene questi commit.

Nuove funzionalità

  • La fotocamera simultanea è una nuova funzionalità introdotta da Android 11 che supporta lo streaming simultaneo di dispositivi con videocamera. Ad esempio, consente a un dispositivo di avere contemporaneamente la fotocamera anteriore e posteriore. CameraX al momento supporta solo due fotocamere simultanee, il che consente di utilizzare due fotocamere contemporaneamente, con un massimo di due {@link UseCase} associate a ciascuna. La risoluzione massima è 720p o 1440p. Per maggiori dettagli, visita il link seguente, vedi FotocameraManager#getConcurrentFotocameraIds()
  • Presentazione della nuova API ResolutionSelector che copre le seguenti funzionalità:
    • Le applicazioni possono specificare le proporzioni e le strategie di risoluzione per selezionare la risoluzione migliore per le loro esigenze.
    • Tutte le dimensioni e i parametri di formato sono espressi nelle coordinate del sensore del dispositivo della videocamera.
    • Le applicazioni possono implementare un filtro di risoluzione personalizzato per organizzare le dimensioni supportate nell'ordine desiderato.
    • Le applicazioni possono anche consentire l'acquisizione ad alta risoluzione per ottenere immagini con risoluzione più alta. Tuttavia, tieni presente che utilizzare un'alta risoluzione può rallentare i tempi di acquisizione.
    • Sono state aggiunte VideoCapture API di mirroring. I video registrati da VideoCapture non sono sottoposti a mirroring per impostazione predefinita. Tuttavia, per impostazione predefinita, l'anteprima della fotocamera è speculare sulla fotocamera anteriore. Le API di mirroring VideoCapture consentono di allineare l'anteprima della fotocamera anteriore quando è in uso. Ci sono tre MirrorMode, OFF, ON e ON_FRONT_ONLY. Per allinearti all'anteprima della fotocamera, si consiglia di utilizzare ON_FRONT_ONLY, il che significa che il mirroring non è abilitato per la fotocamera posteriore, ma è abilitato per la fotocamera anteriore.

Modifiche alle API

  • Nuova API ResolutionSelector esposta. Le applicazioni possono specificare strategie di risoluzione e proporzioni con regole di riserva oppure un filtro di risoluzione personalizzato per ottenere i risultati desiderati. Le applicazioni possono specificare un flag per abilitare l'acquisizione ad alta risoluzione. In questo modo CameraX potrà selezionare risoluzioni più elevate quando scatti foto o registri video. Tuttavia, tieni presente che utilizzare un'alta risoluzione può rallentare i tempi di acquisizione. (Ibed95)
  • Ora è possibile eseguire query sugli intervalli di FPS supportati dall'algoritmo AE tramite CameraInfo#getSupportedFrameRateRanges(). (Iaa67f)
  • Raggruppa i nomi di tutti i metodi di frequenza fotogrammi utilizzando "FrameRate". Correggi l'errore javadoc in VideoCapture#getTargetFrameRate() (I83304)
  • Le API legacy setTargetAspectRatio e setTargetResolution sono state ritirate. Utilizza la nuova API ResolutionSelector. (I542c3).
  • Sono state aggiunte API pubbliche per due videocamere simultanee, tra cui:
    1. List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
    2. ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
    3. boolean isConcurrentCameraModeOn() e ConcurrentCameraConfig, SingleCameraConfig e ConcurrentCamera (Iab1c1)
  • Rendi ImageProcessor.Response#getOutputImage come non null (Ib9c60)
  • Sono state aggiunte VideoCapture API di mirroring, tra cui VideoCapture.Builder.setMirrorMode(int) e VideoCapture.getMirrorMode(). Le API sono utili per le applicazioni richiedono che la registrazione video sia coerente con il comportamento comune dell'anteprima della fotocamera, ad esempio l'anteprima della fotocamera posteriore non viene speculare, ma l'anteprima della fotocamera anteriore è speculare. (I713b6, b/194634656)
  • Aggiungi l'API setTargetFrameRate() in VideoCapture.Builder e l'API getTargetFramerate() in VideoCapture (I109d4)
  • Imposta SurfaceOutput come estensione di Closable e nascondi il costruttore pubblico di SurfaceOutput.Event. (I60ea8)
  • È stato aggiunto Recording.mute per disattivare o riattivare in modo dinamico l'audio di una registrazione in elaborazione. RecordingStats conterrà AudioStats.AUDIO_STATE_MUTED quando l'audio della registrazione in elaborazione verrà disattivato esplicitamente. (Ie17fc)
  • Parametro #setEffects() reso diverso da null. Aggiungi un'API #clearEffects() per cancellare gli effetti. L'app deve chiamare #clearEffects() per rimuovere gli effetti. (I4b4d9).
  • Aggiungi un secondo costruttore per ViewfinderSurfaceRequest.Builder per utilizzare un generatore per il costruttore di copia (I621a7)

Correzioni di bug

  • Risolto il problema per cui le app che richiamano l'API Extensions potrebbero arrestarsi in modo anomalo alla chiusura della fotocamera (Ib27e5)
  • Risolto il problema per cui VideoCapture non poteva funzionare con la fotocamera anteriore su alcuni dispositivi. Ad esempio, su Samsung Galaxy S23 e Xiaomi 2107113SG. (Ibec7e, b/270656244).
  • Risolto il problema per cui scattare foto utilizzando File nella cartella pubblica dell'unità di archiviazione esterna non andava sempre a buon fine in Android 10 o versioni successive. Tieni presente che in Android 10, anche per scattare foto utilizzando File nella cartella pubblica dell'unità di archiviazione esterna è necessario impostare requestLegacyExternalStorage su true nel tag dell'applicazione. (I11b2c).
  • Risolto il problema di arresto anomalo di RejectedExecutionException in DefaultSurfaceProcessor. L'arresto anomalo potrebbe verificarsi quando VideoCapture viene associato e l'attività viene messa in pausa. (Idb46a, b/273713906).

Versione 1.3.0-alpha05

22 marzo 2023

androidx.camera:camera-*:1.3.0-alpha05 viene rilasciato. La versione 1.3.0-alpha05 contiene questi commit.

Modifiche alle API

  • Sono state aggiunte VideoCapture API di rotazione, tra cui VideoCapture.Builder.setTargetRotation(int), VideoCapture.setTargetRotation(int), VideoCapture.setTargetRotationDegrees(int) e VideoCapture.getTargetRotation(). Le API sono utili per le applicazioni che bloccano l'orientamento del dispositivo. Vengono aggiunti anche ImageCapture.setTargetRotationDegrees(int) e ImageAnalysis.setTargetRotationDegrees(int). (Id3ffe, b/205242781)
  • Consenti VIDEO_CAPTURE e PREVIEW|VIDEO_CAPTURE come target degli effetti. Gli effetti che hanno come target VIDEO_CAPTURE verranno applicati al caso d'uso VideoCapture; gli effetti che hanno come target PREVIEW|VIDEO_CAPTURE verranno applicati a uno stream condiviso prima della copia nell'anteprima e nello stream VideoCapture. (Iee6f3).

Correzioni di bug

  • Da Fotocamera 1.2.2: è stato risolto il problema per cui le estensioni CameraX non funzionavano correttamente quando ProGuard è attivato su alcuni dispositivi come Pixel (I90aa2)
  • Risolto il bug PreviewView che se l'app gestisce l'orientamento dello schermo stesso. L'anteprima potrebbe risultare distorta durante la rotazione. Ciò si verifica solo su alcuni dispositivi. Può essere riprodotta su Pixel a4, Pixel 5 e Pixel 6a. (I14340, b/223488673)

Versione 1.3.0-alpha04

22 febbraio 2023

androidx.camera:camera-*:1.3.0-alpha04 viene rilasciato. La versione 1.3.0-alpha04 contiene questi commit.

Nuove funzionalità

Una nuova funzionalità per supportare combinazioni di Surface precedentemente non supportate tramite la condivisione di uno stream con più casi d'uso.

  • In precedenza, quando associ "Preview, Video Capture, ImageAnalysis" a livello di hardware della fotocamera FULL e inferiore, o se associ "Preview, Video Capture, Image Capture" a livello di hardware LEGACY, CameraX genera IllegalArgumentException.
  • Il nuovo comportamento prevede che le associazioni funzionino senza generare eccezioni. CameraX utilizza invece OpenGL per copiare uno stream condiviso sia nell'anteprima che in Video Capture.
  • Come il costo della copia del buffer, l'app potrebbe registrare un aumento della latenza e del consumo energetico.

Modifiche alle API

  • Aggiungi l'API per convertire ImageProxy in Bitmap. Il formato di ImageProxy supportato è ImageFormat.YUV_420_888 e PixelFormat.RGBA_8888. Se il formato non è valido, verrà generato il valore IllegalArgumentException. (Ic7110)
  • Aggiungi CoroutineCameraViewfinder per supportare la configurazione del mirino utilizzando le funzioni di sospensione in Kotlin. (I657bc)
  • Aggiungi un nuovo costruttore pubblico per ViewfinderSurfaceRequest. Offre la flessibilità necessaria quando l'utente non può fornire CameraCharacteristics. (Ie6549)

Correzioni di bug

  • Risolto l'arresto anomalo delle estensioni che si verificava su alcuni dispositivi Samsung quando metteva in pausa/riprese troppo rapidamente l'app (Iaca26)

Versione 1.3.0-alpha03

25 gennaio 2023

androidx.camera:camera-*:1.3.0-alpha03 viene rilasciato. La versione 1.3.0-alpha03 contiene questi commit.

Modifiche alle API

  • È stato aggiunto CameraInfo.getIntrinsicZoomRatio per fornire informazioni sull'angolo di visione rispetto alla videocamera predefinita. (Ib300c)
  • È stato aggiunto CameraInfo.getLensFacing per fornire informazioni relative all'obiettivo. È stata aggiunta CameraSelector#LENS_FACING_EXTERNAL come funzionalità sperimentale per la selezione delle videocamere esterne. (Icaf3e).
  • Aggiungi #setEffect() a CameraController per aggiungere effetti all'output della fotocamera. (I1d21f)
  • Aggiungi il metodo invalidate() a SurfaceRequest. Il provider di Surface può notificare che la piattaforma fornita in precedenza non è più valida. (Idc649)
  • Aggiungi un'API ImageProcessor. Questa interfaccia consente di inserire effetti di post-elaborazione nella pipeline ImageCapture. (I575c6)
  • È stata aggiunta l'API Recorder.Builder.setAspectRatio() che può essere combinata con QualitySelector per supportare più risoluzioni video. (I8a082)
  • È stato aggiunto Recorder.Builder#setTargetVideoEncodingBitRate per impostare la codifica video target BitRate e Recorder#getTargetVideoEncodingBitRate e ottenere la velocità in bit della codifica video target. (I5984d)

Correzioni di bug

  • Correzione di ImageCapture non riuscita quando non è presente un'unità flash e la modalità flash è attivata. (I9e8b4, b/263391112).
  • È stato risolto il problema di danneggiamento dell'immagine JPEG durante la scrittura di dati sulla posizione EXIF su alcuni dispositivi Samsung Android 12. (Ib7086, b/263747161, b/263289024).
  • quando imposti la torcia o lo zoom prima che inizi l'inizializzazione della videocamera, ad esempio chiamando il numero CameraController#enableTorch, l'azione in attesa viene memorizzata nella cache e inviata quando l'inizializzazione avviene. (I11e92, b/264157663).

Versione 1.3.0-alpha02

7 dicembre 2022

androidx.camera:camera-*:1.3.0-alpha02 viene rilasciato. La versione 1.3.0-alpha02 contiene questi commit.

Modifiche alle API

  • aggiungi una nuova API per applicare l'effetto di post-elaborazione all'output in anteprima. (Ic17d5)
  • Rinominato OutputOptions.getDurationLimit in OutputOptions.getDurationLimitMillis e OutputOptions.setDurationLimit in OutputOptions.setDurationLimitMillis. (I91f0c).
  • Aggiungi AudioConfig classe per gestire l'impostazione relativa all'audio durante la registrazione di video. L'annotazione @RequiresPermission viene spostata dalle funzioni startRecording a AudioConfig per evitare richieste di autorizzazione non necessarie nei casi in cui l'audio non sia necessario. (I28755)
  • Rimuovi le classi Metadata, OnVideoSavedCallback, OutputFileOptions e OutputFileResults che non vengono più utilizzate dopo l'applicazione della nuova API Video Capture. (I38cd8)
  • Applica la nuova API di acquisizione video. I metodi getVideoCaptureTargetSize e setVideoCaptureTargetSize vengono sostituiti dai metodi getVideoCaptureTargetQuality e setVideoCaptureTargetQuality di conseguenza, poiché setTargetResolution non è più supportato. (I2a1d5).

Correzioni di bug

  • Rimuovi l'API core.VideoCapture deprecata. (I531e0).
  • Risolto il problema per cui il callback onError non viene chiamato quando si scattano foto senza l'autorizzazione per lo spazio di archiviazione (I936db, b/244807669)
  • Migliora la qualità e l'affidabilità delle estensioni della videocamera. Le estensioni della fotocamera sono disattivate sui dispositivi Motorola che utilizzano le estensioni della fotocamera v1.1.0 e versioni precedenti a causa di problemi con il supporto di Bokeh, l'acquisizione delle immagini e il mancato ripristino dell'anteprima. (Id3ce3)
  • È stato risolto l'arresto anomalo nativo durante il quale il ritaglio dei video tramite ViewPort era attivo sui dispositivi precedenti. (I16b8a, b/251357665).

Versione 1.3.0-alpha01

9 novembre 2022

androidx.camera:camera-*:1.3.0-alpha01 viene rilasciato. La versione 1.3.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Camera-viewfinder è stato pubblicato ufficialmente. Camera-viewfinder fornisce un widget mirino di base che può visualizzare il feed della videocamera per Camera2. Consulta il codice campione per un esempio.

Modifiche alle API

  • OutputOptions.setDurationLimit aggiunto per consentire l'impostazione del limite di durata del video. La registrazione verrà finalizzata automaticamente quando supererà il limite di durata specificato. (I902a0)
  • Aggiungi lo stato di errore dell'audio della registrazione video AudioStats.AUDIO_STATE_SOURCE_ERROR. Inviata quando la configurazione della sorgente audio non va a buon fine o si verifica un errore. (I37410)

Correzioni di bug

  • Aggiungi un'eccezione per consentire ad alcuni dispositivi problematici di ritentare l'acquisizione una volta quando si verificano errori di acquisizione. (Id4795)
  • Risolvi PreviewView problema della schermata nera dell'implementazione di SurfaceView in ViewPager2. Nell'ambito della correzione, PreviewView riutilizzerà la sua SurfaceView se la risoluzione richiesta non viene modificata. (Ib3f27).
  • Supporta il ritaglio dei video (funzionalità WYSIWYG) quando viene utilizzata l'API ViewPort o CameraController. (Ifbba8, b/201085351).
  • Risolto il problema di registrazione del video acquisito con la fotocamera anteriore su Huawei P40 lite. (I87c57, b/250807400)

Versione 1.2

Versione 1.2.3

24 maggio 2023

androidx.camera:camera-*:1.2.3 viene rilasciato. La versione 1.2.3 contiene questi commit.

Correzioni di bug

  • Risolto il problema per cui VideoCapture non poteva funzionare con la fotocamera anteriore su alcuni dispositivi. Ad esempio, su Samsung Galaxy S23 e Xiaomi 2107113SG. (Ibec7e, b/270656244).

Versione 1.2.2

22 marzo 2023

androidx.camera:camera-*:1.2.2 viene rilasciato. La versione 1.2.2 contiene questi commit.

Correzioni di bug

  • Risolto il problema per cui le estensioni CameraX non funzionavano correttamente quando ProGuard era attivato su alcuni dispositivi come Pixel (I90aa2)

Versione 1.2.1

25 gennaio 2023

androidx.camera:camera-*:1.2.1 viene rilasciato. La versione 1.2.1 contiene questi commit.

Correzioni di bug

  • Risolvi il problema di danneggiamento dell'immagine JPEG durante la scrittura di dati sulla posizione EXIF su alcuni dispositivi Samsung Android 12. (b/263289024)

Versione 1.2.0

7 dicembre 2022

androidx.camera:camera-*:1.2.0 viene rilasciato. La versione 1.2.0 contiene questi commit.

Modifiche importanti dalla versione 1.1.0

  • Nuova libreria camera-mlkit-vision. Integra facilmente CameraX con molte funzionalità di MLKit, tra cui la scansione dei codici a barre, il rilevamento dei volti, il rilevamento del testo e così via. È stata aggiunta la MLKitAnalyzer come nuova API.
  • Nuova API sperimentale Zero-Shutter Lag. Ottimizza la pipeline di acquisizione per avere una latenza migliore mantenendo una buona qualità delle immagini. Quando la modalità di acquisizione è impostata su CAPTURE_MODE_ZERO_SHUTTER_LAG, la latenza tra il pulsante di scatto e l'immagine scattata dovrebbe essere ridotta a icona rispetto ad altre modalità di acquisizione. Sui dispositivi che non supportano ZERO_SHUTTER_LAG, verrà utilizzato il metodo di riserva CAPTURE_MODE_MINIMIZE_LATENCY.
  • Ritira android.camera.core.VideoCapture.
  • setStreamUseCase() aggiunta come API Camera2Interop pubblica.
  • Aggiunto requisito relativo ai livelli API per setOutputImageRotationEnabled.
  • Rinominato ImageAnalysis.Analyzer#getTargetResolutionOverride() in ImageAnalysis.Analyzer#getDefaultTargetResolution().
  • È stata aggiunta un'API per impostare i metadati sulla posizione per il video salvato.
  • È stata corretta la bassa frequenza fotogrammi quando si utilizzano casi d'uso di VideoCapture e Anteprima con proporzioni 16:9
  • Risolto il problema dell'anteprima in nero che si verificava quando l'estensione BOKEH è attivata su alcuni dispositivi Samsung e l'utente cambiava le fotocamere.
  • Risolto il problema allungato Preview/VideoCapture di Samsung J7 Prime (SM-G610M) e J7 (SM-J710MN) sui dispositivi con livello API 27.
  • È stata disattivata la soluzione alternativa per invertire l'area AF orizzontalmente delle fotocamere anteriori su Samsung Android T poiché il problema è stato risolto

Versione 1.2.0-rc01

24 ottobre 2022

androidx.camera:camera-*:1.2.0-rc01 viene rilasciato. La versione 1.2.0-rc01 contiene questi commit.

Modifiche alle API

  • Aggiungi l'API setStreamUseCase per OutputConfiguration. L'utente può specificare il caso d'uso dello stream per la sessione di streaming, sovrascrivendo le logiche interne di CameraX per scegliere il caso d'uso dello stream al fine di ottimizzare in base alle proprie esigenze. (Ib1a95).

Correzioni di bug

  • Risolto il problema allungato Preview/VideoCapture di Samsung J7 Prime (SM-G610M) e J7 (SM-J710MN) sui dispositivi con livello API 27. La risoluzione 1920 x 1080 causa un allungamento delle immagini Preview/VideoCapture. È stata aggiunta una soluzione alternativa per non selezionare la risoluzione 1920 x 1080 per l'anteprima o VideoCapture per evitare il problema di ampliamento dell'immagine. (I0e04e).
  • È stata corretta la bassa frequenza fotogrammi quando si utilizzano casi d'uso di VideoCapture e Anteprima con proporzioni 16:9 su alcuni dispositivi Huawei. (If8c88, b/223643510).
  • È stato risolto l'errore di apertura della fotocamera quando il criterio SurfaceProvider dell'anteprima non era impostato. Come parte della correzione, l'anteprima senza SurfaceProvider impostato non verrà configurata nella sessione di acquisizione con la fotocamera. (I99681)

Versione 1.2.0-beta02

21 settembre 2022

androidx.camera:camera-*:1.2.0-beta02 viene rilasciato. La versione 1.2.0-beta02 contiene questi commit.

Modifiche alle API

  • Aggiungi il requisito relativo ai livelli API per setOutputImageRotationEnabled (I26e3e, b/240993561)

Correzioni di bug

  • Poiché il problema è stato risolto, è stata disattivata la soluzione alternativa per invertire l'area AF orizzontalmente delle fotocamere anteriori su Samsung Android T. (I05f69).
  • Risolto il problema dell'anteprima in nero che si verificava quando l'estensione BOKEH è attivata su alcuni dispositivi Samsung e l'utente cambiava le fotocamere. (If6168)

Versione 1.2.0-beta01

24 agosto 2022

androidx.camera:camera-*:1.2.0-beta01 viene rilasciato. La versione 1.2.0-beta01 contiene questi commit.

Nuove funzionalità

  • Nuova raccolta camera-mlkit-vision. Integra facilmente CameraX con molte funzionalità di MLKit, tra cui la scansione dei codici a barre, il rilevamento dei volti, il rilevamento del testo e così via. Per un codice campione, fai clic qui.
  • Nuova API Zero-Shutter Lag sperimentale. Ottimizza la pipeline di acquisizione per avere una latenza migliore mantenendo una buona qualità delle immagini. Quando la modalità di acquisizione è impostata su CAPTURE_MODE_ZERO_SHUTTER_LAG, la latenza tra il pulsante di scatto e l'immagine scattata dovrebbe essere ridotta al minimo rispetto ad altre modalità di acquisizione. Sui dispositivi che non supportano ZERO_SHUTTER_LAG, verrà utilizzato il comando CAPTURE_MODE_MINIMIZE_LATENCY.
  • ImageAnalysis.Analyzer e MLKitAnalyzer realizzate come API ufficiali.
  • API esposta per l'impostazione dei metadati sulla posizione per il video salvato.
  • Rinomina ImageAnalysis.Analyzer#getTargetResolutionOverride() in ImageAnalysis.Analyzer#getDefaultTargetResolution().

Correzioni di bug

  • Risolto il problema di acquisizione dell'immagine k61v1_basic_ref delle Alpi. Le immagini JPEG acquisite da HAL presentano metadati EXIF errati. I metadati EXIF non hanno il tag 0xffd9 o 0xffda per consentire a ExifInterface di analizzare correttamente gli attributi. Acquisire le immagini in formato YUV e quindi comprimerle in immagini di output JPEG per risolvere il problema. (I45abb)

Versione 1.2.0-alpha04

27 luglio 2022

androidx.camera:camera-*:1.2.0-alpha04 viene rilasciato. La versione 1.2.0-alpha04 contiene questi commit.

Modifiche alle API

  • Rinomina ImageAnalysis.Analyzer#getTargetResolutionOverride() in ImageAnalysis.Analyzer#getDefaultTargetResolution(). Anche il comportamento viene modificato in modo che il valore restituito da questo metodo possa essere sostituito dal valore ImageAnalysis#setTargetResolution(). (If1d36)
  • API esposta per l'impostazione dei metadati sulla posizione per il video salvato. Un oggetto android.location.Location può essere impostato tramite la nuova API androidx.camera.video.OutputOptions.Builder.setLocation(Location). (I313a0, b/204197544)

Correzioni di bug

  • Risolvi il problema per scattare foto con lo scollegamento dell'anteprima (Ie70b6, b/235119898)
  • È stato risolto l'arresto anomalo in Recorder durante il tentativo di registrazione mentre la sorgente audio non era disponibile. (I9f652).

Versione 1.2.0-alpha03

29 giugno 2022

androidx.camera:camera-*:1.2.0-alpha03 viene rilasciato. La versione 1.2.0-alpha03 contiene questi commit.

Modifiche alle API

  • Rimossa l'annotazione sperimentale per ImageAnalysis.Analyzer e MLKitAnalyzer. (I0ff22)

Correzioni di bug

  • Aggiunto il timeout predefinito di messa a fuoco automatica di 5000 ms che completerà la parte AF con isFocusSuccessful falso se FocusMeteringAction non viene annullato e la parte AF non è convergente nella durata. (Ibc2e3).
  • Risolvi il problema per scattare foto con l'anteprima svincola (I1d3a2, b/235119898)
  • Abilita l'implementazione di extender avanzata e aggiorna la versione dell'interfaccia delle estensioni del supporto di CameraX alla versione 1.2 (I92256)

Versione 1.2.0-alpha02

1° giugno 2022

androidx.camera:camera-*:1.2.0-alpha02 viene rilasciato. La versione 1.2.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Esponi l'API Zero-Shutter Lag di CameraX come sperimentale.

Modifiche alle API

  • Aggiungi una nuova modalità di acquisizione CAPTURE_MODE_ZERO_SHUTTER_LAG in ImageCapture e aggiungi isZslSupported in CameraInfo per eseguire query sulla funzionalità del dispositivo. La modalità CAPTURE_MODE_ZERO_SHUTTER_LAG mira a fornire la latenza minima per l'acquisizione istantanea. Viene implementato in base a un buffer ad anello, che memorizza nella cache i risultati intermedi dell'acquisizione per una successiva rielaborazione quando l'utente preme i pulsanti per scattare le foto. Se {@link Video Capture} è associato o la modalità flash non è disattivata oppure l'estensione OEM è attiva, questa modalità verrà disattivata automaticamente. (I9ae74).
  • Aggiungi metodo ImageAnalysis.getBackgroundExecutor() (Icc945)

Correzioni di bug

  • Il metodo takePicture di ImageCapture corretto disattiva la torcia sui dispositivi segnalati. (Ib5eb5, b/228272227).
  • Risolto il bug per cui AssertionError non viene gestito quando si ottiene la caratteristica CONTROL_ZOOM_RATIO_RANGE (/Ia248a, b/231701345).

Versione 1.2.0-alpha01

18 maggio 2022

androidx.camera:camera-*:1.2.0-alpha01 viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Lancio della nuova raccolta camera-mlkit-vision

Correzioni di bug

  • La correzione QualitySelector non riesce a registrare un video UHD quando viene attivata una strategia di riserva. Il problema si verifica quando VideoCapture viene associato a ImageCapture e Anteprima su una fotocamera con livello hardware COMPLETO o superiore. Una strategia di riserva di QualitySelector fa sì che VideoCapture riceva erroneamente una risoluzione FHD. La risoluzione UHD è effettivamente supportata per questa combinazione di casi d'uso e deve essere adottata. (I0e788, b/230651237)
  • Risolto il problema di NullPointerException il giorno ImageCapture.takePicture(). (I92366, b/230454568, b/229766155)
  • Correggi il comportamento della pausa asincrona di androidx.camera.video.Recorder (Ia8ce8)

Fotocamera-Fotocamera2, Fotocamera-Corea, Ciclo di vita fotocamera e Fotocamera-Video Versione 1.1.0

Versione 1.1.0

29 giugno 2022

androidx.camera:camera-*:1.1.0 viene rilasciato. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

  • Librerie Landed View, Extension e Video Capture come prima versione RC. A partire dalla versione 1.1.0-beta01, tutte le librerie di CameraX allineeranno lo stesso numero di versione. Questo aiuterà gli sviluppatori a tenere traccia delle versioni molto più facilmente e a ridurre la complessità delle matrici di compatibilità delle versioni di grandi dimensioni.
  • Ha introdotto nuove API e funzionalità pubbliche che includono:
  • Aggiungi la raccolta video ufficiale della videocamera per supportare casi d'uso relativi all'acquisizione video.
  • Conversione e rotazione da YUV a RGB (ImageAnalysis.Builder.setOutputImageRotationEnabled e setOutputImageFormat)
  • Supporta la modalità multi-finestra consentendo alle applicazioni CameraX di riprendere la fotocamera quando la fotocamera viene interrotta da un'altra app e la messa a fuoco è nuovamente attiva.
  • Assicura che CameraX funzioni correttamente nei dispositivi pieghevoli risolvendo alcuni problemi relativi all'anteprima.
  • È stata aggiunta un'API CameraState che sarà esposta tramite CameraInfo.
  • È stata aggiunta un'API ProcessCameraProvider.getAvailableCameraInfos() per recuperare direttamente le informazioni sulle fotocamere disponibili
  • Formato JPEG di output per ImageCapture#OnImageCapturedCallback quando le estensioni sono attivate.
  • È stata aggiunta un'API isFocusMeteringSupported in CameraInfo che consente alle applicazioni di verificare se il valore FocusMeteringAction specificato è supportato o meno sulla fotocamera corrente.
  • API getResolutionInfo esposta per fornire informazioni sulla risoluzione per Anteprima, ImageCapture e ImageAnalysis.
  • È stata aggiunta una nuova API ImageCapture.Builder#setJpegQuality per consentire la modifica della qualità della compressione delle immagini JPEG di output durante lo scatto di foto.
  • È stato aggiunto CameraSelector#filter all'API pubblica per filtrare un elenco di CameraInfos in base a un CameraSelector.
  • È stato aggiunto Camera2CameraControl.clearCaptureRequestOptions per cancellare le opzioni di richiesta di acquisizione esistenti.
  • È stata aggiunta un'API sperimentale per l'utilizzo di CameraController con librerie di elaborazione delle immagini esterne, ad esempio MLKit
  • È stata aggiunta l'API sperimentale CameraInfo#getCameraSelector(), che restituisce un CameraSelector univoco per la relativa fotocamera
  • Promozione di diverse API sperimentali in API pubbliche formali
  • L'annotazione @Experimental è stata sostituita con @RequiresOptIn nelle API sperimentali. Per chiamare le API sperimentali, utilizza androidx.annotation.OptIn anziché la versione deprecata androidx.annotation.experimental.UseSperimenta.
  • Sono state promosse le seguenti API sperimentali alle API ufficiali: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(),
  • @ExperimentalCameraFilter API
  • API sperimentali di compensazione dell'esposizione.
  • Promozione dell'API sperimentale UseCaseGroup per core della fotocamera, ciclo di vita della videocamera e video della videocamera. Sono stati aggiunti ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection e ViewPort.Builder#setScaleType per personalizzare l'area visibile.
  • È stato promosso il ExperimentalUseCaseGroupLifecycle ad API pubbliche formali.
  • Modifiche alle API esistenti
  • Renamed MediaStoreOutputOptions.getCollection per MediaStoreOutputOptions.getCollectionUri.
  • ActiveRecording è stato rinominato in "Registrazione" per ridurre il livello di dettaglio.
  • API Creator QualitySelector modificata in API basata su elenchi

Correzioni di bug

  • Risolto il problema YuvToJpegProcessor EOFException quando la modalità estensione è attivata e la modalità ImageCapture#CAPTURE_MODE_MAX_QUALITY è impostata.
  • La configurazione del codec corretta non è riuscita a causa della chiusura della registrazione video
  • Corrette le proporzioni di anteprima/video allungato durante la registrazione in FHD
  • Risolto il problema di audio/video non sincronizzato dopo la pausa e la ripresa su alcuni dispositivi
  • È stato risolto il problema per cui il flash si attivava durante il tocco per mettere a fuoco (startFocusAndMetering) quando la modalità flash è automatica o sempre attivo in un ambiente poco illuminato.

Versione 1.1.0-rc02

1° giugno 2022

androidx.camera:camera-*:1.1.0-rc02 viene rilasciato. La versione 1.1.0-rc02 contiene questi commit.

Correzioni di bug

  • Risolto il problema di NullPointerException il giorno ImageCapture.takePicture(). (I92366, b/230454568, b/229766155)
  • È stato corretto un bug per cui AssertionError non veniva gestito quando si ottiene la caratteristica CONTROL_ZOOM_RATIO_RANGE. (Ia248a, b/231701345).

Versione 1.1.0-rc01

11 maggio 2022

androidx.camera:camera-*:1.1.0-rc01 viene rilasciato. La versione 1.1.0-rc01 contiene questi commit.

Nuove funzionalità

  • Rilascia la prima versione RC per estensione video videocamera, visualizzazione videocamera e videocamera

Correzioni di bug

  • Risolto il problema per cui il codec video non veniva rilasciato quando VideoCapture<Recorder> non era associato, causando gli utilizzi successivi di VideoCapture<Recorder> nella registrazione con MediaCodec.CodecException, in particolare sui dispositivi API 21-22. (Ie7f68)
  • Le immagini acquisite di CameraExtensionsActivity non vengono eliminate in ImageCaptureTest

Versione 1.1.0-beta03

6 aprile 2022

androidx.camera:camera-*:1.1.0-beta03 viene rilasciato. La versione 1.1.0-beta03 contiene questi commit.

Modifiche alle API

  • Modificato dal costruttore di CaptureRequestOptions limitato. (I261b6).
  • È stata aggiunta un'API sperimentale per l'utilizzo di CameraController con librerie di elaborazione delle immagini esterne, ad esempio MLKit (I4ea71)

Correzioni di bug

  • Risolto il problema per cui l'anteprima diventa orizzontale in PreviewView quando l'attività non viene riavviata dopo la rotazione dei dispositivi in modalità multi-finestra. (I1ea36, b/223488673).
  • Risolvi un problema relativo alla modalità multi-finestra per cui, quando lo stato attivo torna sull'app, la fotocamera non riprende se (1) un'altra app ad alta priorità apre un'altra fotocamera (2) il dispositivo è un dispositivo Samsung Android 12. (I7e9f2).
  • Soluzione alternativa per dispositivi che si arrestano in modo anomalo durante il controllo della disponibilità di Flash. Su questi dispositivi non sarà disponibile la torcia. (If26a3, b/216667482).
  • Risolvi AbstractMethodError problema riscontrato quando le app utilizzano le estensioni e attiva ProGuard. (I7cbaf, b/222726805)
  • Forza la disattivazione della modalità di estensione bokeh sul dispositivo Motorola Razr 5G che causerà un problema con la schermata di anteprima nera. (I35d49).
  • È stato risolto il problema di audio/video non sincronizzato dopo la pausa e la ripresa su alcuni dispositivi Samsung pre-API 29. (I64622, b/202798609, b/202798572)
  • Risolto il problema di audio/video non sincronizzato dopo la pausa e la ripresa su Sony G3125. (I2a1a5, b/202799148).
  • Risolto il problema di arresto anomalo che causava il rilevamento di InvalidConfigException da parte del Registratore. Tuttavia, questa correzione impedisce solo l'arresto anomalo dell'app, ma non risolve la causa del problema InvalidConfigException. Se non è ancora possibile configurare Recorder, le applicazioni riceveranno il callback di errore quando inizierà la registrazione. (I89c29, b/213617227)

Contributi esterni

  • aggiornato :compose:ui:ui-test api (updateApi) a causa della migrazione di test-coroutines-lib (I3366d)

Versione 1.1.0-beta02

23 febbraio 2022

androidx.camera:camera-*:1.1.0-beta02 viene rilasciato. La versione 1.1.0-beta02 contiene questi commit.

Modifiche alle API

  • Aggiungi la possibilità di specificare l'ID fisico della videocamera tramite Camera2Interop. (I5aed8)

Correzioni di bug

  • Risolto il problema dell'anteprima allungata su Oppo Find N (I7d004)
  • Risolto il problema di Galaxy J7 Prime che causava la distorsione dell'anteprima. (I4c500)
  • Utilizza una velocità in bit compatibile per trovare il codificatore video. (d969052)

Versione 1.1.0-beta01

26 gennaio 2022

androidx.camera:camera-*:1.1.0-beta01 viene rilasciato. La versione 1.1.0-beta01 contiene questi commit.

Nuove funzionalità

  • A partire dalla versione 1.1.0-beta01, tutte le librerie di CameraX allineeranno lo stesso numero di versione. Questo aiuterà gli sviluppatori a tenere traccia delle versioni molto più facilmente e a ridurre la complessità della matrice di compatibilità delle versioni di grandi dimensioni.

Modifiche alle API

  • È stato aggiunto Camera2CameraControl.clearCaptureRequestOptions per cancellare le opzioni di richiesta di acquisizione esistenti. (Ifa07d).

Correzioni di bug

  • È stato risolto l'arresto anomalo durante la registrazione del video su alcuni dispositivi con sistema operativo pre-Android(API 26). (I88fdf, b/212328261).
  • Risolto il problema errato della regione AF quando si utilizzava cameraControl#startFocusAndMetering() sulla fotocamera anteriore con obiettivo dei dispositivi Samsung (Ifbf59, b/210548792)
  • Usa la torcia come flash su Pixel 3a/Pixel 3a XL per migliorare la velocità e la qualità dell'immagine acquisita al buio (Ib12b6, b/211474332)
  • Consente di attivare le applicazioni per riprendere la fotocamera quando la videocamera viene interrotta da un'altra applicazione con priorità più alta in modalità multi-finestra e lo stato attivo torna sull'applicazione. Tieni presente che potrebbe verificarsi una latenza(da 1 a 10 secondi o più) tra le modifiche della messa a fuoco e la riapertura della fotocamera a causa di un problema relativo alla struttura. (I4d092)

Versione 1.1.0-alpha12

15 dicembre 2021

androidx.camera:camera-*:1.1.0-alpha12 viene rilasciato. La versione 1.1.0-alpha12 contiene questi commit.

Modifiche alle API

  • Sono state rimosse le annotazioni @RequiresApi(21) non necessarie dalle classi/interfacce interne. (I8e286, b/204917951)
  • Le costanti di qualità e di strategia di fallback di QualitySelector sono state modificate per essere rappresentate da oggetti di classe. Ad esempio, QualitySelector.QUALITY_HD viene sostituito con Quality.HD e QualitySelector.FALLBACK_STRATEGY_LOWER con l'istanza restituita da FallbackStrategy.lowerQualityOrHigherThan(Quality). L'API utilizzata per creare QualitySelector è stata modificata in un'API basata su elenchi. La nuova API QualitySelector.fromOrderedList(List<Quality>) farà riferimento all'ordine dell'elenco della qualità dell'input anziché all'ordine creato da QualitySelector.Procedure. QualitySelector.Procedure corso è stato rimosso. (I43343)
  • PendingRecording.withEventListener() è stato rimosso e il listener di eventi deve essere ora trasmesso a PendingRecording.start(). Questo requisito relativo al listener di eventi ha lo scopo di incoraggiare la gestione degli errori asincroni segnalati nell'evento VideoRecordEvent.Finalize. (I1e71d)
  • ActiveRecording è stato rinominato in Recording per ridurre il livello di dettaglio. (I77ceb)

Correzioni di bug

  • Risolto il problema per cui le foto scattate in modalità FLASH_AUTO erano sottoesposte in condizioni di oscurità su Pixel 3a e Pixel 3a XL (I13f19, b/205373142)
  • Usa sempre le dimensioni di visualizzazione più recenti per determinare l'anteprima Resolution. (I4a694).
  • Videocamere filtrate che non hanno REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE. Le videocamere con REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE hanno l'insieme minimo di funzionalità supportate da ogni dispositivo. La videocamera senza REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE potrebbe essere una videocamera che supporta funzionalità speciali e non supporta gli output a colori standard. CameraX non può supportare i casi d'uso di Preview, ImageCapture, ImageAnalysis o VideoCapture per queste videocamere. Di conseguenza, queste videocamere devono essere filtrate per evitare un uso non corretto. (Ib8cda)
  • CameraSelector#filter non genera più IllegalArgumentException quando il set di risultati è vuoto. (I27804)
  • Ora vengono utilizzate euristiche più intelligenti per selezionare le impostazioni del codificatore in base ai profili specificati dall'OEM. (Iaeef0)
  • L'anteprima fissa avrà linee di colore interlacciate dopo l'avvio della registrazione video in UHD su Pixel1. (I833c6, b/205340278)

Versione 1.1.0-alpha11

17 novembre 2021

androidx.camera:camera-*:1.1.0-alpha11 viene rilasciato. La versione 1.1.0-alpha11 contiene questi commit.

Modifiche alle API

  • È stato aggiunto CameraSelector#filter all'API pubblica per filtrare un elenco di CameraInfos in base a CameraSelector. (I105d0)
  • Aggiungi l'API setOutputImageRotazioneEnabled per la configurazione di ImageAnalysis. L'utente può attivare la rotazione per il buffer dell'immagine YUV/RGB. Il grado di rotazione è una rotazione relativa calcolata in base alla rotazione del sensore e alla rotazione target per mantenere l'immagine in primo piano.

  • Aggiungi l'API setOutputImageRotazioneEnabled per la configurazione di ImageAnalysis. L'utente può attivare la rotazione per il buffer dell'immagine YUV/RGB. Il grado di rotazione è una rotazione relativa calcolata in base alla rotazione del sensore e alla rotazione target per mantenere l'immagine in primo piano.

    Aggiungi l'API getSensorToBufferTransformMatrix in ImageInfo. La matrice restituita è una mappatura dalle coordinate del sensore alle coordinate del buffer, ovvero dal valore di CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE a (0, 0, image.getWidth, image.getHeight). La matrice può essere utilizzata per mappare le coordinate da un {UseCase} a un altro. Ad esempio, mappare le coordinate del volto rilevato con l'analisi ImageAnalysis all'anteprima. (I9ff1e).

  • È stata aggiunta una nuova API Image Capture.Builder#setJpegQualità per consentire la modifica della qualità di compressione delle immagini JPEG di output durante lo scatto delle foto. (I8dcf4)

  • Rinominato MediaStoreOutputOptions.getCollection in MediaStoreOutputOptions.getCollectionUri. (I16639)

Correzioni di bug

  • È stato risolto il problema dell'attivazione del flash durante il tocco per mettere a fuoco (startFocusAndMetering) quando la modalità flash è automatica o sempre attivo in ambienti poco illuminati. (Id4c11)
  • Opzione HDR+ disattivata su Pixel 2 XL / Pixel 3 XL in modalità MINIMIZE_LATENCY per ridurre la latenza. (Ib6270, b/203505523)

Contributi esterni

Versione 1.1.0-alpha10

13 ottobre 2021

androidx.camera:camera-*:1.1.0-alpha10 viene rilasciato. La versione 1.1.0-alpha10 contiene questi commit.

Nuove funzionalità

  • androidx.camera:camera-video:1.1.0-alpha10 pubblicata ufficialmente come prima versione alpha di Video. Nelle versioni successive verranno risolti diversi problemi noti.

Modifiche alle API

  • È stata aggiunta l'annotazione @RequiresApi(21) a tutte le classi di CameraX e abbiamo eliminato minSdkVersion da AndroidManifest.xml. Ciò consentirà di integrare facilmente il core della fotocamera nelle applicazioni che hanno un valore minSdkVersion inferiore a 21, ma che desiderano utilizzare in modo condizionale i percorsi di codice che si basano sull'API 21 e versioni successive. Per qualsiasi applicazione con minSdkVersion 21 o successive, questa modifica non richiede alcuna azione. (Ie7f2e, b/200599470).

Correzioni di bug

  • Genera un'eccezione InitializationException per consentire all'app di gestire agevolmente l'AssertionError che si è verificata durante la creazione di CameraCharacteristics. (Ibec79)

Versione 1.1.0-alpha09

29 settembre 2021

androidx.camera:camera-camera2:1.1.0-alpha09, androidx.camera:camera-core:1.1.0-alpha09 e androidx.camera:camera-lifecycle:1.1.0-alpha09 vengono rilasciati. La versione 1.1.0-alpha09 contiene questi commit.

Modifiche alle API

  • L'annotazione sperimentaleUseCaseGroup viene rimossa ora che le API non sono più sperimentali. (I01ef5)

Correzioni di bug

  • Risolvi il problema per cui le foto scattate vengono sfocate in modalità MAXIMIZE_QUALITY. (I173a9, b/193823892)
  • Risolto un problema di Samsung Galaxy J5 che causava il blocco della fotocamera dopo aver scattato foto con il flash attivo o automatico in ambiente buio (I3aab9)
  • Quando è necessario eseguire il ritaglio per Image Capture, comprimendo l'immagine ritagliata di output con il livello di qualità JPEG specificato in base alla modalità di acquisizione impostata. Se la modalità di acquisizione è CAPTURE_MODE_MINIMIZE_LATENCY, la qualità di compressione JPEG sarà 95. Se la modalità di acquisizione è CAPTURE_MODE_MAXIMIZE_QUALITY, la qualità di compressione JPEG sarà 100. (Ieb37c, b/142856426).

Versione 1.1.0-alpha08

18 agosto 2021

androidx.camera:camera-camera2:1.1.0-alpha08, androidx.camera:camera-core:1.1.0-alpha08 e androidx.camera:camera-lifecycle:1.1.0-alpha08 vengono rilasciati. La versione 1.1.0-alpha08 contiene questi commit.

Nuove funzionalità

  • Aggiungi l'API setOutputImageFormat per la configurazione dell'analisi delle immagini. L'utente può selezionare ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 o ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888. Per impostazione predefinita, verrà selezionato ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888. (I7902d)

Modifiche alle API

  • L'annotazione sperimentaleUseCaseGroupLifecycle viene rimossa ora che le API non sono più sperimentali. (I17b85).

Correzioni di bug

  • La schermata di anteprima corretta è troppo luminosa su Huawei P20 Lite. Questo problema si verifica solo quando determinate risoluzioni di anteprima speciali vengono utilizzate insieme a un valore di zoom elevato di grandi dimensioni. (Idefce, b/192129158)
  • Risolto il problema per cui il flash non funzionava su alcuni dispositivi quando si impostava la modalità flash su FLASH_MODE_ON poco dopo aver scattato una foto. (Ieb49b).
  • Risolto il problema per cui l'anteprima si interrompeva per un po' di tempo quando si scattano foto se sono associate Video Capture, Image Capture e un'anteprima. (I56197, b/193864120)
  • Consente all'analisi delle immagini di selezionare una risoluzione superiore a 1080p. Un dispositivo di livello LIMITATO sopra indicato può supportare una risoluzione delle dimensioni di un RECORD per l'analisi delle immagini quando è associato ad Anteprima e Acquisizione di immagini. Il compromesso è che la risoluzione selezionata per l'acquisizione di immagini dovrà essere una risoluzione delle dimensioni di un RECORD. Per selezionare correttamente una risoluzione delle dimensioni di RECORD per ImageAnalysis, è necessario impostare una risoluzione target per le dimensioni di un RECORD sia su Image vicino che su ImageAnalysis. Ciò indica che l'applicazione comprende chiaramente il compromesso e preferisce che l'analisi di ImageAnalysisis abbia una risoluzione più grande rispetto all'elemento Image Capture per ottenere una risoluzione MASSIMA. Per le definizioni di RECORD, delle dimensioni Massima e altri dettagli, visita la pagina https://developer.android.com/reference/android/hardware/camera2/FotocameraDevice#regular-capture. Le dimensioni del RECORD si riferiscono alla risoluzione di registrazione massima supportata dal dispositivo della fotocamera, come determinata da CamcorderProfile. La dimensione MASSIMA si riferisce alla risoluzione di uscita massima del dispositivo della videocamera per quel formato o target da StreamConfigurationMap.getOutputSizes(int). (I1ee97, b/192911449)
  • Aggiungi le informazioni EXIF all'immagine acquisita. (I01ff0, b/193342619).
  • In Image Capture, restituisci l'URI dell'immagine salvata se il percorso di salvataggio è File. (Ib5b49, b/149241379).
  • Risolto il problema per cui le immagini acquisite con il flash erano scure su molti dispositivi. (I4e510).

Versione 1.1.0-alpha07

21 luglio 2021

androidx.camera:camera-camera2:1.1.0-alpha07, androidx.camera:camera-core:1.1.0-alpha07 e androidx.camera:camera-lifecycle:1.1.0-alpha07 vengono rilasciati. La versione 1.1.0-alpha07 contiene questi commit.

Correzioni di bug

  • Risolto il problema del Samsung Galaxy Note 5 per cui la fotocamera si bloccava dopo aver scattato foto con il flash attivo o automatico in un ambiente buio (If6871)
  • Risolto il problema EOFException di YuvToJpegProcessor quando la modalità estensione è attivata e la modalità ImageCapture#CAPTURE_MODE_MAX_QUALITY è impostata. (I538bd, b/192017012).

Versione 1.1.0-alpha06

30 giugno 2021

androidx.camera:camera-camera2:1.1.0-alpha06, androidx.camera:camera-core:1.1.0-alpha06 e androidx.camera:camera-lifecycle:1.1.0-alpha06 vengono rilasciati. La versione 1.1.0-alpha06 contiene questi commit.

Modifiche alle API

  • Promuovi le API sperimentali di compensazione dell'esposizione per il core della fotocamera (I08ee8)
  • È stata aggiunta in CameraInfo un'API isFocusMeteringSupported che consente alle applicazioni di verificare se la specifica FocusMeteringAction è supportata o meno sulla fotocamera corrente. (Ib45ae, b/188606490).
  • API getResolutionInfo esposta per fornire informazioni sulla risoluzione per Preview, Image Capture e ImageAnalysis. (I2b613, b/188600718)
  • Sono state promosse le seguenti API sperimentali alle API ufficiali: FotocameraXConfig.Builder#setAvailableFotocamerasLimiter(), FotocameraXConfig.Builder#setMinimumLoggingLevel(), FotocameraXconfig.Builder#setSchedulerHandler(), FotocameraXConfig#getAvailableFotocamerasLimiter(), cameraXConfig#getMinimumLoggingLogging(), FotocameraXConfig#getFotocameraExecutor(), FotocameraXConfig.getSchedulerSchedulerScheduler
  • Interfaccia CameraProvider esposta per fornire l'accesso a un insieme di videocamere. (I1a7b1).
  • Promuovi l'API UseCaseGroup sperimentale per core della fotocamera, ciclo di vita della fotocamera e video della videocamera. Sono stati aggiunti ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection e ViewPort.Builder#setScaleType per personalizzare l'area visibile. (I7cee8).

Versione 1.1.0-alpha05

2 giugno 2021

androidx.camera:camera-camera2:1.1.0-alpha05, androidx.camera:camera-core:1.1.0-alpha05 e androidx.camera:camera-lifecycle:1.1.0-alpha05 vengono rilasciati. La versione 1.1.0-alpha05 contiene questi commit.

Modifiche alle API

  • Camera2CameraFilter corso rimosso. Suggerisci di selezionare la fotocamera in base a CameraFilter e recuperare le CameraCharacteristics o altre informazioni relative a Camera2 tramite Camera2FotocameraInfo, se necessario. (Ib887c)
  • Le API ExperimentalCameraFilter ora sono fuori dalla fase sperimentale e diventano API formali. Possono essere utilizzati senza attivazione annotata. (I4bc94).
  • È stata aggiunta l'API dello stato della videocamera esposta tramite CameraInfo#getCameraState(). (Ia86b4).
  • È stata aggiunta l'API sperimentale CameraInfo#getCameraSelector(), che restituisce un selettore CameraSelector univoco per la relativa fotocamera (I77f9f)

Correzioni di bug

  • Risolto il problema che non è stato possibile completare per l'opzione AscoltaableFuture che non è stato possibile completare in setZoomProporzioni e setLinearZoom su alcuni dispositivi Android 11 (I716d7)
  • Velocizza il cambio di fotocamera e riduci la percentuale di errori del dispositivo della fotocamera (I34c99)
  • È stato sostituito ExperimentalUseCaseGroupLifecycle con ExperimentalUseCaseGroup. (I3b2ef, b/159033688).

Versione 1.1.0-alpha04

21 aprile 2021

androidx.camera:camera-camera2:1.1.0-alpha04, androidx.camera:camera-core:1.1.0-alpha04 e androidx.camera:camera-lifecycle:1.1.0-alpha04 vengono rilasciati. La versione 1.1.0-alpha04 contiene questi commit.

Correzioni di bug

  • È stata corretta una perdita di memoria causata dall'accesso simultaneo di più thread alla stessa raccolta. La perdita di memoria potrebbe causare la conservazione dell'attività o del frammento da parte di un'istanza di anteprima. (I7b4b8).
  • L'annotazione @Experimental è stata sostituita con @RequiresOptIn nelle API sperimentali. Per chiamare le API sperimentali, utilizza androidx.annotation.OptIn anziché androidx.annotation.experimental.UseExperimental deprecato. (Iff226).
  • È stato corretto l'acquisizione di immagini con flash On/Auto che consente di acquisire immagini sbiadite su Samsung Galaxy S7. (I30001)
  • È stata aggiunta un'API CameraState che verrà esposta tramite CameraInfo. (I75392)

Versione 1.1.0-alpha03

24 marzo 2021

androidx.camera:camera-camera2:1.1.0-alpha03, androidx.camera:camera-core:1.1.0-alpha03 e androidx.camera:camera-lifecycle:1.1.0-alpha03 vengono rilasciati. La versione 1.1.0-alpha03 contiene questi commit.

Correzioni di bug

  • Quando sono attivate le modalità Estensioni, viene visualizzato il formato JPEG di output per ImageCapture#OnImageCapturedCallback. (I0d7b1)
  • Risolto il problema di inizializzazione sui dispositivi UMIDIGI BISON (I57d9e, b/180818665)
  • È stata corretta l'anteprima allungata di Samsung A3 in PreviewView. (Iacb30, b/180121821).

Versione 1.1.0-alpha02

24 febbraio 2021

androidx.camera:camera-camera2:1.1.0-alpha02, androidx.camera:camera-core:1.1.0-alpha02 e androidx.camera:camera-lifecycle:1.1.0-alpha02 vengono rilasciati. La versione 1.1.0-alpha02 contiene questi commit.

Modifiche alle API

  • È stata aggiunta un'API ProcessCameraProvider.getAvailableCameraInfos() per recuperare direttamente le informazioni sulle fotocamere disponibili, che sono tutte le fotocamere del dispositivo o quelle selezionate dall'CameraSelector fornito in CameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector). (Ieac08)

Correzioni di bug

  • CameraX ora prova a forzare l'apertura di una fotocamera al tentativo iniziale, questo potrebbe comportare la rimozione della videocamera da altri client videocamera quando la relativa app ha una priorità maggiore. (Iab069, b/175820568).
  • È stato risolto l'errore del test Robolectric quando setAvailableFotocamerasLimiter viene utilizzato in CameraXConfig. (Ice307)
  • Questa modifica rileva l'eccezione quando la coda delle immagini è al massimo in ImageAnalysis. Quindi, invece di arrestarsi in modo anomalo, potresti notare che altri casi d'uso si bloccano o sono lenti, ad esempio l'anteprima bloccata/lenta. (Ic12da, b/175851631).
  • Risolto il problema ExtensionsErrorListener per segnalare gli errori quando è associato solo Preview o ImageAcquisisci. (I5ae39).
  • È stata corretta la regressione delle prestazioni di Image Capture rimuovendo la convalida della posizione salvata dell'immagine prima di scattare una foto. Dopo aver apportato questa modifica, se la destinazione di salvataggio non è valida, ci vorrà più tempo per ricevere la risposta di errore perché proverà a salvare l'immagine dopo aver scattato la foto. (I1fd4e, b/177061560).
  • È stata corretta la regressione delle prestazioni di ImageAcquisisci con il tipo "File" OutputFileOptions. (I5164a, b/177061560)
  • Documentazione aggiornata per evitare l'utilizzo di ProcessCameraProvider.configureInstance(...) del codice libreria. (Ib8a9f)

Versione 1.1.0-alpha01

27 gennaio 2021

androidx.camera:camera-camera2:1.1.0-alpha01, androidx.camera:camera-core:1.1.0-alpha01 e androidx.camera:camera-lifecycle:1.1.0-alpha01 vengono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.

Correzioni di bug

  • Soluzione alternativa inclusa per i dati di immagini danneggiate intermittenti nei file JPEG sulla fotocamera posteriore SM-G930T. (I52001, b/159831206)
  • Risolto il problema IllegalArgumentException che si verificava quando tutte le dimensioni supportate per l'anteprima sono inferiori a 640 x 480 e le dimensioni di visualizzazione sono superiori a 640 x 480. (I2a63c, b/150506192).
  • Le risorse nelle librerie senza risorse pubbliche dichiarate esplicitamente (ad es. tramite Public.xml) ora sono private per impostazione predefinita. (Ia1dcc, b/170882230).

Camera-Fotocamera2, Camera-Core, & Camera-Lifecycle Versione 1.0.2

Versione 1.0.2

29 settembre 2021

androidx.camera:camera-camera2:1.0.2, androidx.camera:camera-core:1.0.2 e androidx.camera:camera-lifecycle:1.0.2 vengono rilasciati. La versione 1.0.2 contiene questi commit.

Correzioni di bug

  • Risolvi il problema per cui le foto scattate vengono sfocate in modalità MAXIMIZE_QUALITY. (I173a9, b/193823892)
  • Risolto il problema per cui l'immagine acquisita con il flash era scura su molti dispositivi. (I4e510).

Camera-Fotocamera2, Camera-Core, & Camera-Lifecycle Versione 1.0.1

Versione 1.0.1

21 luglio 2021

androidx.camera:camera-camera2:1.0.1, androidx.camera:camera-core:1.0.1 e androidx.camera:camera-lifecycle:1.0.1 vengono rilasciati. La versione 1.0.1 contiene questi commit.

Correzioni di bug

  • Risolto il problema che non è possibile completare per l'elemento ListenableFuture restituito in setZoomRatio e setLinearZoom su alcuni dispositivi Android 11 (I716d7)

  • Risolto il problema per cui la fotocamera si blocca nella chiusura dello stato della fotocamera su alcuni dispositivi e causa un'anteprima in nero. (I34c99)

Camera-Fotocamera2, Camera-Core, & Camera-Lifecycle Versione 1.0.0

Versione 1.0.0

5 maggio 2021

androidx.camera:camera-camera2:1.0.0, androidx.camera:camera-core:1.0.0 e androidx.camera:camera-lifecycle:1.0.0 vengono rilasciati. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

  • CameraX supporta Anteprima, ImageAcquisisci e Analisi
  • CameraX gestisce il ciclo di vita della fotocamera all'interno di un'API di facile utilizzo
  • CameraX mira a fornire un livello di compatibilità che risolva molti problemi nell'ecosistema della fotocamera Android

Problemi noti

Versione 1.0.0-rc05

21 aprile 2021

androidx.camera:camera-camera2:1.0.0-rc05, androidx.camera:camera-core:1.0.0-rc05 e androidx.camera:camera-lifecycle:1.0.0-rc05 vengono rilasciati. La versione 1.0.0-rc05 contiene questi commit.

Correzioni di bug

  • È stato corretto l'acquisizione di immagini con flash On/Auto che consente di acquisire immagini sbiadite su Samsung Galaxy S7. (I30001)

Versione 1.0.0-rc04

24 marzo 2021

androidx.camera:camera-camera2:1.0.0-rc04, androidx.camera:camera-core:1.0.0-rc04 e androidx.camera:camera-lifecycle:1.0.0-rc04 vengono rilasciati. La versione 1.0.0-rc04 contiene questi commit.

Correzioni di bug

  • Risolto il problema di inizializzazione sui dispositivi UMIDIGI BISON (I57d9e, b/180818665)

Versione 1.0.0-rc03

24 febbraio 2021

androidx.camera:camera-camera2:1.0.0-rc03, androidx.camera:camera-core:1.0.0-rc03 e androidx.camera:camera-lifecycle:1.0.0-rc03 vengono rilasciati. La versione 1.0.0-rc03 contiene questi commit.

Correzioni di bug

  • Correggi l'errore di formato nel documento di ProcessCameraProvider#getInstance
  • Risolto il problema relativo al test Robolectric durante l'utilizzo di setAvailableFotocamerasLimiter in CameraXConfig.
  • È stata corretta la regressione delle prestazioni di Image Capture rimuovendo la convalida della posizione salvata dell'immagine prima di scattare una foto. Dopo aver apportato questa modifica, se la destinazione di salvataggio non è valida, sarà necessario più tempo per ricevere la risposta di errore perché proverà a salvare l'immagine dopo aver scattato la foto
  • Questa modifica rileva l'eccezione quando la coda delle immagini è al massimo in ImageAnalysis. Pertanto, invece di arrestarsi in modo anomalo, potresti notare che altri casi d'uso si bloccano o sono lenti, ad esempio l'anteprima bloccata/lenta.
  • Soluzione alternativa inclusa per i dati di immagini danneggiate intermittenti nei file JPEG sulla fotocamera posteriore SM-G930T. (I52001, b/159831206)
  • Questa modifica rileva l'eccezione quando la coda delle immagini è al massimo in ImageAnalysis. Quindi, invece di arrestarsi in modo anomalo, potresti notare che altri casi d'uso si bloccano o sono lenti, ad esempio l'anteprima bloccata/lenta. (Ic12da, b/175851631).
  • È stato risolto l'errore del test Robolectric quando setAvailableFotocamerasLimiter viene utilizzato in CameraXConfig. (Ice307)
  • È stata corretta la regressione delle prestazioni di Image Capture rimuovendo la convalida della posizione salvata dell'immagine prima di scattare una foto. Dopo aver apportato questa modifica, se la destinazione di salvataggio non è valida, ci vorrà più tempo per ricevere la risposta di errore perché proverà a salvare l'immagine dopo aver scattato la foto. (I1fd4e, b/177061560).
  • È stata corretta la regressione delle prestazioni di ImageAcquisisci con il tipo "File" OutputFileOptions. (I5164a, b/177061560)

Versione 1.0.0-rc02

27 gennaio 2021

androidx.camera:camera-camera2:1.0.0-rc02, androidx.camera:camera-core:1.0.0-rc02 e androidx.camera:camera-lifecycle:1.0.0-rc02 vengono rilasciati. La versione 1.0.0-rc02 contiene questi commit.

Correzioni di bug

  • È stato risolto il problema LegalArgumentException quando tutte le dimensioni supportate per l'anteprima sono inferiori a 640 x 480 e le dimensioni di visualizzazione sono superiori a 640 x 480. (b/150506192)
  • Limita il numero di tentativi di riapertura della videocamera. Durante il tentativo di ripristino per alcuni problemi all'apertura della fotocamera, CameraX non tenterà più di riaprirla a tempo indeterminato, ma si interromperà dopo aver riprovato per 10 secondi.I435d2

  • Risolto il problema IllegalArgumentException che si verificava quando tutte le dimensioni supportate per l'anteprima sono inferiori a 640 x 480 e le dimensioni di visualizzazione sono superiori a 640 x 480. (I2a63c, b/150506192).

Versione 1.0.0-rc01

16 dicembre 2020

androidx.camera:camera-camera2:1.0.0-rc01, androidx.camera:camera-core:1.0.0-rc01 e androidx.camera:camera-lifecycle:1.0.0-rc01 vengono rilasciati. La versione 1.0.0-rc01 contiene questi commit.

Modifiche alle API

  • Filtro Fotocamera e Filtro Fotocamera2 per scattare Info fotocamera. (I6883d)
  • È stata aggiunta la classe sperimentale Camera2FotocameraControl per consentire l'interoperabilità con le API Camera2 in modo dinamico. (I45cf3)
  • Le informazioni Fotocamera2Fotocamera sono state rinominate#daInfoFotocamera in #da. (Ia2bd6).
  • È stata aggiunta un'API sperimentale setAvailableFotocamerasLimiter a FotocameraXConfig per consentire alle app di ottimizzare la latenza di inizializzazione evitando l'inizializzazione delle videocamere inutilizzate. (I6cf88).
  • Aggiunto il metodo sperimentale CameraXConfig.Builder#setMinimumLoggingLevel() per consentire l'impostazione di un livello di registrazione minimo per i log di CameraX. Se non viene configurato, il valore predefinito è Log#DEBUG. (Ic3245)

Correzioni di bug

  • Soluzione alternativa inclusa per i dati di immagini danneggiate intermittenti in JPEG sulla fotocamera posteriore SM-G930V. (I5aca5, b/159831206).
  • Risolto il problema per cui lo scatto di foto non ottiene risultati quando il flash è sempre attivo e l'ambiente è scuro sui dispositivi Samsung SM-A716. (If98b2, b/172036589).
  • Risolto il problema che non consentiva di interrompere l'anteprima chiamando il numero Preview.setSurfaceProvider(null). (I3ac18)
  • È stato risolto il problema di orientamento durante l'acquisizione di immagini 4:3 su alcuni dispositivi. (I0e3fb, b/171492111).

Camera Camera2, Core, & Lifecycle Versione 1.0.0-beta12

11 novembre 2020

androidx.camera:camera-camera2:1.0.0-beta12, androidx.camera:camera-core:1.0.0-beta12 e androidx.camera:camera-lifecycle:1.0.0-beta12 vengono rilasciati. La versione 1.0.0-beta12 contiene questi commit.

Correzioni di bug

  • Disattivazione del flash automatico sui dispositivi Samsung A3 per correggere l'arresto anomalo quando si scatta una foto con la modalità AE flash automatica sui dispositivi Samsung A3. (Ia5fe3, b/157535165).
  • Risolto il problema per cui l'anteprima veniva estesa sui dispositivi Nexus 4 con Android L (livelli API 21 e 22). (I4d407, b/158749159)
  • L'implementazione della classe base OnImageCapturedCallback#onCaptureSuccess non chiude più l'immagine. allo scopo di prevenire comportamenti inaspettati per gli sviluppatori. Gli sviluppatori non dovrebbero fare affidamento su super.on CaptureSuccess per chiudere l'immagine. (Ifbf9c)
  • La variante androidx dell'annotazione sperimentale è stata ritirata per fornire lo stesso valore a Kotlin. È stata sostituita dall'annotazione RichiedisoptIn e il linter rivolto a Java è stato aggiornato per supportare sia la nuova annotazione Kotlin sia la nuova variante androidx. (I52495, b/151331381)

Camera-Fotocamera2 Versione 1.0.0-beta11

14 ottobre 2020

androidx.camera:camera-camera2:1.0.0-beta11 viene rilasciato. La versione 1.0.0-beta11 contiene questi commit.

Nuove funzionalità

  • Supporta l'API CONTROL_ZOOM_RATIO Android 11 per lo zoom su dispositivi Android 11 o versioni successive che contengono CONTROL_ZOOM_RATIO_RANGE valido. (I62cc6)

Correzioni di bug

  • Risolto il problema NumberFormatException che si verificava quando l'ID videocamera è un ID fotocamera non intero. (Ib2228)
  • È stata migliorata la latenza dell'inizializzazione di CameraX e del bindToLifecycle (I61dc5)
  • La creazione di casi d'uso non richiede l'inizializzazione di CameraX per il completamento. Tutte le configurazioni specifiche dell'implementazione sono impostate su UseCase una volta collegata a un'istanza di Camera, che per l'API pubblica è ProcessCameraProvider.bindToLifecycle(). (Ia5411)
  • <UseCase>.getTargetRotation() restituirà Surface.ROTATION_0 se chiamato prima di essere associato a un'istanza Fotocamera, a meno che non sia stata impostata una rotazione target in Builder o nel caso d'uso. (I80fcd)

Camera-Core Versione 1.0.0-beta11

14 ottobre 2020

androidx.camera:camera-core:1.0.0-beta11 viene rilasciato. La versione 1.0.0-beta11 contiene questi commit.

Nuove funzionalità - Supporta l'API CONTROL_ZOOM_RATIO per Android 11 per lo zoom su dispositivi Android 11 o versioni successive che contengono CONTROL_ZOOM_RATIO_RANGE valido. (I62cc6)

Correzioni di bug

  • Risolto il problema NumberFormatException che si verificava quando l'ID videocamera è un ID fotocamera non intero. (Ib2228)
  • La creazione di casi d'uso non richiede l'inizializzazione di CameraX per il completamento. Tutte le configurazioni specifiche dell'implementazione sono impostate su UseCase una volta collegata a un'istanza di Camera, che per l'API pubblica è ProcessCameraProvider.bindToLifecycle(). (Ia5411)
  • <UseCase>.getTargetRotation() restituirà Surface.ROTATION_0 se chiamato prima di essere associato a un'istanza Fotocamera, a meno che non sia stata impostata una rotazione target in Builder o nel caso d'uso. (I80fcd)

Camera-Core Versione 1.0.0-beta10

23 settembre 2020

androidx.camera:camera-core:1.0.0-beta10 viene rilasciato. La versione 1.0.0-beta10 contiene questi commit.

Correzioni di bug

  • Correggi il bug nella convalida della destinazione di salvataggio del file per l'acquisizione delle immagini (I8c565, b/167697553)

Camera-Fotocamera2 Versione 1.0.0-beta10

23 settembre 2020

androidx.camera:camera-camera2:1.0.0-beta10 viene rilasciato. La versione 1.0.0-beta10 contiene questi commit.

Correzioni di bug

Camera-Fotocamera2 Versione 1.0.0-beta09

16 settembre 2020

androidx.camera:camera-camera2:1.0.0-beta09 viene rilasciato. La versione 1.0.0-beta09 contiene questi commit.

Modifiche alle API

  • Invece di fornire metodi statici, Camera2FotocameraInfo prende un'istanza CameraInfo creata per recuperare le informazioni relative a Camera2. (I5b844)

Correzioni di bug

  • È stato risolto il problema relativo alle proporzioni target sui tablet. Quando le proporzioni target sono impostate su AspectRatio.RATIO_16_9, è necessario selezionare una dimensione 16:9. (Ib7fcf, b/151969438).
  • Lancia un InitializationException per consentire all'app di gestire agevolmente l'errore AssertionError che si è verificato durante la creazione di CameraCharacteristics. (I89c8c, b/160524721).
  • Aggiunta di interfacce sperimentali per la compensazione dell'esposizione (If96c7)

Versione Camera-Core 1.0.0-beta09

16 settembre 2020

androidx.camera:camera-core:1.0.0-beta09 viene rilasciato. La versione 1.0.0-beta09 contiene questi commit.

Modifiche alle API

  • è stato corretto il bug per cui l'area visibile era contrassegnata come non null in UseCaseGroup. Gli sviluppatori devono essere in grado di creare un'area visibile senza impostare un'area visibile. (Ie3d2e).
  • Sono state aggiunte interfacce sperimentali per ExposureCompensation (If96c7)
  • Consenti la rotazione target arbitraria per l'anteprima. Le informazioni sulla trasformazione vengono calcolate e restituite all'utente all'istante tramite un nuovo callback TranformationInfoListener. (I21470)

Correzioni di bug

  • Risolto il problema per cui il flash su alcuni dispositivi non si disattivava. Si verifica quando la modalità flash è impostata su FLASH_MODE_ON per scattare una foto e viene impostata su FLASH_MODE_OFF quando viene attivato il flash. Il sintomo è simile all'attivazione della modalità torcia. (Ib4451, b/162568128).
  • È stato forzato l'utilizzo di PreviewView per TextureView se l'effetto dell'estensione è attivato e l'implementazione della libreria del fornitore deve eseguire un processo speciale nella piattaforma di output. (I0c3cc)
  • È stata corretta la fuga di attività/frammenti quando un contesto attività/frammento viene passato a ProcessCameraProvider.getInstance(Context).

Problemi noti

  • Quando è impostato ViewPort, il rettangolo di ritaglio di Image Capture potrebbe non essere corretto sui dispositivi che ruotano il buffer dell'immagine in HAL. Questo problema verrà risolto nella prossima release.

Camera-Fotocamera2 Versione 1.0.0-beta08

19 agosto 2020

androidx.camera:camera-camera2:1.0.0-beta08 viene rilasciato. La versione 1.0.0-beta08 contiene questi commit.

Correzioni di bug

  • È stato ottimizzato bindToLifecycle per un'esecuzione rapida nel thread principale. (I1d57e).
  • DisplayOrientedMeteringPoint Fabbrica prende un'istanza CameraInfo invece di CameraSelector, in modo da avere una mappatura diretta alla fotocamera per la quale la fabbrica genererà i punti. Tutte le classi che utilizzano DisplayOrientedMeteringPointIndustry acquisiscono anche un'istanza CameraInfo invece di CameraSelector. (I400c1)
  • È stato risolto il problema di raggruppamento delle dimensioni delle proporzioni con risoluzione automatica a causa del quale veniva selezionata una dimensione mod16 16:9 (864 x 480) quando la risoluzione target impostata è 2016 x 1080 ed esisteva un'altra dimensione 16:9 1920 x 1080 supportata. (I53167, b/159363774)
  • Risolvi il problema di CameraControl in cui non funziona per una condizione di gara (I2279f, b/152333890, b/160714166)

Versione Camera-Core 1.0.0-beta08

19 agosto 2020

androidx.camera:camera-core:1.0.0-beta08 viene rilasciato. La versione 1.0.0-beta08 contiene questi commit.

Modifiche alle API

  • DisplayOrientedMeteringPointFactory prende un'istanza CameraInfo anziché un'istanza CameraSelector, pertanto esiste una mappatura diretta alla fotocamera per la quale il produttore genererà i punti di accesso. Tutte le classi che utilizzano DisplayOrientedMeteringPointFactory prendono anche un'istanza CameraInfo anziché CameraSelector. (I400c1)

Correzioni di bug

  • Per l'acquisizione di immagini, sovrascrivi il flag dell'opzione Capovolgi orizzontale nei metadati in base alla direzione della fotocamera. (I28499)
  • L'inizializzazione non dovrebbe più arrestarsi in modo anomalo quando utilizzi un contesto che non restituisce un oggetto Application da Context.getApplicationContext(). (I3d3c9, b/160817073).

Camera-Fotocamera2 Versione 1.0.0-beta07

22 luglio 2020

androidx.camera:camera-camera2:1.0.0-beta07 viene rilasciato. La versione 1.0.0-beta07 contiene questi commit.

Correzioni di bug

  • Risolto il problema che causava il prolungamento dell'anteprima sul dispositivo Android 5.0 legacy. (I0c03a).
  • Sono state escluse alcune dimensioni supportate dal formato JPEG che causeranno problemi WYSIWYG su alcuni dispositivi. (Ib5128)

Versione Camera-Core 1.0.0-beta07

22 luglio 2020

androidx.camera:camera-core:1.0.0-beta07 viene rilasciato. La versione 1.0.0-beta07 contiene questi commit.

Modifiche alle API

  • Unisci lo stile di forma FIT_CENTER, FIT_START e FIT_END con FIT. FITsignifica che il rettangolo di ritaglio restituito sarà il rettangolo massimo possibile del sensore. (Ia73c3)
  • Il rettangolo di ritaglio dell'anteprima è configurato per area visibile. Solo l'area coperta dal rettangolo di ritaglio deve essere visibile agli utenti finali. (I142a4).

Correzioni di bug

  • Risolto il problema che causava il prolungamento dell'anteprima sul dispositivo Android 5.0 legacy. (I0c03a).
  • È stato risolto il problema dell'eccezione ConcurrentModificationException durante lo svincolo dei casi d'uso. (I371c0)

Camera-Fotocamera2 Versione 1.0.0-beta06

24 giugno 2020

androidx.camera:camera-camera2:1.0.0-beta06 viene rilasciato. La versione 1.0.0-beta06 contiene questi commit.

Modifiche alle API

  • Sono state aggiunte interfacce sperimentali per il filtro delle fotocamere in base all'ID e alle caratteristiche della fotocamera. (I28f61).

Correzioni di bug

  • Risolto il problema per cui startFocusAndMetering non riesce a concentrarsi correttamente su Samsung Galaxy S7. (If3be7, b/159039233).
  • Correggi il problema che non è possibile chiudere la fotocamera dopo l'uscita dall'app. (I7a7b3)
  • È stata corretta l'anteprima delle interruzioni ripetute del cambio di fotocamera quando si utilizza l'implementazione SurfaceView di PreviewView (I920ce)
  • CameraControl#startFocusAndMetering non riuscirà se nessuno dei MeteringPoint specificati può generare rettangoli di misurazione validi. (Id53ce)

Versione Camera-Core 1.0.0-beta06

24 giugno 2020

androidx.camera:camera-core:1.0.0-beta06 viene rilasciato. La versione 1.0.0-beta06 contiene questi commit.

Modifiche alle API

  • Sono state aggiunte interfacce sperimentali per il filtro delle fotocamere in base all'ID e alle caratteristiche della fotocamera. (I28f61).

Correzioni di bug

  • Ora è possibile configurare CameraX con ProcessCameraProvider#configureInstance() prima di chiamare il numero ProcessCameraProvider#getInstance(). Ciò consente la personalizzazione di CameraXConfig senza richiedere l'implementazione di CameraXConfig.Provider nella classe Applicazione dell'app. (Ia1a8d).
  • CameraControl#startFocusAndMetering non riuscirà se nessuno dei MeteringPoint specificati può generare rettangoli di misurazione validi. (Id53ce)

Camera-Fotocamera2 Versione 1.0.0-beta05

10 giugno 2020

androidx.camera:camera-camera2:1.0.0-beta05 viene rilasciato. La versione 1.0.0-beta05 contiene questi commit.

Correzioni di bug

  • È stato risolto il problema che causava l'arresto anomalo dell'app durante l'inizializzazione di CameraX mentre il telefono è in modalità Non disturbare. Un elemento InitializationException contiene un valore CameraUnavailableException che verrà impostato sul valore ListenableFuture del risultato dell'inizializzazione anziché causare l'arresto anomalo dell'applicazione. (I9909a, b/149413835)
  • È stato risolto l'arresto anomalo durante la chiamata a startFocusAndMetering su dispositivi su cui il valore CONTROL_AF_STATE è nullo. (Ife55e, b/157084254).

Versione Camera-Core 1.0.0-beta05

10 giugno 2020

androidx.camera:camera-core:1.0.0-beta05 viene rilasciato. La versione 1.0.0-beta05 contiene questi commit.

Modifiche alle API

  • È stato risolto il problema che causava l'arresto anomalo dell'app durante l'inizializzazione di CameraX mentre il telefono è in modalità Non disturbare. Un elemento InitializationException che contiene un CameraUnavailableException verrà impostato sul valore ListenableFuture del risultato dell'inizializzazione anziché causare l'arresto anomalo dell'applicazione. (I9909a, b/149413835)

Correzioni di bug

  • Sono stati aggiornati i documenti Java di setTargetResolution e setTargetRotation. (Iae16f)

Camera-Fotocamera2 Versione 1.0.0-beta04

27 maggio 2020

androidx.camera:camera-camera2:1.0.0-beta04 viene rilasciato. La versione 1.0.0-beta04 contiene questi commit.

Correzioni di bug

  • È consentito alle applicazioni impostare qualsiasi parametro della richiesta di acquisizione della fotocamera2 tramite Camera2Interop senza causare un arresto anomalo. Tieni presente che in caso di problemi a causa dell'override dei parametri. La stabilità e il comportamento non sono garantiti quando si sostituiscono i parametri con Camera2Interop. (Ibe5a1, b/149103700).
  • L'inizializzazione automatica è corretta quando si utilizza un'app su un dispositivo che usa una pseudo-lingua. (I3bef3, b/154767663).
  • Log degli errori convertito relativo a un caso d'uso scollegato in un log di debug su Camera2FotocameraImpl. (I1a565, b/154422490).
  • È stato risolto il problema per cui l'immagine scattata a volte era troppo scura anche se veniva attivato il flash. (I5d9fa, b/149729613).
  • Correggi il bug per cui il buffer in ImageProxy da ImageCapture non è stato riavvolto (I0c455, b/153249512)
  • Sono stati risolti i problemi per cui l'associazione solo di Image Capture: (1) Impossibile scattare foto con MAX_QUALITY; (2) È stata generata una cattiva qualità dell'immagine perché l'esposizione automatica non funziona. (I17782, b/145326998)
  • Maggiore affidabilità della riapertura della videocamera quando CameraX viene disconnessa da un altro processo o percorso di codice che ha sottratto la videocamera (I1fbc3, b/153714651)

Camera-Core Versione 1.0.0-beta04

27 maggio 2020

androidx.camera:camera-core:1.0.0-beta04 viene rilasciato. La versione 1.0.0-beta04 contiene questi commit.

Modifiche alle API

  • Aggiunge un'API sperimentale, CameraXConfig.Builder#setSchedulerHandler() per impostare il gestore utilizzato internamente dallo stack di videocamere CameraX. Questa nuova API, insieme a CameraXConfig.Builder#setCameraExecutor(), dovrebbe consentire il controllo completo sui thread utilizzati dallo stack di videocamere CameraX. (I7bf32, b/121160431)

Correzioni di bug

  • Corregge l'arresto anomalo in ImageAnalysis, durante il quale si accede a ImageProxy dopo la chiusura di ImageReaderProxy. Inoltre, questo fa sì che tutti gli ImageProxy ricevuti da Analyzer vengano chiusi prima della chiusura di ImageReaderProxy. (I4b299, b/145956416, b/154155377, b/156357269).
  • Parametro CameraInfo rimosso da PreviewView#createSurfaceProvider(). Ora PreviewView lo recupera internamente da SurfaceRequest. (If18f0, b/154652477)
  • L'inizializzazione automatica è corretta quando si utilizza un'app su un dispositivo che usa una pseudo-lingua. (I3bef3, b/154767663).
  • È stato risolto il problema per cui l'immagine scattata a volte era troppo scura anche se veniva attivato il flash. (I5d9fa, b/149729613).
  • Risolvi il problema con ImageAnalysis per cui più chiamate a setAnalizzar/clear analyzer impedivano all'analizzatore di ricevere immagini da analizzare. (I6169f, b/151605317, b/153514544).
  • Correggi il bug per cui il buffer in ImageProxy da ImageCapture non è stato riavvolto (I0c455, b/153249512)
  • Risolto il problema per cui non sempre è stata selezionata l'utilizzo della prima fotocamera nell'elenco delle app supportate da CameraManager. (I4c624, b/153418028).
  • È stato risolto l'arresto anomalo intermittente causato dall'impostazione del mancato rilascio di Preview.SurfaceProvider dalla piattaforma richiesta in precedenza. “java.lang.IllegalStateException: Camera surface session should only fail with request cancellation” (I8e4e7, b/155936225)

Camera-Fotocamera2 Versione 1.0.0-beta03

15 aprile 2020

androidx.camera:camera-camera2:1.0.0-beta03 viene rilasciato. La versione 1.0.0-beta03 contiene questi commit.

Correzioni di bug

  • Correzioni a supporto della release di camera-core

Camera-Core Versione 1.0.0-beta03

15 aprile 2020

androidx.camera:camera-core:1.0.0-beta03 viene rilasciato. La versione 1.0.0-beta03 contiene questi commit.

Correzioni di bug

  • È stata corretta la regressione della versione beta03, in cui la chiamata a bindToLifecycle() senza UseCase causava un'eccezione generata. Questo ha impedito il recupero di un oggetto Camera senza associare un UseCase.

Camera-Fotocamera2 Versione 1.0.0-beta02

1° aprile 2020

androidx.camera:camera-camera2:1.0.0-beta02 viene rilasciato. La versione 1.0.0-beta02 contiene questi commit.

Correzioni di bug

  • È stato corretto il valore ImageInfo.getRotationDegrees() del ImageProxy prodotto da ImageCapture in modo che corrisponda al valore di rotazione dell'orientamento EXIF. (Id4281, b/150802561)
  • L'ordinamento esplicito delle dipendenze CameraX all'interno di build.gradle non è più necessario per utilizzare l'implementazione predefinita di CameraX/Fotocamera2. Per i casi in cui è necessario dichiarare dipendenze rigorose, ora tutte le dipendenze CameraX possono essere incluse nel file di build. (I46e88).
  • È stato risolto il problema IllegalArgumentException che si verificava sui dispositivi con dimensioni del display inferiori a 640 x 480. (Ife3f2, b/150506192).
  • È stato corretto bindToLifecycle in modo che modifichi il caso d'uso solo se viene associato correttamente. In precedenza, quando si chiama bindToLifecycle per eseguire calcoli di risoluzione, il caso d'uso viene aggiornato. Ora non è più necessario aggiornare il caso d'uso per eseguire i calcoli (I78d9e)

Camera-Core Versione 1.0.0-beta02

1° aprile 2020

androidx.camera:camera-core:1.0.0-beta02 viene rilasciato. La versione 1.0.0-beta02 contiene questi commit.

Correzioni di bug

  • È stato corretto il valore ImageInfo.getRotationDegrees() del ImageProxy prodotto da ImageCapture in modo che corrisponda al valore di rotazione dell'orientamento EXIF. (Id4281, b/150802561)
  • È stato corretto bindToLifecycle in modo che modifichi il caso d'uso solo se viene associato correttamente. In precedenza, quando si chiama bindToLifecycle per eseguire calcoli di risoluzione, il caso d'uso viene aggiornato. Ora non è più necessario aggiornare il caso d'uso per eseguire i calcoli (I78d9e)
  • Risolto il problema per cui la sessione di acquisizione del caso d'uso Preview non veniva aggiornata quando la superficie di anteprima veniva modificata dopo aver chiamato Preview.setSurfaceProvider() più di una volta.

Camera-Fotocamera2 Versione 1.0.0-beta01

26 febbraio 2020

androidx.camera:camera-camera2:1.0.0-beta01 viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.

Correzioni di bug

  • È stato rinominato SurfaceRequest.setSurface(Surface) in SurfaceRequest.provideSurface(Surface) e SurfaceRequest.setWillNotComplete() in SurfaceRequest.willNotProvideSurface(). (I224fe)
  • Risolto il problema per cui le proporzioni di un'immagine salvata non venivano corrette dopo la modifica del valore di rotazione target utilizzando ImageCapture.setTargetRotation(). (I474ea, b/148763432).
  • È stata corretta l'inizializzazione delle varianti dell'app con ProGuard attivato mantenendo il flag che imposta il provider CameraXConfig predefinito. (I2d6c1).

Camera-Core Versione 1.0.0-beta01

26 febbraio 2020

androidx.camera:camera-core:1.0.0-beta01 viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.

Modifiche alle API

  • ListenableFuture sostituito il giorno SurfaceRequest.provideSurface() con Executor e Callback. Questo semplifica l'API perché non richiede più la gestione delle eccezioni su provideSurface() e impone l'impossibilità di annullare il callback provideSurface(). Questo per evitare gli arresti anomali sui dispositivi meno recenti causati dal rilascio anticipato delle piattaforme. L'oggetto SurfaceRequest.Result viene ora utilizzato per monitorare in che modo SurfaceRequest utilizza il valore Surface fornito. (I7854b)
  • Rinominato SurfaceRequest.setSurface(Surface) in SurfaceRequest.provideSurface(Surface) e SurfaceRequest.setWillNotComplete() in SurfaceRequest.willNotProvideSurface(). (I224fe)

Correzioni di bug

  • Risolto il problema per cui le proporzioni di un'immagine salvata non venivano corrette dopo la modifica del valore di rotazione target utilizzando ImageCapture.setTargetRotation(). (I474ea, b/148763432).
  • È stata corretta l'inizializzazione delle varianti dell'app con ProGuard attivato mantenendo il flag che imposta il provider CameraXConfig predefinito. (I2d6c1).
  • È stata aggiornata la documentazione per le API in modalità flash per includere i possibili valori. (I4a3ec)

Camera-Fotocamera2 Versione 1.0.0-alpha10

10 febbraio 2020

androidx.camera:camera-camera2:1.0.0-alpha10 viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.

Correzioni di bug

  • È stata migliorata la stabilità dei dispositivi INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY garantendo che i Surface vengano conservati solo per la durata di utilizzo della Fotocamera2. (I9dac2).
  • È stato risolto il problema di anteprima sottoesposto sui dispositivi LEGACY regolando correttamente CONTROL_AE_TARGET_FPS_RANGE. (1224638)

Camera-Core Versione 1.0.0-alpha10

10 febbraio 2020

androidx.camera:camera-core:1.0.0-alpha10 viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.

Modifiche alle API

  • Aggiornamento di ImageCapture completato per consentire il salvataggio delle immagini in Uri e OutputStream. Combinazione di metodi takePicture con sovraccarico in uno. App di test aggiornata in modo da utilizzare Uri come esempio canonico. (Ia3bec).
  • Preview.PreviewSurfaceProvider è stato rinominato in Preview.SurfaceProvider. Gli SurfaceProvider non richiedono più agli sviluppatori di creare il proprio ListenableFuture e la fornitura di un Surface viene ora eseguita tramite un nuovo oggetto SurfaceRequest. Il metodo Preview.getPreviewSurfaceProvider() è stato rimosso a causa del suo potenziale uso improprio quando Preview è abbinato ad altre classi, come PreviewView. (I20105)
  • Aggiunte getTargetRotation() e getTargetName() a Preview. (Iceee7)
  • Aggiunte getTargetRotation(), getBackpressureStrategy() e getImageQueueDepth() in ImageAnalysis. (I9d6d9).
  • Aggiunti getTargetRotation() e getCaptureMode() in ImageCapture() (I5bc17)
  • Gli argomenti precedentemente passati in ImageCapture.OnImageSavedCallback.onError() e ImageCapture.OnImageCapturedCallback.onError() sono stati sostituiti da un singolo argomento ImageCaptureException, che contiene ancora tutte le informazioni trasmesse in precedenza.
  • L'argomento del file precedentemente passato a ImageCapture.OnImageSavedCallback.onImageSaved() è stato rimosso. (I750d2)
  • I corsi Preview e ImageCapture sono ora contrassegnati come finali. (I2500b)
  • API aggiornata, con getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio() e getLinearZoom() metodi di CameraInfo unione in getZoomState() che restituisce un'istanza ZoomState. (Ib19fe)
  • I campi API OPTION_TARGET_CLASS e OPTION_TARGET_NAME sono stati rimossi da CameraXConfig in quanto destinati al solo utilizzo nelle librerie interne. Costruttore rimosso per CameraXConfig.Builder. (I96912)
  • Rimosso il requisito secondo cui l'app deve estendere Application per inizializzare CameraX. CameraX verrà ora inizializzata con una configurazione predefinita di Camera2, purché l'artefatto camera-camera2 sia incluso nell'elemento build.gradle dell'applicazione. (I58ff5) (b/146923574)

Camera-Fotocamera2 Versione 1.0.0-alpha09

22 gennaio 2020

androidx.camera:camera-camera2:1.0.0-alpha09 viene rilasciato. La versione 1.0.0-alpha09 contiene questi commit.

Modifiche alle API

  • Aggiungi il percorso di interoperabilità della camera2 per estrarre un ID videocamera2. Puoi estrarre l'ID fotocamera da CameraInfo utilizzando Camera2CameraInfo.extractCameraId(). Nell'esempio di codice riportato di seguito viene illustrato come utilizzare questa funzionalità:

    Camera camera = provider.bindToLifecycle(...);
    String cameraId =
        Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
    

    La classe Camera2CameraInfo richiede il parametro ExperimentalCamera2Interop MarkClass.

Camera-Core Versione 1.0.0-alpha09

22 gennaio 2020

androidx.camera:camera-core:1.0.0-alpha09 viene rilasciato. La versione 1.0.0-alpha09 contiene questi commit.

Modifiche alle API

  • Il parametro SurfaceOrientedMeteringPointFactory useCaseForSurface è stato rinominato in useCaseForAspectRatio e la documentazione di riferimento è stata ampliata.
  • I metodi FocusMeteringAction.Builder.from() vengono sostituiti dai costruttori FocusMeteringAction.Builder().
  • Rimosso DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float). Le applicazioni devono utilizzare il costruttore che richiede un parametro Display e passa alla visualizzazione corrente.
  • Miglioramenti a Javadoc per le API di misurazione e concentrazione relative ai flag MeteringMode e 3A e all'utilizzo del parametro Display.
  • È stata estesa la documentazione di riferimento per setZoomRatio e setLinearZoom.

Correzioni di bug

  • Sono stati risolti i problemi di chiusura e apertura delle videocamere, che causavano l'errore del controllo "Precondizione".
  • È stato corretto un ConcurrentModificationException che poteva verificarsi durante l'utilizzo delle API torcia e zoom.
  • È stato risolto il problema per selezionare risoluzioni più vicine a quella richiesta quando è disponibile una dimensione mod16.
  • Le API startFocusMetering e cancelFocusMetering ora si comportano come documentato, con tempistiche corrette e potrebbero restituire errori quando si verificano.
  • È stato risolto il problema quando veniva richiesta una risoluzione target specifica con proporzioni di ritaglio su un dispositivo che non supporta queste dimensioni. Ora, se disponibile, verrà selezionata una dimensione non ritagliata con risoluzione sufficiente per associare la richiesta originale.

Camera-Fotocamera2 Versione 1.0.0-alpha08

18 dicembre 2019

androidx.camera:camera-camera2:1.0.0-alpha08 viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.

Problemi noti

  • Non tutte le opzioni di richiesta di acquisizione di Camera2 funzionano quando si utilizza l'interoperabilità di Camera2. Se l'opzione richiesta non è supportata, la sessione non si avvia e potrebbe verificarsi un errore come questo: 09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination

Correzioni di bug

  • Risolto il problema per cui veniva visualizzata una schermata nera di anteprima dopo aver ruotato o cambiato la fotocamera per i livelli API 21 e 22.

Modifiche alle API

  • Sperimentale: è stato aggiunto un percorso di interoperabilità della videocamera2 per l'estrazione dell'ID della videocamera.

Camera-Core Versione 1.0.0-alpha08

18 dicembre 2019

androidx.camera:camera-core:1.0.0-alpha08 viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.

Problemi noti

  • Le app che usano PreviewView o CameraView potrebbero avere un'anteprima delle proporzioni errate. Questo accade dopo la pausa o la ripresa su alcuni dispositivi COMPLETI, come Pixel2.

Correzioni di bug

  • È stata aggiornata la documentazione per FocusMeteringAction e CameraControl.
  • TorchControl implementata per enableTorch() e getTorchState().

Modifiche alle API

  • Ha nascosto IntDefs e ha spostato le costanti IntDef al di fuori della definizione di IntDef.
  • Elemento rotationDegrees spostato dal corso OnImageCaptureCallback al corso ImageInfo.
  • Elemento rotationDegrees spostato dal corso Analyzer al corso ImageInfo.

Camera-Fotocamera2 Versione 1.0.0-alpha07

4 dicembre 2019

androidx.camera:camera-camera2:1.0.0-alpha07 viene rilasciato. La versione 1.0.0-alpha07 di camera-camera2 contiene questi commit

  • Ora puoi utilizzare Camera2Config per l'inizializzazione e la configurazione di un'implementazione basata su Camera2 per CameraX. Ulteriori dettagli su come utilizzare questa funzionalità nell'inizializzazione sono disponibili nella sezione dedicata al core della fotocamera delle note di rilascio.
  • La funzionalità di interoperabilità della videocamera 2 è ora contrassegnata come sperimentale e spostata in un pacchetto separato, androidx.camera.camera2.interop.

Camera-Core Versione 1.0.0-alpha07

4 dicembre 2019

androidx.camera:camera-core:1.0.0-alpha07 viene rilasciato. La versione 1.0.0-alpha07 di camera-core contiene questi commit

Tieni presente che sono state apportate alcune modifiche sostanziali a questa release alpha mentre ci prepariamo alla versione beta. Ti consigliamo di esaminare le modifiche e di condividere il tuo feedback sul gruppo Google FotocameraX. Agli sviluppatori che utilizzano CameraX in app disponibili sul Play Store consigliamo di attendere la release beta formale prima di eseguire l'upgrade della libreria all'interno delle applicazioni.

Modifiche alle API

  • Importante: l'inizializzazione di CameraX è cambiata. Le applicazioni devono implementare CameraXConfig.Provider e utilizzare il valore predefinito di Camera2Config fornito da androidx.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() e hasCamera() precedentemente forniti tramite la chiamata di classe CameraX sono ora disponibili tramite ProcessCameraProvider.

  • Un'istanza di ProcessCameraProvider per processo viene ottenuta in modo asincrono utilizzando il metodo statico ProcessCameraProvider.getInstance(), che restituisce un futuro ascoltabile, che fornisce ProcessCameraProvider al completamento. Qui è mostrata in onCreate() per un utilizzo tipico. Puoi effettuare chiamate a getInstance() in una fase successiva del ciclo di vita dell'attività per rimandare la latenza di inizializzazione a una data successiva (ad esempio quando un'azione utente apre l'UI della videocamera).

    import androidx.camera.lifecycle.ProcessCameraProvider
    import com.google.common.util.concurrent.ListenableFuture
    
    class MainActivity : AppCompatActivity() {
       private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider>
       override fun onCreate(savedInstanceState: Bundle?) {
           cameraProviderFuture = ProcessCameraProvider.getInstance(this);
      }
    
  • È possibile aggiungere un listener ai ListenableFuture restituiti da getInstance(). In questo modo puoi recuperare il fornitore della videocamera da Future senza bloccare il dispositivo su Future.get()

    cameraProviderFuture.addListener(Runnable {
      val cameraProvider = cameraProviderFuture.get()
      cameraProvider.bindToLifecycle(...)
    }, ContextCompat.getMainExecutor(this))
    
  • La selezione della videocamera viene ora effettuata tramite un selettore, anziché in base al caso d'uso.

    val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
    
  • A CameraProvider.bindToLifecycle vengono assegnati il proprietario del ciclo di vita, il selettore della videocamera e i casi d'uso, che vengono poi associati al proprietario del ciclo di vita specificato e vengono eseguiti per la videocamera selezionata.

    cameraProvider.bindToLifecycle(this as LifecycleOwner,
           cameraSelector, preview, imageAnalysis)
    
  • Le classi "Config" del caso d'uso vengono rimosse. Puoi invece creare direttamente i casi d'uso, impostando le opzioni su ogni generatore di casi d'uso. Ecco alcuni esempi:

    preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
    
  • Il caso d'uso Anteprima è stato aggiornato in modo da accettare una piattaforma creata e gestita dall'applicazione al fine di garantire le best practice di Android. Si consiglia di utilizzare la classe di visualizzazione PreviewView fornita nel pacchetto di visione della videocamera.

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • Consulta la documentazione per il collegamento di una piattaforma gestita dall'app. In questi casi, l'app gestisce il ciclo di vita della piattaforma.

  • Importante: l'implementazione del metodo di analisi ImageAnalysis deve chiamare image.close() sulle immagini ricevute al termine dell'utilizzo. In caso contrario, potrebbe non ricevere nuove immagini o la fotocamera potrebbe bloccarsi, a seconda dell'impostazione della contropressione. Per informazioni dettagliate, consulta la documentazione di riferimento.

  • ImageAnalysis ImageReaderMode è stato cambiato in una strategia di contropressione intdef.

  • ImageProxy.getImage() è contrassegnato come sperimentale. Le applicazioni devono annotare l'utilizzo, ad esempio tramite @androidx.camera.core.ExperimentalGetImage

  • Il requisito di annotazione UIThread per Analyzer è stato rimosso.

  • La funzione ImageAnalysis.clearAnalyzer() è stata aggiunta per rimuovere un analizzatore.

  • I listener con più di un metodo sono stati rinominati in Callback:

    • ImageCapture.OnImageCapturedListener ora è ImageCapture.OnImageCapturedCallback
    • ImageCapture.OnImageSavedListener ora è ImageCapture.OnImageSavedCallback
    • VideoCapture.OnVideoSavedListener ora è VideoCapture.OnVideoSavedCallback
  • Le enum sono state modificate in IntDef

  • I controlli dello zoom sono stati aggiunti:

    • CameraControl.setLinearZoom()
    • CameraControl.setZoomRatio()
    • CameraInfo.getLinearZoom()
    • CameraInfo.getMaxZoomRatio()
    • CameraInfo.getZoomRatio()
  • Viene aggiunto CameraInfo.hasFlashUnit() per determinare se è presente hardware flash/torcia.

  • Il partner CameraInfo.isFlashAvailable() è stato rimosso. La torcia sostituisce la funzionalità flash. Ulteriori dettagli sono disponibili nella documentazione di riferimento.

  • ImageCapture.Metadata campi sono sostituiti dalle funzioni di accesso get/set/is.

  • startFocusMetering e cancelFocusMetering ora restituiscono ListenableFutures, che rappresenta l'operazione asincrona della chiamata.

  • Gli MeteringPoints funzionano come handle per le azioni di misurazione e sono prodotti dalle fabbriche. Le app dovrebbero usare gli fabbriche esistenti anziché quelli personalizzati.

Problemi risolti

  • È stato risolto il problema relativo allo scatto di una foto al ripristino (dopo una pausa precedente aveva lo scatto di foto in attesa del completamento).
  • Problema noto: CameraControl.enableTorch() funziona, ma il valore ListenableFuture<Void> restituito è sempre un complete(success) futuro immediato, anche se non è presente un'unità flash. Le versioni future risolveranno il problema con il comportamento finale: in assenza di unità Flash, enableTorch(true) si arresterà immediatamente (non invierà la richiesta a CaptureSession) e TorchState rimarrà disattivato.
  • Problema noto: startFocusAndMetering e cancelFocusAndMetering avviano e annullano la misurazione della messa a fuoco, ma restituiscono immediatamente un futuro completed (success) che non rappresenta il comportamento documentato. FocusMeteringResult di ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering() è un risultato falso, che isFocusSuccessful() ed è sempre "falso", a differenza di un comportamento previsto e documentato.
  • Problema noto: è in fase di sviluppo una fabbrica di punti di misurazione da utilizzare con gli eventi tocco PreviewView. Per il momento, le app che collegano piattaforme gestite personalizzate possono utilizzare le fabbriche di punti di misurazione esistenti, altrimenti non è disponibile alcuna funzionalità di touch focus per PreviewView.

Camera-Fotocamera2 e Camera-Core versione 1.0.0-alpha06

9 ottobre 2019

androidx.camera:camera-camera2:1.0.0-alpha06 e androidx.camera:camera-core:1.0.0-alpha06 vengono rilasciati. Si tratta dei commit inclusi in camera-camera2:1.0.0-alpha06 e dei commit inclusi in camera-core:1.0.0-alpha06.

Nuove funzionalità

Modifiche all'impostazione delle proporzioni:

  • setTargetAspectRatioMode() è stato aggiunto e accetta un argomento enum. Imposta la modalità proporzioni con le opzioni RATIO_4_3 o RATIO_16_9 invece di proporzioni arbitrarie. Ciò riflette maggiormente il fatto che la fotocamera fornisce solo alcune proporzioni, piuttosto che qualsiasi rapporto arbitrario.
    • Attualmente, le uniche proporzioni disponibili sono 16:9 e 4:3. Nel caso del rapporto 1:1, solo alcuni dispositivi dispongono della funzione dalla fotocamera e solo a risoluzioni limitate. Le applicazioni che progettano un'interfaccia o un'elaborazione 1:1 dovrebbero utilizzare le opzioni 16:9 o 4:3 più flessibili e ritagliare il display o elaborare una sottoregione.
    • Queste proporzioni sono orientate in modo da utilizzare l'area massima del sensore.
  • getTargetAspectRatio() è stato aggiunto alle API di configurazione dei casi d'uso, restituendo le proporzioni scelte come target dell'output del caso d'uso.
  • Il metodo setTargetAspectRatio(Rational aspectRatio) per Image Capture è stato modificato in setTargetAspectRatioCustom(Rational aspectRatio). Se impostato, l'output di Image Capture verrà ritagliato di conseguenza.

API esecutore

  • Le seguenti funzioni accettano un parametro esecutore, che consente all'app di controllare su quale esecutore viene eseguita la funzione.
    • l'API Preview.setOnPreviewOutputUpdateListener(). Se l'esecutore non è presente per quella funzione, viene eseguito nel thread principale.
    • Preview.setOnPreviewOutputUpdateListener
    • FocusMeteringAction.Builder.setAutoFocusCallback
    • ImageAnalysis.setAnalyzer
    • ImageCapture.takePicture
    • CameraView.takePicture
    • CameraView.startRecording
    • VideoCapture.startRecording

CameraInfo aggiunta con il controllo delle API Flash disponibile e Rotazione sensore

  • Sono stati aggiunti CameraInfo e un metodo getCameraInfo, che consente alle app di verificare se è disponibile un obiettivo rivolto verso la fotocamera e se è disponibile un flash sulla fotocamera. Ecco alcuni esempi:

    try {
        CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing);
        LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable();
        flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE);
    } catch (CameraInfoUnavailableException e) {
        Log.w(TAG, "Cannot get flash available information", e);
        flashToggle.setVisibility(View.VISIBLE);
    }
    
  • Membri aggiunti: CameraInfo.getSensorRotationDegrees() Fornisce l'orientamento del sensore della videocamera rispetto all'orientamento naturale del dispositivo o, per praticità, rispetto a un orientamento descritto da una rotazione della superficie (che descrive un orientamento relativo all'orientamento naturale).

Modifiche relative all'API e correzioni di bug

  • Proporzioni: per ogni caso d'uso, le applicazioni devono chiamare solo setTargetResolution() o setTargetAspectRatio(). La chiamata di entrambi dallo stesso generatore restituisce un errore.
    • In generale, si consiglia di utilizzare setTargetAspectRatio() in base al design dell'interfaccia utente dell'applicazione. Le risoluzioni specifiche si basano sul caso d'uso. Ad esempio, l'anteprima si avvicina alle risoluzioni dello schermo, mentre l'acquisizione delle immagini fornisce immagini ad alta risoluzione. Per saperne di più, consulta la tabella delle risoluzioni automatiche.
    • Utilizza setTargetResolution() per casi più specifici, ad esempio quando sono richieste risoluzioni minime (per risparmiare sui calcoli) o massime (per i dettagli dell'elaborazione).
  • API Executor: è stata rimossa la chiamata setCallbackHandler() dalle API di configurazione dei casi d'uso. Le applicazioni possono invece impostare l'esecutore come parametro in varie altre API che impostano un callback.
  • Annotazioni null aggiornate per varie funzioni.
  • Risolto un problema che ha causato il lancio di java.lang.IllegalStateException at Camera$StateCallback.onError all'apertura della fotocamera.
  • È stato risolto il problema per cui venivano selezionate risoluzioni troppo piccole (meno di 640 x 480) quando l'app richiedeva risoluzioni più grandi o predefinite con conseguente immagine di anteprima sfocata o bloccata. Le applicazioni che hanno bisogno specificamente di risoluzioni più piccole possono richiederle esplicitamente.
  • Risolto il problema per cui la fotocamera mostrava lo schermo nero (impossibile avviare la fotocamera) dopo il ritorno da un intent che avviava un'altra applicazione fotocamera.
  • Risolto un bug che causava il seguente errore quando le app venivano avviate o arrestate ripetutamente: java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
  • Risolto il seguente errore che si verificava durante la disattivazione di ImageAnalysis: java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
  • Sono stati aggiunti altri test per il flusso di disconnessione della videocamera.
  • Robustezza del sistema di test migliorata durante l'esecuzione di test della fotocamera posteriore.

Camera-Fotocamera2 e Camera-Core Versione 1.0.0-alpha05

5 settembre 2019

androidx.camera:camera-camera2:1.0.0-alpha05 e androidx.camera:camera-core:1.0.0-alpha05 vengono rilasciati. Questi sono gli impegni inclusi in camera-camera2:1.0.0-alpha05 e i commit inclusi camera-core:1.0.0-alpha05.

  • Cambio API: rinominate variabili di errore dei casi d'uso:

    • Il nome di ImageCapture.UseCaseError è stato cambiato in ImageCapture.ImageCaptureError
    • Il nome di VideoCapture.UseCaseError è stato cambiato in VideoCapture.VideoCaptureError
  • Aggiunta API CameraControl con API Tap-to-Focus

    • È stata aggiunta un'API per ottenere un CameraControl da CameraX per una fotocamera, selezionata dall'obiettivo rivolto:

      CameraX.getCameraControl(LensFacing lensFacing)

    • Sono stati aggiunti MeteringPointFactory, MeteringPoint, MeteringMode e FocusMeteringAction per eseguire Tocca per mettere a fuoco:

      MeteringPointFactory factory = new SensorOrientedMeteringPointFactory(width, height);
      MeteringPoint point = factory.createPoint(x, y);
      FocusMeteringAction action = FocusMeteringAction.Builder.from(point,
                                       MeteringMode.AF_ONLY)
          .addPoint(point2, MeteringMode.AE_ONLY) // could have many
          .setAutoFocusCallback(new OnAutoFocusListener(){
              public void onFocusCompleted(boolean isSuccess) {
              }
          })
          // auto calling cancelFocusAndMetering in 5 sec.
          .setAutoCancelDuration(5, TimeUnit.Second)
          .build();
      
    • È stata aggiunta l'API per CameraControl per avviare e annullare la misurazione della messa a fuoco:

      getCameraControl(lensFacing).startFocusAndMetering(action); getCameraControl(lensFacing).cancelFocusAndMetering();

    • Sono state aggiunte le API per le fabbriche di punti di misurazione che aiutano a tradurre le coordinate di tocco in coordinate del sensore, in base alle classi delle viste:

      MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView); MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);

  • Forza la chiamata ai seguenti metodi nel thread principale (UI), generando un IllegalStateException quando non lo sono. Le versioni future consentiranno l'utilizzo di altri thread e assicureranno la serializzazione.

    • CameraX.bindToLifecycle()
    • CameraX.unbind()
    • CameraX.unbindAll()
    • ImageAnalysis.setAnalyzer()
    • ImageAnalysis.getAnalyzer()
    • ImageAnalysis.removeAnalyzer()
    • Preview.removePreviewOutputListener()
    • Preview.getOnPreviewOutputUpdateListener()
    • Preview.setOnPreviewOutputUpdateListener()
  • Ora varie impostazioni di configurazione accettano parametri nulli e i getter corrispondenti potrebbero restituire valori nulli.

  • È stato risolto il problema relativo ai test su emulatori che non supportano le impostazioni AF/AE/AWB.

  • È stato corretto un bug di arresto anomalo durante la rotazione dell'immagine.

  • È stato corretto il bug per cui l'anteprima appare nera all'avvio (nessun dato della fotocamera), dopo la rotazione o il passaggio dalla fotocamera anteriore a quella posteriore e viceversa.

  • Sono stati rimossi i test per più casi d'uso di analisi delle immagini simultanee. Per garantire la compatibilità, le applicazioni devono collegare un solo caso d'uso di analisi delle immagini.

  • Sono stati aggiunti i test robolectrici iniziali per la videocamera falsa nella suite di test della videocamera (in fase di elaborazione).

  • Il test Camera2Inititalizer è stato rimosso perché la sua copertura non era chiara/fuorviante.

Camera-Fotocamera2 e Camera-Core versione 1.0.0-alpha04

7 agosto 2019

androidx.camera:camera-camera2:1.0.0-alpha04 e androidx.camera:camera-core:1.0.0-alpha04 vengono rilasciati. La versione 1.0.0-alpha04 contiene questi commit.

Nuove funzionalità

Modifiche alla selezione di proporzioni e risoluzione

L'obiettivo di CameraX è inizializzare correttamente una sessione della videocamera. Ciò significa che CameraX compromissioni del rapporto risoluzione/aspetto in base alle capacità del dispositivo, al fine di avviare una sessione di acquisizione come primo obiettivo, quindi le richieste esatte potrebbero non essere soddisfatte. Ciò può essere dovuto a:

  • Dispositivi che non supportano la risoluzione richiesta
  • Problemi di compatibilità, ad esempio su dispositivi LEGACY, per i quali è necessario utilizzare determinate risoluzioni per funzionare correttamente
  • Su alcuni dispositivi, determinati formati sono disponibili solo con alcune proporzioni
  • Una preferenza per "Mod16 più vicino" per la codifica JPEG o video. Consulta la sezione CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP

Anche se CameraX crea e gestisce la sessione, devi sempre controllare le dimensioni delle immagini restituite nell'output del caso d'uso nel tuo codice e modificarle di conseguenza.

Sono state apportate alcune modifiche all'impostazione delle risoluzioni e delle proporzioni allo scopo di rendere l'API più chiara:

  • Ora il caso d'uso dell'anteprima ha proporzioni predefinite di 4:3 quando non ne è impostata nessuna.
  • Quando CameraX considera internamente le modifiche alle risoluzioni e alle proporzioni richieste in base alle capacità del dispositivo, prova innanzitutto a mantenere le stesse proporzioni (come stabilito da una qualsiasi chiamata setTargetAspectRatio o setTargetResolution)
  • Una versione "mod16 più vicina" della risoluzione viene considerata con le stesse proporzioni.

Modalità senza blocco dell'analisi delle immagini

  • Il comportamento di ImageReaderMode.ACQUIRE_LATEST_IMAGE ora non blocca. Acquisisce l'ultima immagine in coda, ma ignora continuamente le immagini inutilizzate per consentire alla pipeline della fotocamera di evitare il blocco.
  • L'analizzatore può archiviare una singola immagine per sempre senza bloccare la pipeline.
  • Se l'applicazione fornisce un esecutore che poi blocca, il caso d'uso ImageAnalysis blocca.
  • L'esecutore predefinito impostato internamente si comporta come un esecutore che non blocca.

Correzioni di bug

  • Sono stati risolti i problemi di timeout in attesa della convergenza di 3A durante l'acquisizione di immagini su dispositivi privi di messa a fuoco automatica, esposizione automatica e bilanciamento automatico del bianco
  • È stato risolto il problema che si verificava durante lo scatto rapido di immagini con Image Capture. Correzioni dell'errore: java.lang.IllegalStateException: maxImages (2) has already been acquired
  • È stato risolto il problema in cui setLensFacing non è stata chiamata per un caso d'uso, causando così il problema java.lang.IllegalArgumentException: Unable to get camera ID for use case.
  • Risolto il problema per cui il dispositivo LEGACY richiedeva proporzioni specifiche come risoluzione JPEG massima
  • È stato risolto il problema relativo allo sfondo dell'app durante l'apertura della fotocamera
  • Risolto il problema sull'API < 25, con la rimozione dell'errore checkAndUpdateEglState: invalid current EGLDisplay
  • È stato risolto il problema relativo allo scollegamento dell'anteprima dopo l'attivazione e l'avvio delle estensioni
  • Gli elementi della creazione per le estensioni fotocamera e per le estensioni fotocamera sono ora pubblicati come versioni alpha

Camera-Fotocamera2 e Camera-Core versione 1.0.0-alpha03

2 luglio 2019

androidx.camera:camera-core:1.0.0-alpha03 e androidx.camera:camera-camera2:1.0.0-alpha03 vengono rilasciati. La versione 1.0.0-alpha03 contiene questi commit.

Modifiche alle API

  • È stato aggiunto un chiarimento javadoc per "target" nelle chiamate di configurazione setTarget

Principale della fotocamera

  • Risolto il problema dell'arresto anomalo delle superfici di input/output non configurate in caso di apertura/chiusura rapida o di associazione/slegatura
  • Passa a nuove implementazioni Futures
  • Correzioni di test per test più affidabili
  • Il test di integrazione principale ora mostra il tempo di acquisizione delle foto
  • Sviluppo della classe di compatibilità interna per gli esecutori
  • Il test di temporizzazione delle immagini dell'acquisizione dell'app attende il completamento della precedente e una migliore stabilità

Estensioni

  • Controlli di controllo delle versioni aggiunti
  • Copertura di test aggiuntiva: callback degli eventi delle estensioni
  • Miglioramenti per l'immagine e i metadati corrispondenti internamente
  • Correzioni al cambio di modalità nell'app di prova

Camera-Fotocamera2 e Camera-Core versione 1.0.0-alpha02

5 giugno 2019

androidx.camera:camera-core:1.0.0-alpha02 e androidx.camera:camera-camera2:1.0.0-alpha02 vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.

Correzioni di bug

  • Risolto il problema relativo ai valori div per zero durante l'utilizzo dell'emulatore
  • È stato corretto l'errore NullPointerException/Surface richiesti (abbandono abbandonato) che si verificava su alcuni dispositivi quando si scattano foto rapidamente e si svincolano e si rivincola rapidamente i casi d'uso.
  • Risolto il problema interno per garantire che gli aggiornamenti delle richieste di acquisizione abbiano effetto coerente su tutte le piattaforme
  • Miglioramenti della stabilità al riavvio dei casi d'uso in nuove istanze di app
  • Modifiche interne all'architettura per prepararsi al supporto degli esecutori nell'API
  • Ulteriori chiarimenti su Javadoc sulla classe CameraX e sulla gestione del ciclo di vita
  • Aggiunta dei test strumentati per l'app di test delle prestazioni Antelope
  • Rimuovi la necessità di "-keepattributes Signature" nella configurazione di Proguard dell'app

Camera-Fotocamera2 e Camera-Core 1.0.0-alpha01

7 maggio 2019

Vengono rilasciate le versioni androidx.camera:camera-core:1.0.0-alpha01 e androidx.camera:camera-camera2:1.0.0-alpha01. La versione 1.0.0-alpha01 contiene questi commit.

Ciclo di vita della fotocamera versione 1.0.0-beta11

14 ottobre 2020

androidx.camera:camera-lifecycle:1.0.0-beta11 viene rilasciato. La versione 1.0.0-beta11 contiene questi commit.

Correzioni di bug

  • <UseCase>.getTargetRotation() restituirà Surface.ROTATION_0 se chiamato prima di essere associato a un'istanza Fotocamera, a meno che non sia stata impostata una rotazione target in Builder o nel caso d'uso. (I80fcd)

Ciclo di vita della fotocamera versione 1.0.0-beta10

23 settembre 2020

androidx.camera:camera-lifecycle:1.0.0-beta10 viene rilasciato. La versione 1.0.0-beta10 contiene questi commit.

Correzioni di bug

Ciclo di vita della fotocamera versione 1.0.0-beta09

16 settembre 2020

androidx.camera:camera-lifecycle:1.0.0-beta09 viene rilasciato. La versione 1.0.0-beta09 contiene questi commit.

Ciclo di vita della fotocamera versione 1.0.0-beta08

19 agosto 2020

androidx.camera:camera-lifecycle:1.0.0-beta08 viene rilasciato. La versione 1.0.0-beta08 contiene questi commit.

Correzioni di bug

  • L'inizializzazione non dovrebbe più arrestarsi in modo anomalo quando utilizzi un contesto che non restituisce un oggetto Application da Context.getApplicationContext(). (I3d3c9, b/160817073).

Ciclo di vita della fotocamera versione 1.0.0-beta07

22 luglio 2020

androidx.camera:camera-lifecycle:1.0.0-beta07 viene rilasciato. La versione 1.0.0-beta07 contiene questi commit.

Ciclo di vita della fotocamera versione 1.0.0-beta06

24 giugno 2020

androidx.camera:camera-lifecycle:1.0.0-beta06 viene rilasciato. La versione 1.0.0-beta06 contiene questi commit.

Modifiche alle API

  • CameraX può ora essere configurata con ProcessFotocameraProvider#configureInstance() prima di chiamare ProcessFotocameraProvider#getInstance(). Ciò consente la personalizzazione di CameraXConfig senza richiedere l'implementazione di CameraXConfig.Provider nella classe dell'applicazione dell'app. (Ia1a8d).

Ciclo di vita della fotocamera versione 1.0.0-beta05

10 giugno 2020

androidx.camera:camera-lifecycle:1.0.0-beta05 viene rilasciato. La versione 1.0.0-beta05 contiene questi commit.

Correzioni di bug

  • È stato risolto il problema che causava l'arresto anomalo dell'app durante l'inizializzazione di CameraX mentre il telefono è in modalità Non disturbare. Un elemento InitializationException che contiene un CameraUnavailableException verrà impostato sul valore ListenableFuture del risultato dell'inizializzazione anziché causare l'arresto anomalo dell'applicazione. (I9909a, b/149413835)

Ciclo di vita della fotocamera versione 1.0.0-beta04

27 maggio 2020

androidx.camera:camera-lifecycle:1.0.0-beta04 viene rilasciato. La versione 1.0.0-beta04 contiene questi commit.

Ciclo di vita della fotocamera versione 1.0.0-beta03

15 aprile 2020

androidx.camera:camera-lifecycle:1.0.0-beta03 viene rilasciato. La versione 1.0.0-beta03 contiene questi commit.

Correzioni di bug

  • È stata corretta la regressione della versione beta03, in cui la chiamata a bindToLifecycle() senza UseCase causava un'eccezione generata. Questo ha impedito il recupero di un oggetto Camera senza associare un UseCase.
  • Correzioni a supporto della release di camera-core

Ciclo di vita della fotocamera versione 1.0.0-beta01

26 febbraio 2020

androidx.camera:camera-lifecycle:1.0.0-beta01 viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.

Correzioni di bug

  • È stata corretta la documentazione che indica che quando si ottiene un ProcessCameraProvider durante l'inizializzazione, viene utilizzata una configurazione predefinita e l'estensione di Application è facoltativa. (I5e395).

Ciclo di vita della fotocamera versione 1.0.0-beta02

1° aprile 2020

androidx.camera:camera-lifecycle:1.0.0-beta02 viene rilasciato. La versione 1.0.0-beta02 contiene questi commit.

Correzioni di bug

  • Aggiornato per supportare le correzioni di bug negli elementi camera-camera2:1.0.0-beta02 e camera-core:1.0.0-beta02.

Ciclo di vita della fotocamera versione 1.0.0-alpha10

10 febbraio 2020

androidx.camera:camera-lifecycle:1.0.0-alpha10 viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.

Modifiche alle API

  • È stata aggiunta l'annotazione @MainThread a BindToLifecycle, svincola e svincola tutti i metodi. (I990d2)

Ciclo di vita fotocamera versione 1.0.0-alpha03

22 gennaio 2020

androidx.camera:camera-lifecycle:1.0.0-alpha03 viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.

regolari

  • Varie correzioni e aggiornamenti per il supporto delle modifiche al core di Camera e Fotocamera2.

Ciclo di vita fotocamera versione 1.0.0-alpha02

18 dicembre 2019

androidx.camera:camera-lifecycle:1.0.0-alpha02 viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche delle dipendenze

  • Aggiornato per utilizzare androidx.camera:camera-core:1.0.0-alpha08.

Ciclo di vita fotocamera versione 1.0.0-alpha01

4 dicembre 2019

androidx.camera:camera-lifecycle:1.0.0-alpha01 viene rilasciato. La versione 1.0.0-alpha01 di camera-lifecycle contiene questi commit

Note relative all'API

  • Viene aggiunto l'artefatto relativo al ciclo di vita della fotocamera, che fornisce l'interfaccia LifeCycleCameraProvider e un'implementazione chiamata ProcessCameraProvider che fornisce in core molte delle funzioni della classe CameraX precedente e si ottiene tramite un metodo getInstance().
  • Le app devono includere la raccolta del ciclo di vita della fotocamera per poter usare CameraX.
  • Leggi le note nella sezione camera-core per informazioni su come eseguire l'inizializzazione di CameraX utilizzando un ProcessCameraProvider.

Estensioni della videocamera e versione 1.0.0 di Camera-View

Versione 1.0.0-alpha32

15 dicembre 2021

androidx.camera:camera-extensions:1.0.0-alpha32 e androidx.camera:camera-view:1.0.0-alpha32 vengono rilasciati. La versione 1.0.0-alpha32 contiene questi commit.

Modifiche alle API

  • Sono state rimosse le annotazioni @RequiresApi(21) non necessarie dalle classi/interfacce interne. (I8e286, b/204917951)
  • Aggiorna i file API per l'artefatto delle estensioni della fotocamera. (If683a, b/161377155)

Correzioni di bug

  • Non consentire all'app di attivare le modalità di estensione durante l'associazione di VideoCapture. Le estensioni CameraX supportano solo ImageCapture e Preview. VideoCapture non può ancora essere supportato. Se l'app associa VideoCapture e attiva qualsiasi modalità di estensione, viene generato un IllegalArgumentException. (I0d87b)
  • CameraSelector#filter non genera più IllegalArgumentException quando il set di risultati è vuoto. (I27804)
  • L'API ExtensionsManager#getInstance è stata rinominata come getInstanceAsync perché restituisce ListenableFuture. Il suffisso asincrono del nome della funzione può indicare chiaramente che si tratta di una funzione asincrona. (I279d2)
  • Rimuovi il parametro di risoluzione dall'API ExtensionsManager#getEstimatedCaptureLatencyRange poiché gli utenti non possono sapere quali dimensioni sono supportate per il caso d'uso ImageCapture e non possono distinguere se le informazioni sulla latenza restituite riguardano la dimensione massima dell'output di acquisizione o il parametro di risoluzione dell'input. (I74bb2).
  • Sposta il parametro CameraProvider delle funzioni ExtensionsManager nell'API getInstance(). Per fare in modo che gli utenti non debbano inserire il parametro CameraProvider ogni volta quando chiamano le funzioni ExtensionsManager. (Ic7e48).

Versione 1.0.0-alpha31

17 novembre 2021

androidx.camera:camera-extensions:1.0.0-alpha31 e androidx.camera:camera-view:1.0.0-alpha31 vengono rilasciati. La versione 1.0.0-alpha31 contiene questi commit.

Modifiche alle API

  • È stato aggiunto CameraSelector#filter all'API pubblica per filtrare un elenco di CameraInfos in base a CameraSelector. (I105d0)

Correzioni di bug

  • È stato risolto il problema di arresto anomalo durante il cambio rapido della modalità delle estensioni su alcuni dispositivi. (Iebbef).

Versione 1.0.0-alpha30

13 ottobre 2021

androidx.camera:camera-extensions:1.0.0-alpha30 e androidx.camera:camera-view:1.0.0-alpha30 vengono rilasciati. La versione 1.0.0-alpha30 contiene questi commit.

Modifiche alle API

  • È stata aggiunta l'annotazione @RichiedisApi(21) a tutte le classi di CameraX e ha eliminato minSdkVersion da AndroidManifest.xml. Ciò consentirà di integrare facilmente il core della fotocamera nelle applicazioni che hanno un valore minSdkVersion inferiore a 21, ma che desiderano utilizzare in modo condizionale i percorsi di codice che si basano sull'API 21 e versioni successive. Per qualsiasi applicazione con minSdkVersion 21 o successive, questa modifica non richiede alcuna azione. (Ie7f2e, b/200599470).

Correzioni di bug

  • Risolto il problema AbstractMethodError che si verifica quando ProGuard è attivato. (Iae468, b/201177844)

Versione 1.0.0-alpha29

29 settembre 2021

androidx.camera:camera-extensions:1.0.0-alpha29 e androidx.camera:camera-view:1.0.0-alpha29 vengono rilasciati. La versione 1.0.0-alpha29 contiene questi commit.

Modifiche alle API

  • L'annotazione sperimentaleUseCaseGroup viene rimossa ora che le API non sono più sperimentali. (I01ef5)
  • rimuovi RotationProvider#removeAllListeners(). Usa invece RotationProvider#removeListener(...). (Id9d4a)
  • Aggiornata la classe RotazioneRicevir: modificata set/clear Listener in add/remove/removeAll, rimuovi la variazione setListener che utilizza il thread principale per impostazione predefinita e aggiunta l'annotazione dei metodi. (Ib1669)

Correzioni di bug

  • Il nome ExtensionMode#BEAUTY è stato cambiato in FACE_RETOUCH per presentare correttamente ciò che viene fatto in modalità estensione. (I61f54, b/198515274).
  • Risolto il problema per cui la videocamera si chiudeva in modo imprevisto quando più CameraController e PreviewView vengono utilizzate in un'unica attività. (Ibfd18, b/197539358)

Versione 1.0.0-alpha28

18 agosto 2021

androidx.camera:camera-extensions:1.0.0-alpha28 e androidx.camera:camera-view:1.0.0-alpha28 vengono rilasciati. La versione 1.0.0-alpha28 contiene questi commit.

Modifiche alle API

  • L'annotazione sperimentaleUseCaseGroupLifecycle viene rimossa ora che le API non sono più sperimentali. (I17b85).
  • ha eseguito il refactoring di RotazioneListener e lo ha rinominato in RotazioneProvider. Continua a fornire la stessa funzionalità con un'API leggermente diversa. (Idffc5)
  • rinomina TAP_TO_FOCUS_UNSUCCESSFUL in TAP_TO_FOCUS_NOT_FOCUSED e TAP_TO_FOCUS_SUCCESSFUL in TAP_TO_FOCUS_FOCUSED. OutputSize finale (I099fa)

Correzioni di bug

  • Rimosse le classi <EffectName><UseCase>Extender deprecate, ExtensionsErrorListener e le relative API ExtensionsManager. (I3b8c3).

Versione 1.0.0-alpha27

21 luglio 2021

androidx.camera:camera-extensions:1.0.0-alpha27 e androidx.camera:camera-view:1.0.0-alpha27 vengono rilasciati. La versione 1.0.0-alpha27 contiene questi commit.

Modifiche alle API

  • È stata promossa l'API dell'area visibile all'esterno dell'esperimento. Rimuovi l'annotazione sperimentale dell'API. (I717ea)
  • Rinominato CoordinateTransform#getTransform in CoordinateTransform#transform e aggiornato JavaDoc (I864ae)

Correzioni di bug

  • È stato risolto il problema di stretching della modalità PreviewView PERFORMANCE durante l'utilizzo combinato con l'UI di Scrivi. (Ie1137, b/183864890)

Versione 1.0.0-alpha26

30 giugno 2021

androidx.camera:camera-extensions:1.0.0-alpha26 e androidx.camera:camera-view:1.0.0-alpha26 vengono rilasciati. La versione 1.0.0-alpha26 contiene questi commit.

Modifiche alle API

  • aggiungi un nuovo metodo CameraController#getTapToFocusState() che espone l'ultimo risultato della funzionalità Tocca per mettere a fuoco. (Iaccb0)
  • aggiungendo ulteriori funzionalità di base della fotocamera a CameraController: getter/setter per proporzioni target, risoluzione target, modalità di acquisizione, CameraControl ed esecutori personalizzati. (Iea8f2).
  • aggiungi una classe RotazioneRicevir che riceva le modifiche alla rotazione della superficie. Consente di impostare la rotazione target quando il dispositivo è in modalità verticale/orizzontale fissa. (Ib278f)
  • Sono state esposte nuove API pubbliche getestimatedAcquisisciLatenzaRange nella classe ExtensionsManager. (I6a8ec)
  • ExtensionsErrorListener deprecato. Attualmente, questa interfaccia viene utilizzata solo per monitorare l'assenza di un'anteprima o di un'acquisizione di immagini quando si attivano le modalità di estensione. CameraX aggiungerà automaticamente un'ulteriore anteprima o Image Capture per consentire il corretto funzionamento delle funzioni dell'estensione. Dopodiché, non verranno segnalati errori tramite questa interfaccia. (I47d9e).
  • Sono state esposte le nuove API pubbliche ExtensionsManager getInstance, isExtensionAvailable e getExtensionEnabledFotocameraSelector e le classi <EffectName><UseCase>Extender precedenti e le API correlate sono state ritirate. (I329e6).

Versione 1.0.0-alpha25

2 giugno 2021

androidx.camera:camera-extensions:1.0.0-alpha25 e androidx.camera:camera-view:1.0.0-alpha25 vengono rilasciati. La versione 1.0.0-alpha25 contiene questi commit.

Modifiche alle API

  • Le API dogfood CameraFilter non sono più in fase sperimentale e diventano API formali. Possono essere utilizzati senza attivazione annotata. (I4bc94).
  • Aggiungi un'utilità che trasforma le coordinate tra i casi d'uso. Esempio di utilizzo: trasformare le coordinate rilevate nel caso d'uso ImageAnalysis ed evidenziare l'oggetto rilevato in anteprima. (I63ab1, b/137515129)
  • CameraView rimosso. CameraView è stato sostituito da CameraController. Per informazioni su come eseguire la migrazione, consulta la guida: (Id5005)

Correzioni di bug

  • ExperimentalUseCaseGroupLifecycle sostituito con ExperimentalUseCaseGroup. (I3b2ef, b/159033688).

Versione 1.0.0-alpha24

21 aprile 2021

androidx.camera:camera-extensions:1.0.0-alpha24 e androidx.camera:camera-view:1.0.0-alpha24 vengono rilasciati. La versione 1.0.0-alpha24 contiene questi commit.

Correzioni di bug

  • L'annotazione @Experimental è stata sostituita con @RequiresOptIn nelle API sperimentali. Per chiamare le API sperimentali, utilizza androidx.annotation.OptIn anziché androidx.annotation.experimental.UseExperimental deprecato. (Iff226).
  • Risolto il problema di allungamento di PreviewView su Samsung J5 Prime (Ib10b6)

Estensioni della videocamera e visualizzazione versione 1.0.0-alpha23

24 marzo 2021

androidx.camera:camera-extensions:1.0.0-alpha23 e androidx.camera:camera-view:1.0.0-alpha23 vengono rilasciati. La versione 1.0.0-alpha23 contiene questi commit.

Modifiche alle API

  • CameraView verrà ritirata. Usa invece LifecycleCameraController. Vedi la guida alla migrazione (Idac2c)
  • Aggiunta l'annotazione FloatRange a setLinearZoom() (I69971)

Correzioni di bug

  • Sono state bloccate le dipendenze per la visualizzazione della videocamera per basarsi sugli artefatti 1.0.0. A seconda della visualizzazione della videocamera, la risoluzione della dipendenza di Gradle non eseguirà più l'upgrade automatico del core della fotocamera, della videocamera2 e del ciclo di vita della videocamera agli ultimi artefatti 1.1.0, anche se la visualizzazione della videocamera è ancora compatibile con questi artefatti se sono impostati esplicitamente per l'uso 1.1.0. (Ic8fa1, b/181599852).
  • È stata corretta l'anteprima allungata di Samsung A3 in PreviewView. (Iacb30, b/180121821).
  • Risolto il problema per cui non è possibile impostare il selettore della videocamera prima dell'inizializzazione della videocamera. (Ic8bd0)

Estensioni della videocamera e visualizzazione versione 1.0.0-alpha22

24 febbraio 2021

androidx.camera:camera-extensions:1.0.0-alpha22 e androidx.camera:camera-view:1.0.0-alpha22 vengono rilasciati. La versione 1.0.0-alpha22 contiene questi commit.

Modifiche alle API

Correzioni di bug

  • Risolto il problema ExtensionsErrorListener per segnalare gli errori quando è associato solo Preview o ImageAcquisisci. (I5ae39).

Estensioni della videocamera e visualizzazione versione 1.0.0-alpha21

27 gennaio 2021

androidx.camera:camera-extensions:1.0.0-alpha21 e androidx.camera:camera-view:1.0.0-alpha21 vengono rilasciati. La versione 1.0.0-alpha21 contiene questi commit.

Rilascio per supportare altri elementi della raccolta della fotocamera.

Estensioni della videocamera e visualizzazione versione 1.0.0-alpha20

16 dicembre 2020

androidx.camera:camera-extensions:1.0.0-alpha20 e androidx.camera:camera-view:1.0.0-alpha20 vengono rilasciati. La versione 1.0.0-alpha20 contiene questi commit.

Rilascio per supportare altri elementi della raccolta della fotocamera.

Estensioni della videocamera e versione 1.0.0-alpha19

11 novembre 2020

androidx.camera:camera-extensions:1.0.0-alpha19 e androidx.camera:camera-view:1.0.0-alpha19 vengono rilasciati. La versione 1.0.0-alpha19 contiene questi commit.

Correzioni di bug

  • L'annotazione @ExperimentalVideo è stata introdotta per la visualizzazione della videocamera. Questa annotazione contrassegna le API che espongono funzionalità video sperimentali, che sono soggette a modifiche man mano che le funzionalità vengono completamente sviluppate. Qualsiasi metodo che utilizzi queste API deve utilizzare l'annotazione @UseExperimental con ExperimentalVideo come markerClass. (I6d729)

Estensioni della videocamera versione 1.0.0-alpha18

14 ottobre 2020

androidx.camera:camera-extensions:1.0.0-alpha18 viene rilasciato. La versione 1.0.0-alpha18 contiene questi commit.

Correzioni di bug

  • È stata migliorata la latenza dell'inizializzazione di CameraX e del bindToLifecycle (I61dc5)
  • <UseCase>.getTargetRotation() restituirà Surface.ROTATION_0 se chiamato prima di essere associato a un'istanza Fotocamera, a meno che non sia stata impostata una rotazione target in Builder o nel caso d'uso. (I80fcd)

Camera-View versione 1.0.0-alpha18

14 ottobre 2020

androidx.camera:camera-view:1.0.0-alpha18 viene rilasciato. La versione 1.0.0-alpha18 contiene questi commit.

Rilascio per supportare altri elementi della raccolta della fotocamera.

Estensioni della videocamera versione 1.0.0-alpha17

23 settembre 2020

androidx.camera:camera-extensions:1.0.0-alpha17 viene rilasciato. La versione 1.0.0-alpha17 contiene questi commit.

Correzioni di bug

Camera-View versione 1.0.0-alpha17

23 settembre 2020

androidx.camera:camera-view:1.0.0-alpha17 viene rilasciato. La versione 1.0.0-alpha17 contiene questi commit.

Correzioni di bug

Estensioni della videocamera versione 1.0.0-alpha16

16 settembre 2020

androidx.camera:camera-extensions:1.0.0-alpha16 viene rilasciato. La versione 1.0.0-alpha16 contiene questi commit.

Correzioni di bug

  • Metodo aggiunto in ExtensionsManager per ottenere un oggetto Extensions che viene utilizzato per abilitare ed eseguire query sulle estensioni sulle istanze Fotocamera (I4fb7e)

Camera-View versione 1.0.0-alpha16

16 settembre 2020

androidx.camera:camera-view:1.0.0-alpha16 viene rilasciato. La versione 1.0.0-alpha16 contiene questi commit.

Modifiche alle API

  • PreviewView#setDeviceRotationForRemoteDisplayMode() e PreviewView#getDeviceRotationForRemoteDisplayMode() rimosse. I due metodi consentono di personalizzare la rotazione dell'anteprima, quando la rotazione desiderata non è la rotazione della visualizzazione, ad esempio display remoto. Per gestire ora la rotazione dell'anteprima non display, imposta la rotazione desiderata con Preview#setTargetRotation() e il PreviewView#getViewPort(targetRotation) appena aggiunto. (Ib62cc)
  • Rinominato createSurfaceProvider() in getSurfaceProvider(). Il metodo restituisce sempre la stessa istanza di Preview.SurfaceProvider. (Iff83c)

Correzioni di bug

  • È stato forzato l'utilizzo di PreviewView per TextureView se l'effetto dell'estensione è attivato e l'implementazione della libreria del fornitore deve eseguire un processo speciale nella piattaforma di output. (I0c3cc)
  • Consenti la rotazione target arbitraria per l'anteprima. Le informazioni sulla trasformazione vengono calcolate e restituite all'utente all'istante tramite un nuovo callback TranformationInfoListener. (I21470)

Problemi noti

  • In PreviewView, OnClickListener#onClick() non viene richiamato quando l'utente finale fa clic su PreviewView. L'evento touch viene utilizzato erroneamente da PreviewView#onTouchEvent(). Il problema verrà risolto nella prossima release.
  • Il MeteringPoint ottenuto da PreviewView#getMeteringPointFactory() potrebbe essere errato se ViewPort viene utilizzato con PreviewView.

Estensioni della videocamera versione 1.0.0-alpha15

19 agosto 2020

androidx.camera:camera-extensions:1.0.0-alpha15 viene rilasciato. La versione 1.0.0-alpha15 contiene questi commit.

Correzioni di bug

  • Il metodo ExtensionsManager.init() ora accetta un Contesto come parametro anziché avere 0 argomenti. (Ife754)
  • L'inizializzazione non dovrebbe più arrestarsi in modo anomalo quando utilizzi un contesto che non restituisce un oggetto Application da Context.getApplicationContext(). (I3d3c9, b/160817073).

    Camera-View versione 1.0.0-alpha15

    19 agosto 2020

androidx.camera:camera-view:1.0.0-alpha15 viene rilasciato. La versione 1.0.0-alpha15 contiene questi commit.

Correzioni di bug

  • DisplayOrientedMeteringPointFactory prende un'istanza CameraInfo anziché un'istanza CameraSelector, pertanto esiste una mappatura diretta alla fotocamera per la quale il produttore genererà i punti di accesso. Tutte le classi che utilizzano DisplayOrientedMeteringPointFactory prendono anche un'istanza CameraInfo anziché CameraSelector. (I400c1)
  • TextureViewMeteringPointFactory rimosso. PreviewView fornisce un'API pubblica (createMeteringPointFactory()) per creare un valore di fabbrica di punti di misurazione, indipendentemente dal fatto che utilizzi TextureView o SurfaceView. (Ide693)
  • rinomina le modalità di implementazione SURFACE_VIEW/TEXTURE_VIEW di PreviewView in PERFORMANCE/COMPATIBLE. PERFORMANCE è la modalità SURFACE_VIEW precedente e COMPATIBLE è la modalità TEXTURE_VIEW precedente. (I0edc2)
  • Per l'acquisizione di immagini, sovrascrivi il flag dell'opzione Capovolgi orizzontale nei metadati in base alla direzione della fotocamera. (I28499)

Estensioni della videocamera versione 1.0.0-alpha14

22 luglio 2020

androidx.camera:camera-extensions:1.0.0-alpha14 viene rilasciato. La versione 1.0.0-alpha14 contiene questi commit.

Camera-View versione 1.0.0-alpha14

22 luglio 2020

androidx.camera:camera-view:1.0.0-alpha14 viene rilasciato. La versione 1.0.0-alpha14 contiene questi commit.

Estensioni della videocamera versione 1.0.0-alpha13

24 giugno 2020

androidx.camera:camera-extensions:1.0.0-alpha13 viene rilasciato. La versione 1.0.0-alpha13 contiene questi commit.

Correzioni di bug

  • Sono state aggiunte interfacce sperimentali per il filtro delle fotocamere in base all'ID e alle caratteristiche della fotocamera. (I28f61).

Camera-View versione 1.0.0-alpha13

24 giugno 2020

androidx.camera:camera-view:1.0.0-alpha13 viene rilasciato. La versione 1.0.0-alpha13 contiene questi commit.

Correzioni di bug

  • L'arresto anomalo di CameraView non comporta più un arresto anomalo con un'eccezione LegalArgumentException durante l'associazione a un LifecycleOwner il cui ciclo di vita passa a uno stato DESTROYED subito dopo l'associazione. L'associazione dei cicli di vita in uno stato DISTRUTTO non tenterà di aprire la fotocamera. (I7c2b8).
  • PreviewView StreamState è ora disponibile tramite CameraView.getPreviewStreamState() (I21a2b)

Estensioni della videocamera versione 1.0.0-alpha12

10 giugno 2020

androidx.camera:camera-extensions:1.0.0-alpha12 viene rilasciato. La versione 1.0.0-alpha12 contiene questi commit.

Correzioni di bug

  • È stato risolto il problema che causava l'arresto anomalo dell'app durante l'inizializzazione di CameraX mentre il telefono è in modalità Non disturbare. Un elemento InitializationException che contiene un CameraUnavailableException verrà impostato sul valore ListenableFuture del risultato dell'inizializzazione anziché causare l'arresto anomalo dell'applicazione. (I9909a, b/149413835)

Camera-View versione 1.0.0-alpha12

10 giugno 2020

androidx.camera:camera-view:1.0.0-alpha12 viene rilasciato. La versione 1.0.0-alpha12 contiene questi commit.

Correzioni di bug

  • Aggiungi l'API PreviewView#getBitmap() che restituisce una rappresentazione bitmap dei contenuti visualizzati sulla piattaforma di anteprima. (I9b500, b/157659818)

Estensioni della videocamera versione 1.0.0-alpha11

27 maggio 2020

androidx.camera:camera-extensions:1.0.0-alpha11 viene rilasciato. La versione 1.0.0-alpha11 contiene questi commit.

Camera-View versione 1.0.0-alpha12

10 giugno 2020

androidx.camera:camera-view:1.0.0-alpha12 viene rilasciato. La versione 1.0.0-alpha12 contiene questi commit.

Nuove funzionalità

Modifiche alle API

Correzioni di bug

  • Aggiungi l'API PreviewView#getBitmap() che restituisce una rappresentazione bitmap dei contenuti visualizzati sulla piattaforma di anteprima. (I9b500, b/157659818)

Camera-View versione 1.0.0-alpha11

27 maggio 2020

androidx.camera:camera-view:1.0.0-alpha11 viene rilasciato. La versione 1.0.0-alpha11 contiene questi commit.

Modifiche alle API

  • Aggiungi l'API PreviewView#getPreviewStreamState che consente alle app di osservare se l'anteprima è in streaming o meno. Quando la visualizzazione di anteprima è in modalità TEXTURE_VIEW, lo stato STREAMING garantisce inoltre che l'immagine di anteprima sia visibile. (Ic0906, b/154652477).
  • È stata aggiunta l'API PreviewView#setDeviceRotationForRemoteDisplayMode() per fornire la rotazione dei dispositivi per i calcoli di trasformazione se l'applicazione è in esecuzione in modalità di visualizzazione remota. (I59b95, b/153514525)

Correzioni di bug

  • È stato risolto il problema di distorsione dell'anteprima su FULL/LIMITED/LEVEL_3 fotocamere con Android 7.0 e versioni precedenti. Utilizzo forzato della modalità ImplementationMode#TEXTURE_VIEW se Android è 7.0 o versioni precedenti. (I83e30, b/155085307)
  • Parametro CameraInfo rimosso da PreviewView#createSurfaceProvider(). Ora PreviewView lo recupera internamente da SurfaceRequest. (If18f0, b/154652477)
  • È stato corretto il formato predefinito di Video Capture (16:9) in CameraView. (Ie6a7b, b/153237864).
  • Risolvi PreviewView problemi relativi allo schermo nero quando è stato rimosso il frammento Preview e poi è stato eseguito lo scorrimento indietro in ViewPager2. È stato risolto il problema anche quando removeView(previewview) e poi addView(previewView). (Iab555, b/149877652, b/147354615).
  • Aggiorna l'API CameraView#takePicture() per consentire il salvataggio delle immagini su Uri e OutputStream. Aggiorna l'app di test in modo che utilizzi Uri come esempio canonico. (Ia2459, b/153607583).
  • Puoi impostare il tipo di scala di PreviewView da un layout XML impostando l'attributo ScaleType. (I08565, b/153015659)
  • Il partner CameraView.ScaleType è stato rimosso. Utilizza invece PreviewView.ScaleType per impostare/ottenere un tipo di scala con CameraView. (Ia8974, b/153014831).
  • Assegna a PreviewView un colore di sfondo per impostazione predefinita, se non ne ha già uno. In questo modo, i contenuti sottostanti non saranno visibili prima dell'avvio dello stream di anteprima. (I09fad)

Estensioni della videocamera versione 1.0.0-alpha10

15 aprile 2020

androidx.camera:camera-extensions:1.0.0-alpha10 viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.

Correzioni di bug

  • Correzioni per il supporto del rilascio di Camera-Core

Camera-View versione 1.0.0-alpha10

15 aprile 2020

androidx.camera:camera-view:1.0.0-alpha010 viene rilasciato. La versione 1.0.0-alpha010 contiene questi commit.

Correzioni di bug

  • Risolvi un problema noto precedente per cui l'implementazione di SurfaceView di PreviewView non funzionava bene su determinati dispositivi e causava l'arresto anomalo dell'app dopo la ripresa dell'anteprima. (I5ed6b).

Estensioni della videocamera versione 1.0.0-alpha09

1° aprile 2020

androidx.camera:camera-extensions:1.0.0-alpha09 viene rilasciato. La versione 1.0.0-alpha09 contiene questi commit.

Correzioni di bug

  • Aggiornato per supportare le correzioni di bug negli elementi camera-camera2:1.0.0-beta02, camera-core:1.0.0-beta02 e camera-lifecycle:1.0.0-beta02

Camera-View versione 1.0.0-alpha09

Il 1° aprile 2020 viene rilasciato androidx.camera:camera-view:1.0.0-alpha09. La versione 1.0.0-alpha09 contiene questi commit.

Problemi noti

  • L'uso di ImplementationMode.SURFACE_VIEW con PreviewView potrebbe non funzionare correttamente su alcuni dispositivi perché il valore SurfaceView utilizzato per l'anteprima rende la sua superficie non valida quando il ciclo di vita della finestra in cui si trova viene interrotto. Quando viene riavviata, la fotocamera viene riaperta e potrebbe tentare di riprendere l'anteprima prima che la piattaforma di SurfaceView diventi di nuovo valida. Per ora, dovresti usare ImplementationMode.TEXTURE_VIEW.

Modifiche alle API

  • Rinominato PreviewView.setImplementationMode() in PreviewView.setPreferredImplementationMode().
  • Rinominato PreviewView.getImplementationMode() in PreviewView.getPreferredImplementationMode().
  • PreviewView.getSurfaceProvider() sostituito da PreviewView.createSurfaceProvider(CameraInfo), che utilizza un'istanza CameraInfo con null, utilizzata per ottimizzare l'anteprima mediante ImplementationMode.SURFACE_VIEW, quando possibile. Se viene passata un'istanza nulla o se imposti la modalità di implementazione preferita su ImplementationMode.TEXTURE_VIEW, ImplementationMode.TEXTURE_VIEW viene utilizzato internamente.
  • Il seguente esempio di codice mostra come in precedenza un caso d'uso in anteprima veniva utilizzato con PreviewView.

    preview.setSurfaceProvider(previewView.previewSurfaceProvider)
    cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
    

    Al momento puoi scrivere quanto segue:

    val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
    previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW
    preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))
    
  • L'annotazione @UiThread è stata aggiunta a PreviewView.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 in PreviewView.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'attributo implementationMode.

  • Aggiungi l'API createMeteringPointFactory() a PreviewView per supportare la conversione (x, y) in PreviewView in MeteringPoint. (Ib36d7)

Correzioni di bug

  • Sono stati corretti i casi in cui viene visualizzata un'anteprima errata dopo la modifica delle dimensioni di PreviewView. (I71101)

Estensioni della videocamera versione 1.0.0-alpha08

26 febbraio 2020

androidx.camera:camera-extensions:1.0.0-alpha08 viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.

Camera-View versione 1.0.0-alpha08

26 febbraio 2020

androidx.camera:camera-view:1.0.0-alpha08 viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.

Correzioni di bug

  • ListenableFuture sostituito il giorno SurfaceRequest.provideSurface() con Executor e Callback. Questo semplifica l'API perché non richiede più la gestione delle eccezioni su provideSurface() e impone l'impossibilità di annullare il callback provideSurface(). Questo per evitare gli arresti anomali sui dispositivi meno recenti causati dal rilascio anticipato delle piattaforme. L'oggetto SurfaceRequest.Result viene ora utilizzato per monitorare in che modo SurfaceRequest utilizza il valore Surface fornito. (I7854b)
  • Rinominato SurfaceRequest.setSurface(Surface) in SurfaceRequest.provideSurface(Surface) e SurfaceRequest.setWillNotComplete() in SurfaceRequest.willNotProvideSurface(). (I224fe)
  • È stata corretta l'inizializzazione delle varianti dell'app con ProGuard attivato mantenendo il flag che imposta il provider CameraXConfig predefinito. (I2d6c1).

Estensioni della videocamera versione 1.0.0-alpha07

10 febbraio 2020

androidx.camera:camera-extensions:1.0.0-alpha07 viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.

Correzioni di bug

  • Gli argomenti precedentemente passati in ImageCapture.OnImageSavedCallback.onError() e ImageCapture.OnImageCapturedCallback.onError() sono stati sostituiti da un singolo argomento ImageCaptureException, che contiene ancora tutte le informazioni trasmesse in precedenza.
  • L'argomento del file precedentemente passato a ImageCapture.OnImageSavedCallback.onImageSaved() è stato rimosso. (I750d2)

Camera-View versione 1.0.0-alpha07

10 febbraio 2020

androidx.camera:camera-view:1.0.0-alpha07 viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.

Modifiche alle API

  • L'implementazione TextureView di PreviewView ora imposta le dimensioni di TextureView sulla dimensione di output del sensore della fotocamera prima di ridimensionarla in modo da riempire l'elemento PreviewView principale. Se vuoi che l'anteprima della videocamera riempia un'intera parte dell'interfaccia utente (ad esempio, l'intero schermo), non impostare le dimensioni di PreviewView su un valore fisso o farle includere i contenuti (utilizzando l'attributo "wrap_content", ad esempio), l'anteprima della videocamera potrebbe riempire solo una parte di PreviewView (se le dimensioni di output del sensore della videocamera sono inferiori). Devi invece impostare PreviewView sulle dimensioni dell'elemento padre (ad esempio, utilizzando l'attributo "match_parent"). (1204869)

Correzioni di bug

  • Aggiornamento di ImageCapture completato per consentire il salvataggio delle immagini in Uri e OutputStream. Combinazione di metodi takePicture con sovraccarico in uno. App di test aggiornata in modo da utilizzare Uri come esempio canonico. (Ia3bec).
  • Preview.PreviewSurfaceProvider è stato rinominato in Preview.SurfaceProvider. Gli SurfaceProvider non richiedono più agli sviluppatori di creare il proprio ListenableFuture e la fornitura di un Surface viene ora eseguita tramite un nuovo oggetto SurfaceRequest. Il metodo Preview.getPreviewSurfaceProvider() è stato rimosso a causa del suo potenziale uso improprio quando Preview è abbinato ad altre classi, come PreviewView. (I20105)
  • Gli argomenti precedentemente passati in ImageCapture.OnImageSavedCallback.onError() e ImageCapture.OnImageCapturedCallback.onError() sono stati sostituiti da un singolo argomento ImageCaptureException, che contiene ancora tutte le informazioni trasmesse in precedenza.
  • L'argomento del file precedentemente passato a ImageCapture.OnImageSavedCallback.onImageSaved() è stato rimosso. (I750d2)
  • API aggiornata, con getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio() e getLinearZoom() metodi di CameraInfo unione in getZoomState() che restituisce un'istanza ZoomState. (Ib19fe)

Estensioni della videocamera versione 1.0.0-alpha06

22 gennaio 2020

androidx.camera:camera-extensions:1.0.0-alpha06 viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.

regolari

  • Varie correzioni e aggiornamenti per il supporto delle modifiche al core di Camera e Fotocamera2.

Camera-View versione 1.0.0-alpha06

22 gennaio 2020

androidx.camera:camera-view:1.0.0-alpha06 viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.

regolari

  • Varie correzioni e aggiornamenti per il supporto delle modifiche al core di Camera e Fotocamera2.

Estensioni della videocamera versione 1.0.0-alpha05

18 dicembre 2019

androidx.camera:camera-extensions:1.0.0-alpha05 viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.

Correzioni di bug

  • Aggiornato in modo che corrisponda alle API Camera Core interne.

Camera-View versione 1.0.0-alpha05

18 dicembre 2019

androidx.camera:camera-view:1.0.0-alpha05 viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.

Problemi noti

  • Le proporzioni potrebbero essere errate quando utilizzi PreviewView (b/146215202).

Nuove funzionalità

  • È stata implementata una nuova classe chiamata PreviewView.TextureViewImplementation che sincronizza il ciclo di vita di SurfaceTexture con l'utilizzo della superficie di TextureView da parte della fotocamera.

Estensioni della videocamera versione 1.0.0-alpha04

4 dicembre 2019

androidx.camera:camera-extensions:1.0.0-alpha04 viene rilasciato. La versione 1.0.0-alpha04 di camera-extensions contiene questi commit

Modifiche alle API

  • Per verificare la disponibilità e l'attivazione di un'estensione, ora è necessario un CameraSelector come parametro di input. Deve essere lo stesso CameraSelector utilizzato per associare il caso d'uso.

    val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA
    val builder = ImageCapture.Builder()
    val bokehImageCaptureExtender = BokehImageCaptureExtender.create(builder)
    if (bokehImageCaptureExtender.isExtensionAvailable(cameraSelector)) {
        bokehImageCaptureExtender.enableExtension(cameraSelector)
    }
    val imageCapture = builder.build()
    mCameraProvider?.bindToLifecycle(this, cameraSelector, imageCapture)
    
  • Devi inizializzare le estensioni prima di utilizzare la libreria di estensioni.

    val availability = ExtensionsManager.init()
    Futures.addCallback<ExtensionsManager.ExtensionsAvailability>(
       availability,
       object : FutureCallback<ExtensionsManager.ExtensionsAvailability> {
           override fun onSuccess(availability: ExtensionsManager.ExtensionsAvailability?) {
               // Ready to make extensions calls
           }
           override fun onFailure(throwable: Throwable) {
               // Extensions could not be initialized
           }
       },
       Executors.newSingleThreadExecutor()
    )
    

Camera-View versione 1.0.0-alpha04

4 dicembre 2019

androidx.camera:camera-view:1.0.0-alpha04 viene rilasciato. La versione 1.0.0-alpha04 di camera-view contiene questi commit

Modifiche alle API

  • Viene fornita una classe PreviewView per visualizzare facilmente l'output del caso d'uso Anteprima in un'applicazione.
  • È possibile includere PreviewView nel layout:

    <androidx.camera.view.PreviewView
      android:id="@+id/preview_view"
      … />
    
  • PreviewView fornisce un PreviewSurfaceProvider per collegare facilmente un caso d'uso in anteprima

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • "ZoomLevel" ora è "ZoomRatio" nella denominazione API

  • Alcuni parametri del metodo sono stati modificati con supporto di valori null

Estensioni della videocamera e versione 1.0.0-alpha03 della visualizzazione della videocamera

9 ottobre 2019

androidx.camera:camera-extensions:1.0.0-alpha03 e androidx.camera:camera-view:1.0.0-alpha03 vengono rilasciati. Si tratta dei commit inclusi in camera-extensions:1.0.0-alpha03 e dei commit inclusi in camera-view:1.0.0-alpha03.

Nuove funzionalità

  • È stato aggiunto l'inizializzazione del contesto per le estensioni. Versione delle estensioni incrementata alla 1.1.0

Estensioni-videocamera e versione 1.0.0-alpha02 della visualizzazione della videocamera

5 settembre 2019

Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha02 e androidx.camera:camera-view:1.0.0-alpha02. Questi sono i commit inclusi in camera-extensions:1.0.0-alpha02 e questi sono i commit inclusi camera-view:1.0.0-alpha02.

  • Sono stati aggiunti test per verificare che PreviewImageProcessorImpl abbia implementato correttamente i timestamp.
  • Correggi l'errore di test di ExtensionTest sul Nexus 5 (livello API 21) e assicurati che l'anteprima sia disponibile.

Estensioni della videocamera e versione 1.0.0-alpha01 della visualizzazione della videocamera

7 agosto 2019

Vengono rilasciate le versioni androidx.camera:camera-extensions:1.0.0-alpha01 e androidx.camera:camera-view:1.0.0-alpha01. Questi sono i commit inclusi in camera-extensions:1.0.0-alpha01 e questi sono i commit inclusi camera-view:1.0.0-alpha01

  • Nuova raccolta per le future estensioni della fotocamera per accedere agli effetti sui dispositivi supportati. Questa libreria è ancora in fase di sviluppo.
  • Nuovo corso Visualizzazione fotocamera. Questa libreria è ancora in fase di sviluppo.