CameraX

CameraX, Jetpack में जोड़ा गया एक टूल है. इससे, आपके ऐप्लिकेशन में कैमरे की सुविधाएं आसानी से जोड़ी जा सकती हैं. यह लाइब्रेरी, कई तरह की गड़बड़ियों को ठीक करने और उन्हें ठीक करने के तरीके उपलब्ध कराती है. इससे, डेवलपर को कई डिवाइसों पर एक जैसा अनुभव मिलता है.

इस टेबल में, androidx.camera ग्रुप के सभी आर्टफ़ैक्ट की सूची दी गई है.

सह-प्रॉडक्ट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा वर्शन
camera-camera2 1.4.2 - 1.5.0-beta02 -
camera-core 1.4.2 - 1.5.0-beta02 -
camera-compose - - 1.5.0-beta02 -
camera-effects 1.4.2 - 1.5.0-beta02 -
camera-extensions 1.4.2 - 1.5.0-beta02 -
camera-feature-combination-query - - - 1.5.0-alpha06
camera-feature-combination-query-play-services - - - 1.5.0-alpha06
camera-lifecycle 1.4.2 - 1.5.0-beta02 -
camera-mlkit-vision 1.4.2 - 1.5.0-beta02 -
camera-view 1.4.2 - 1.5.0-beta02 -
camera-viewfinder - - 1.3.0-beta02 1.4.0-alpha07
camera-video 1.4.2 - 1.5.0-beta02 -
इस लाइब्रेरी को पिछली बार इस तारीख को अपडेट किया गया था: 16 जुलाई, 2025

डिवाइस की जांच करना

CameraX की जांच हमारी लैब में कई डिवाइसों पर की जाती है. लैब में मौजूद डिवाइसों की सूची देखने के लिए, CameraX की लैब में टेस्ट किए गए डिवाइस देखें.

डिपेंडेंसी का एलान करना

CameraX पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी लेख पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

Groovy

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

Kotlin

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

सुझाव/राय दें या शिकायत करें

आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. कृपया नई लाइब्रेरी बनाने से पहले, इस लाइब्रेरी में मौजूद मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.

नई समस्या बनाना

ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.

Camera Viewfinder Compose Version 1.0

वर्शन 1.0.0-alpha02

12 जून, 2024

androidx.camera:camera-viewfinder-compose:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये कमिट शामिल हैं.

वर्शन 1.0.0-alpha01

14 मई, 2024

androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 रिलीज़ हो गया है. वर्शन 1.0.0-alpha01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • नई लाइब्रेरी. इस लाइब्रेरी में, Compose का नेटिव Viewfinder कंपोज़ेबल शामिल है. इसका इस्तेमाल CameraX और Camera2 के साथ किया जा सकता है. कंपोज़ेबल Viewfinder, अलग-अलग आसपेक्ट रेशियो और टच इवेंट को हैंडल करने की सुविधा देता है.

Camera Viewfinder वर्शन 1.4

वर्शन 1.4.0-alpha07

12 जून, 2024

androidx.camera:camera-viewfinder:1.4.0-alpha07 और androidx.camera:camera-viewfinder-core:1.4.0-alpha07 रिलीज़ हो गए हैं. वर्शन 1.4.0-alpha07 में ये कमिट शामिल हैं.

वर्शन 1.4.0-alpha06

14 मई, 2024

androidx.camera:camera-viewfinder:1.4.0-alpha06 और androidx.camera:camera-viewfinder-core:1.4.0-alpha06 रिलीज़ हो गए हैं. वर्शन 1.4.0-alpha06 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • Viewfinder's ImplementationMode Enums का नाम बदलें, ताकि वे बेहतर तरीके से लागू हो सकें. साथ ही, TransformationInfo.sourceRotation के लिए तय किए गए कॉन्स्टेंट जोड़ें. (Ic6149)
  • ज़ूम करने के जेस्चर की स्थितियों को शामिल करने के लिए, ZoomGestureDetector.ZoomEvent जोड़ा गया. (I84cdf)

Camera Version 1.5

वर्शन 1.5.0-beta02

16 जुलाई, 2025

androidx.camera:camera-*:1.5.0-beta02 रिलीज़ हो गया है. वर्शन 1.5.0-beta02 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • ज़्यादा बेहतर तरीके से और सटीक तरीके से, अच्छी क्वालिटी वाली सुविधाओं के ग्रुप को सेट करने या क्वेरी करने के लिए नए एपीआई जोड़े गए हैं. ऐसा इसलिए किया गया है, क्योंकि हो सकता है कि ये सुविधाएं सभी डिवाइसों पर एक साथ काम न करें. SessionConfig में अब नए एपीआई शामिल हैं. इनकी मदद से, सुविधाओं के ग्रुप को 'ज़रूरी' या 'पसंदीदा' के तौर पर मार्क किया जा सकता है. CameraInfo.isFeatureGroupSupported एपीआई की मदद से यह पता लगाया जा सकता है कि किसी SessionConfig को बाइंड करने से पहले, कोई सुविधा ग्रुप काम करता है या नहीं. SessionConfig also allows setting a listener to know which features are finally selected when a session config is bound. (Ie4d60)
  • नए एपीआई SessoinConfig.Builder.setFrameRateRange(Range<Integer>) और CameraInfo.getSupportedFrameRateRanges(SessionConfig) जोड़े गए हैं. इनकी मदद से डेवलपर, किसी खास SessionConfig के लिए, गारंटीड तौर पर काम करने वाले फ़्रेम रेट के बारे में क्वेरी कर सकते हैं. इसके बाद, SessionConfig पर फ़्रेम रेट लागू कर सकते हैं. (Ieacf7)
  • नया SessionConfig एपीआई लॉन्च किया गया है. इसमें इस्तेमाल के उदाहरण, सेशन पैरामीटर, CameraEffect, ViewPort वगैरह को कॉन्फ़िगर करने के लिए बेहतर ऐब्स्ट्रैक्शन शामिल है. किसी LifecycleOwner से SessionConfig को बाइंड करने पर, कैमरा सेशन खुल जाता है. साथ ही, इस्तेमाल के उदाहरण और सेशन पैरामीटर का इस्तेमाल करके इसे कॉन्फ़िगर किया जाता है. इसके बाद, तय किए गए CameraEffect और ViewPort लागू किए जाते हैं. जब किसी नए SessionConfig को उसी LifecycleOwner से अपडेट किया जाता है, तो आपको पहले unbindAll या अनबाइंड करने की ज़रूरत नहीं होती. इसके बजाय, सीधे तौर पर एक नया Sessionconfig बाइंड किया जा सकता है. (Iedfc3)
  • तेज़/स्लो मोशन में वीडियो रिकॉर्ड करने के लिए, नए एपीआई जोड़े गए हैं. ज़्यादा जानकारी के लिए, HighSpeedVideoSessionConfig एपीआई देखें. (Ia16f3)

गड़बड़ियां ठीक की गईं

  • ImageCaptureCapabilities#getSupportedOutputFormats() एपीआई में यह समस्या ठीक की गई है. इसमें कुछ ऐसे डिवाइसों में रॉ फ़ॉर्मैट को काम करने वाला बताया गया था जिनमें रॉ फ़ॉर्मैट की सुविधा मौजूद नहीं है. (Ibcadb)
  • PreviewView का इस्तेमाल करने, CameraEffect चालू होने या इस्तेमाल के चार उदाहरणों(StreamSharing) को बाइंड करने पर होने वाली मेमोरी लीक की समस्या को ठीक किया गया है (I87468)
  • AssertionError: Invalid internal audio state: IDLING की वजह से, वीडियो रिकॉर्डिंग क्रैश होने की समस्या ठीक की गई. (I38d4b, b/414259796)
  • जब ऐप्लिकेशन किसी बाहरी डिसप्ले पर लैंडस्केप मोड में चलता है, तब PreviewView में मौजूद झलक के खिंचने या तिरछे होने की समस्या को ठीक किया गया है (Ia917a)
  • उस समस्या को ठीक किया गया है जिसमें कैमरा स्ट्रीम को Preview और VideoCapture के बीच शेयर करने पर, Preview Stabilization की सेटिंग सही तरीके से लागू नहीं होती थीं.(I5430e)
  • CameraXViewfinder अब Viewfinder में, सर्फ़ेस रिप्लेसमेंट को सही तरीके से हैंडल करता है. इसमें ऐसे उदाहरण शामिल हैं, जैसे कि एपीआई लेवल 28 या इससे पहले के वर्शन पर मौजूद EXTERNAL व्यूफ़ाइंडर का स्क्रीन से बाहर चले जाना या किसी CameraXViewfinder (किसी भी ImplementationMode के साथ) का moveableContentOf() का हिस्सा होना. अगर ViewfinderSurfaceSession को चालू नहीं रखा जा सकता है, तो CameraXViewfinder मौजूदा CameraX SurfaceRequest को अमान्य कर देगा. इससे CameraX को नए Surface का इस्तेमाल करने की अनुमति मिल जाएगी. (I79432)
  • Android 10/11 में मौजूद एक समस्या को ठीक किया गया है. इस समस्या में, ट्रांसफ़ॉर्मेशन ऑपरेशन (जैसे कि स्केल या ट्रांसलेट) को बहुत पहले लागू कर दिया जाता था. इस वजह से, EXTERNAL CameraXViewfinder स्ट्रेच या गलत दिख सकता था. अब सिस्टम, लेआउट फ़ेज़ में इन ट्रांसफ़ॉर्मेशन को लागू करने से पहले, Surface के बनने का इंतज़ार करता है. इससे सही आउटपुट मिलता है. (Icc77c)
  • Composable CameraXViewfinder अब Compose के Pager के साथ सही तरीके से काम करता है. इस बदलाव से यह पक्का होता है कि AndroidView के onReset कॉलबैक को लागू करके, कंपोज़ेबल को सही तरीके से रीसेट किया जा सकता है. साथ ही, यह EMBEDDED और EXTERNAL, दोनों के साथ काम करता है. (I0d9be)
  • लाइफ़साइकल के मालिक की जानकारी लीक होने की समस्या को ठीक किया गया है. यह समस्या तब होती है, जब कैमरा प्रोवाइडर को बंद किए बिना, लाइफ़साइकल के मालिक से यूज़ केस को अनबाइंड किया जाता है.

वर्शन 1.5.0-beta01

7 मई, 2025

androidx.camera:camera-*:1.5.0-beta01 रिलीज़ हो गया है. वर्शन 1.5.0-beta01 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • Kotlin 2.0 के साथ रिलीज़ किए गए प्रोजेक्ट के लिए, KGP 2.0.0 या इसके बाद का वर्शन इस्तेमाल करना ज़रूरी है (Idb6b5)
  • ContentScale और अलाइनमेंट का इस्तेमाल अब व्यूफ़ाइंडर में किया जा सकता है. इससे, दिखाए गए ऑब्जेक्ट को उसके कंटेनर में स्केल किया जा सकता है और उसे उसी तरह रखा जा सकता है जिस तरह androidx.compose.foundation.Image काम करता है. (Ibcea3)
  • TransformationInfo में अब सभी आर्ग्युमेंट के लिए डिफ़ॉल्ट वैल्यू मौजूद हैं. इससे बिना किसी TransformationInfo के व्यूफ़ाइंडर बनाए जा सकेंगे. इनमें डिफ़ॉल्ट रूप से, सोर्स रोटेशन 0 पर सेट होगा. साथ ही, सोर्स मिररिंग और क्रॉप रेक्ट नहीं होगा. (I2b1b2)
  • LifecycleCameraProvider जोड़ा गया है. यह कैमरा उपलब्ध कराने वाली कंपनी है. इसे अलग-अलग कॉन्फ़िगरेशन के साथ इंस्टैंटिएट किया जा सकता है. जैसे, कस्टम कॉन्टेक्स्ट के साथ कॉन्फ़िगर करके वर्चुअल डिवाइस के कैमरे को ऐक्सेस करना. (Ia2992)

गड़बड़ियां ठीक की गईं

  • Samsung SM-E556B डिवाइस पर, ImageAnalysis का इस्तेमाल करते समय, झलक के फ़्रीज़ होने की समस्या ठीक कर दी गई है. यह समस्या, TEMPLATE_RECORD का इस्तेमाल करने वाली किसी अन्य स्ट्रीम के साथ ImageAnalysis का इस्तेमाल करने पर होती थी. (Ic0e62, b/409478042)
  • Samsung SM-M556B डिवाइस पर, ImageAnalysis का इस्तेमाल करने वाली किसी अन्य स्ट्रीम के साथ TEMPLATE_RECORD का इस्तेमाल करने पर, झलक के फ़्रीज़ होने की समस्या ठीक की गई. (Ic1a6a, b/395822788)
  • Android 15 वाले Pixel डिवाइसों पर, ज़ूम करने से जुड़े ऑपरेशन करते समय, एक्सटेंशन के नाइट मोड AssertError से जुड़ी समस्या को ठीक किया गया है. (I27a5d, b/401460276)
  • CameraController का इस्तेमाल करते समय, ML Kit Analyzer के गलत बाउंडिंग बॉक्स कोऑर्डिनेट की समस्या को ठीक किया गया. (Iae91b, b/409808510)

वर्शन 1.5.0-alpha06

26 फ़रवरी, 2025

androidx.camera:camera-*:1.5.0-alpha06 रिलीज़ हो गया है. वर्शन 1.5.0-alpha06 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • टॉर्च की रोशनी को पसंद के मुताबिक बनाने की सुविधा देने के लिए, CameraInfo.getTorchStrengthLevel, CameraInfo.getMaxTorchStrengthLevel, और CameraControl.setTorchStrengthLevel को जोड़ा गया (I00878)
  • एक नया एपीआई CameraController#setTapToFocusAutoCancelDuration जोड़ा गया है, ताकि उपयोगकर्ता PreviewView टैप-टू-फ़ोकस इवेंट के लिए, अपने-आप रद्द होने की सुविधा को कंट्रोल कर सकें. डिफ़ॉल्ट रूप से, CameraX पांच सेकंड के बाद फ़ोकस इवेंट रद्द कर देता है.इसका मतलब है कि कैमरे का फ़ोकस रीसेट हो जाता है. यह एपीआई, उस अवधि में बदलाव करने या अपने-आप रद्द होने की सुविधा को पूरी तरह से बंद करने की अनुमति देता है. (Icf59a)
  • FLASH_STATE_READY का नाम बदलकर NOT_FIRED कर दिया गया है. साथ ही, अन्य FlashState कॉन्स्टेंट के नामों को आसान बना दिया गया है, ताकि उन्हें बेहतर तरीके से पढ़ा जा सके. (I8771d)
  • Low Light Boost API को ऐक्सेस करने की सुविधा जोड़ी गई. Android 15 या इसके बाद के वर्शन पर चलने वाले डिवाइसों में, कम रोशनी में फ़ोटो को बेहतर बनाने की सुविधा काम करती है. यह सुविधा, कम रोशनी में झलक, वीडियो या इमेज विश्लेषण स्ट्रीम की चमक को अपने-आप अडजस्ट कर सकती है. ऐप्लिकेशन, नए एपीआई का इस्तेमाल इन कामों के लिए कर सकते हैं: 1. सुविधा की उपलब्धता की जांच करने के लिए, CameraInfo#isLowLightBoostSupported का इस्तेमाल करें. 2. अगर डिवाइसों पर यह मोड काम करता है, तो इसे चालू करने के लिए CameraControl#enableLowLightBoostAsync का इस्तेमाल करें. 3. कम रोशनी को बढ़ाने की सुविधा की स्थिति पर नज़र रखने के लिए, CameraInfo#getLowLightBoostState का इस्तेमाल करें. (I937ed)
  • camera-feature-combination-query में non-camera2 क्वेरी को तेज़ी से चलाने के लिए, कंपैट क्लास जोड़ें. (Ie97ee)
  • CameraController टैप-टू-फ़ोकस इवेंट के लिए, नया एपीआई getTapToFocusInfoState() अब टैप की पोज़िशन भी दिखाता है. इसके लिए, यह TapToFocusInfo क्लास का LiveData दिखाता है. वहीं, getTapToFocusState() दिखाने वाले पिछले LiveData<Integer> एपीआई को नए एपीआई के पक्ष में बंद कर दिया गया है. (I238d2)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसमें एक्सटेंशन के साथ प्रीव्यू स्टेबलाइज़ेशन की सुविधा चालू होने पर, प्रीव्यू स्टेबलाइज़ेशन लागू नहीं होता था. (I24ad7)
  • CameraController फ़ोकस स्टेट इवेंट के TAP_TO_FOCUS_NOT_STARTED पर वापस रीसेट न होने की समस्या को ठीक किया गया है. यह समस्या तब होती है, जब CameraX डिफ़ॉल्ट रूप से पांच सेकंड के बाद होने वाले फ़ोकस इवेंट को अपने-आप रद्द कर देता है. (I31954)
  • इमेज के ऐसे संसाधन इस्तेमाल करने की वजह से, कई बार फ़ोटो कैप्चर करने के बाद, ज़ीरो शटर लैग (ज़ेडएसएल) का इस्तेमाल करते समय झलक के रुकने की समस्या ठीक की गई. (Ic3c2a)
  • कुछ डिवाइसों पर यूएचडी वीडियो में लाल रंग दिखने की समस्या ठीक की गई है. ऐसा तब होता था, जब पाइपलाइन में OpenGL शामिल होता था. (Idcedc)

वर्शन 1.5.0-alpha05

15 जनवरी, 2025

androidx.camera:camera-*:1.5.0-alpha05 रिलीज़ हो गया है. वर्शन 1.5.0-alpha05 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • QualitySelector के आधार पर चुनी गई क्वालिटी जानने के लिए, VideoCapture.getSelectedQuality() जोड़ें. (I70508, b/204288986)
  • ImageCapture.OnImageCapturedCallback एपीआई की मदद से इमेज कैप्चर करने पर, अब ImageProxy से मिली ImageInfo का इस्तेमाल यह जानने के लिए किया जा सकता है कि क्या फ़्लैश को नए ImageInfo.getFlashState() एपीआई के ज़रिए ट्रिगर किया गया था. (Id2c61, b/380527406)
  • ImageAnalysis के लिए, OUTPUT_IMAGE_FORMAT_NV21 आउटपुट फ़ॉर्मैट के साथ काम करने की सुविधा जोड़ी गई. (I484ab)
  • featurecombinationquery आर्टफ़ैक्ट (I4427f) के एक्सपेरिमेंटल एनोटेशन को हटाएं
  • एक्सटेंशन मोड चालू होने पर, एक्सटेंशन की खास बातों के हिसाब से, CameraControl के लिए ज़ूम रेशियो की तय सीमा में बदलाव करें. (I85af1)

गड़बड़ियां ठीक की गईं

  • Android 15 से जुड़े एपीआई का इस्तेमाल करने के लिए, compileSdk को 35 के तौर पर अपग्रेड किया गया है. CameraX लाइब्रेरी का इस्तेमाल करने वाले ऐप्लिकेशन को भी अपनी compileSdk कॉन्फ़िगरेशन सेटिंग अपग्रेड करनी होगी. (Ic80cd)
  • यह लाइब्रेरी अब JSpecify nullness annotations का इस्तेमाल करती है. ये टाइप-यूज़ होते हैं. Kotlin डेवलपर को सही इस्तेमाल के लिए, कंपाइलर के इस तर्क का इस्तेमाल करना चाहिए: -Xjspecify-annotations=strict (यह Kotlin कंपाइलर के 2.1.0 वर्शन से डिफ़ॉल्ट रूप से शुरू होता है). (Idc6c6, b/326456246)

वर्शन 1.5.0-alpha04

11 दिसंबर, 2024

androidx.camera:camera-*:1.5.0-alpha04 रिलीज़ हो गया है. वर्शन 1.5.0-alpha04 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • ImageCapture.Builder#setOutputFormat और ImageCaptureCapabilities#getSupportedOutputFormats को स्टेबल एपीआई (Ieb04a) के तौर पर उपलब्ध कराया गया
  • जब कोई VideoCapture किसी लाइफ़साइकल से जुड़ा होता है, तब रिज़ॉल्यूशन की जानकारी पाने के लिए VideoCapture.getResolutionInfo() जोड़ें. (Icb478)
  • PreviewView.getScreenFlash और PreviewView.setScreenFlashOverlayColor को स्टेबल एपीआई के तौर पर उपलब्ध कराया गया. (I74fee)

गड़बड़ियां ठीक की गईं

  • Vivo 1610 डिवाइस पर, अंधेरे में फ़्लैश के साथ फ़ोटो लेते समय, फ़ोटो कैप्चर न होने की समस्या को ठीक किया गया है. (I366f4)
  • Redmi Note 6 Pro में, इमेज कैप्चर करने के बाद टॉर्च के अचानक बंद होने की समस्या को ठीक किया गया है. (I2e0e8, b/377144569)
  • Pixel के Android 15 डिवाइसों पर, एक्सटेंशन में मौजूद नाइट मोड से इमेज कैप्चर करने में आ रही समस्या को ठीक किया गया है. इस समस्या की वजह से, कैमरा किसी आस-पास मौजूद ऑब्जेक्ट पर फ़ोकस नहीं कर पाता था. (I228d4)
  • एक्सटेंशन चालू होने और VideoCapture एक साथ बाइंड होने पर, स्टिल इमेज कैप्चर करने की सुविधा के ठीक से काम न करने की समस्या को ठीक किया गया है. (I5c745)
  • अगर डिवाइस पर यह सुविधा काम करती है, तो एक्सटेंशन के लिए UltraHDR की सुविधा चालू होने पर, अब भी इमेज कैप्चर की जा सकती है. (I48300)
  • TCL डिवाइसों पर CameraEffect टारगेटिंग की मदद से इमेज कैप्चर करने के लिए, फ़्लैश कैप्चर की टाइमिंग से जुड़ी समस्या ठीक की गई. (I7698c)

वर्शन 1.5.0-alpha03

30 अक्टूबर, 2024

androidx.camera:camera-*:1.5.0-alpha03 रिलीज़ हो गया है. वर्शन 1.5.0-alpha03 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • RAW और RAW + JPEG ImageCapture के लिए आउटपुट फ़ॉर्मैट एपीआई जोड़े गए हैं. डिवाइस की क्षमता की जांच, ImageCaptureCapabilities#getSupportedOutputFormats में दिखाई जाती है. OUTPUT_FORMAT_RAW का इस्तेमाल RAW इमेज कैप्चर करने के लिए किया जाता है. यह Adobe DNG फ़ॉर्मैट में होती है. वहीं, OUTPUT_FORMAT_RAW_JPEG का इस्तेमाल RAW और JPEG इमेज एक साथ कैप्चर करने के लिए किया जाता है. नई ImageCapture#takePicture एपीआई का इस्तेमाल, एक साथ इमेज कैप्चर करने के लिए किया जाता है. इसके लिए, दो OutputFileOptions उपलब्ध कराने होते हैं. पहला OutputFileOptions, RAW इमेज के लिए होता है और दूसरा OutputFileOptions, JPEG इमेज के लिए होता है. (Ib0f3d)

गड़बड़ियां ठीक की गईं

  • VideoCapture चालू होने पर, TCL डिवाइसों पर वीडियो और झलक के कम दिखने की समस्या ठीक की गई. (Id7a64)
  • उस समस्या को ठीक किया गया है जिसमें किसी इफ़ेक्ट के चालू होने या चार इस्तेमाल के उदाहरणों के बाइंड होने (स्ट्रीम-शेयरिंग) पर, startFocusMetering को PreviewView.getMeteringPointFactory के साथ चालू करने पर सेंसर के सही कोऑर्डिनेट नहीं मिलते थे. (I916c5, b/345993685)
  • वीडियो रिकॉर्ड करते समय और स्टोरेज में ज़रूरत के मुताबिक जगह न होने पर, VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE इवेंट ट्रिगर नहीं होता था. इस समस्या को ठीक कर दिया गया है. (I35779, b/356399842)

वर्शन 1.5.0-alpha02

2 अक्टूबर, 2024

androidx.camera:camera-*:1.5.0-alpha02 रिलीज़ हो गया है. वर्शन 1.5.0-alpha02 में ये कमिट शामिल हैं.

नई सुविधाएं

  • डिवाइस पर काम करने वाली कैमरे की सुविधाओं के बारे में क्वेरी करने के लिए नए एपीआई. उदाहरण के लिए, यह देखना कि एचडीआर और 60 एफ़पीएस को एक साथ चालू किया जा सकता है या नहीं. इसमें दो आर्टफ़ैक्ट शामिल हैं: camera-feature-combination-query और camera-feature-combination-query-play-services. यह camera2 के CameraManager#getCameraDeviceSetup#isSessionConfigurationSupported API का ऐसा वर्शन है जो इसके साथ काम करता है. इसमें Google Play services से मिला अतिरिक्त डेटा शामिल होता है.

गड़बड़ियां ठीक की गईं

  • LEGACY लेवल वाले डिवाइसों पर, Preview/VideoCapture टारगेट फ़्रेम रेट की समस्या ठीक की गई. setTargetFrameRate या Camera2Interop एपीआई के ज़रिए सेट किए गए टारगेट फ़्रेम रेट को हमेशा AeFpsRangeLegacyQuirk से मिली वैल्यू से बदल दिया जाता था. इस फ़िक्स के बाद, CameraX लाइब्रेरी, setTargetFrameRate या Camera2Interop एपीआई के ज़रिए सेट की गई वैल्यू का इस्तेमाल करेगी. (Ie2d32)
  • CameraEffect की मदद से इमेज कैप्चर करने के लिए, फ़्लैश/टॉर्च/3A की सुविधाएं जोड़ी गईं. CameraEffect की मदद से कैप्चर की गई इमेज में, कैप्चर करने से पहले और बाद में की जाने वाली प्रोसेसिंग (जैसे, फ़्लैश ट्रिगर, 3A कन्वर्जेंस वगैरह) अब वैसी ही होनी चाहिए जैसी CameraEffect के बिना कैप्चर की गई इमेज में होती है. (I5ff30)
  • Samsung SM-A057G डिवाइस पर ImageAnalysis के लिए, समस्या पैदा करने वाले आउटपुट साइज़ को बाहर रखा गया है. अगर ImageAnalysis का रिज़ॉल्यूशन 1920x1440 या इससे ज़्यादा है, तो इससे काली झलक दिखने की समस्या हो सकती है. हमने SM-A057G डिवाइस पर ExcludedSupportedSizesQuirk लागू किया है, ताकि इस समस्या से बचा जा सके. (I63dfe, b/365877975)
  • Preview और VideoCapture के साथ स्ट्रीम शेयर करने के लिए, स्ट्रीम शेयर करने का मैकेनिज़्म इंटरनल तौर पर चालू होने पर, Preview/VideoCapture टारगेट फ़्रेम रेट से जुड़ी समस्या को ठीक किया गया है. (I4fdac)
  • Samsung S10e और S10+ डिवाइसों पर, JPEG इमेज के मेटाडेटा की गलत जानकारी की समस्या को ठीक करने के लिए, वर्कअराउंड की सुविधा चालू की गई. इस समस्या को ठीक कर दिया गया है. अब CameraX, JPEG इमेज को सेव कर सकता है. इसके अलावा, अगर इन डिवाइसों पर JPEG इमेज के मेटाडेटा से जुड़ी समस्या होती है, तो ImageProxy.toBitmap() फ़ंक्शन को कॉल करने पर सही बिटमैप ऑब्जेक्ट वापस लाए जा सकते हैं. (Iae493, b/356428987)
  • Samsung A52s के बैक कैमरे के लिए एक्सटेंशन बंद कर दिए गए हैं. इस कैमरे का आईडी 0 है. ऐसा इसलिए किया गया है, क्योंकि एचडीआर इमेज कैप्चर करते समय नेटिव क्रैश हो सकते हैं. साथ ही, BOKEH या FACE_RETOUCH मोड के लिए कैप्चर सेशन कॉन्फ़िगर नहीं हो सकते. (I03ec9, b/364152642)
  • वीडियो रिकॉर्ड करते समय और स्टोरेज में ज़रूरत के मुताबिक जगह न होने पर, VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE इवेंट ट्रिगर नहीं होता था. इस समस्या को ठीक कर दिया गया है. (Ia5b4f, b/356399842)
  • उस समस्या को ठीक कर दिया गया है जिसमें Oppo A5 (CPH1931) पर दूसरी बार वीडियो रिकॉर्ड करने की कोशिश करने पर समस्या आ रही थी. (I181d6)

वर्शन 1.5.0-alpha01

4 सितंबर, 2024

androidx.camera:camera-*:1.5.0-alpha01 रिलीज़ हो गया है. वर्शन 1.5.0-alpha01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • CameraX Viewfinder Compose Adapter के लिए एक नया आर्टफ़ैक्ट, camera-compose रिलीज़ किया गया है. यह camera-core से CameraX SurfaceRequest की झलक वाली स्ट्रीम दिखाता है. (I8666e)
  • एक नया कंपोज़ेबल, CameraXViewfinder जोड़ा गया है. यह एक इडियोमैटिक कंपोज़ेबल के तौर पर काम करता है. यह कंपोज़ेबल Viewfinder के लिए, CameraX SurfaceRequests को अडैप्ट करता है. (I4770f)

एपीआई में हुए बदलाव

  • एक साथ दो कैमरों से वीडियो कैप्चर करने के लिए, कंपोज़िशन सेटिंग सेट करने के लिए एपीआई उपलब्ध कराएं. इन सेटिंग में, ब्लेंडिंग के लिए ऐल्फ़ा वैल्यू, x और y कोऑर्डिनेट में ऑफ़सेट, और कैमरा फ़्रेम डिसप्ले विंडो की चौड़ाई और ऊंचाई का स्केल शामिल है. ऑफ़सेट, चौड़ाई, और ऊंचाई को सामान्य किए गए डिवाइस के कोऑर्डिनेट में बताया जाता है. (Ia2b8a)
  • CameraProvider.getCameraInfo को आधिकारिक एपीआई के तौर पर उपलब्ध कराया गया. (I901cd)
  • शुरुआती म्यूट स्थिति को कंट्रोल करने के लिए, एपीआई PendingRecording.withAudioEnabled(boolean initialMuted) जोड़ा गया. (I635c3, b/354829267)

गड़बड़ियां ठीक की गईं

  • डस्ट्रॉय किए गए LifecycleOwner के साथ bindToLifecycle को शुरू करने पर होने वाले क्रैश की समस्या को ठीक किया गया है. (I6e6d8)
  • Motorola Edge 20 Fusion में VideoCapture के साथ बाइंड करते समय, सामने वाले कैमरे में फ़िक्स्ड प्रीव्यू की सुविधा काम नहीं कर रही है. (I1fe88)
  • PreviewView में ज़ूम करने के जेस्चर (हाव-भाव) का पता लगाने के लिए, कॉन्फ़िगरेशन को ऑप्टिमाइज़ किया गया है, ताकि इसे आसानी से इस्तेमाल किया जा सके. (I04ffc)

कैमरा वर्शन 1.4

वर्शन 1.4.2

26 मार्च, 2025

androidx.camera:camera-*:1.4.2 रिलीज़ हो गया है. वर्शन 1.4.2 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Samsung Galaxy M55 पर, TEMPLATE_RECORD का इस्तेमाल करने वाली किसी अन्य स्ट्रीम के साथ ImageAnalysis का इस्तेमाल करते समय, झलक के फ़्रीज़ होने की समस्या को ठीक किया गया है. (Ic1a6a, b/395822788)

वर्शन 1.4.1

11 दिसंबर, 2024

androidx.camera:camera-*:1.4.1 रिलीज़ हो गया है. वर्शन 1.4.1 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Pixel के Android 15 डिवाइसों पर, एक्सटेंशन में मौजूद नाइट मोड से इमेज कैप्चर करने में आ रही समस्या को ठीक किया गया है. इस समस्या की वजह से, कैमरा किसी आस-पास मौजूद ऑब्जेक्ट पर फ़ोकस नहीं कर पाता था. (I228d4)
  • एक्सटेंशन चालू होने और VideoCapture एक साथ बाइंड होने पर, ImageCapture#takePicture के ठीक से काम न करने की समस्या को ठीक किया गया है. (I5c745)

वर्शन 1.4.0

30 अक्टूबर, 2024

androidx.camera:camera-*:1.4.0 रिलीज़ हो गया है. वर्शन 1.4.0 में ये कमिट शामिल हैं.

1.3.0 के बाद हुए अहम बदलाव

CameraX 1.4.0 में कई शानदार अपडेट उपलब्ध हैं! यहां सार दिया गया है:

हेडलाइन सुविधा: 10-बिट एचडीआर:

  • आसानी से शानदार एचडीआर फ़ोटो और वीडियो कैप्चर करें.
  • एचएलजी और 10-बिट HEVC एन्कोडिंग के साथ काम करता है.
  • 10-बिट एचडीआर की झलक देखें और डिवाइस की क्षमताओं के बारे में क्वेरी करें.
  • यह सुविधा, ज़्यादा से ज़्यादा डिवाइसों पर UltraHDR इमेज और एचडीआर वीडियो के साथ काम करती है.

अन्य बेहतरीन सुविधाएं:

  • Kotlin एक्सटेंशन: takePicture और awaitInstance सस्पेंड फ़ंक्शन जोड़े गए.
  • रीयल-टाइम इफ़ेक्ट: वॉटरमार्क और ऑब्जेक्ट हाइलाइट करने जैसे इफ़ेक्ट लागू करें.
  • CameraController API: वीडियो कैप्चर करने के कॉन्फ़िगरेशन के लिए नए कंट्रोल.
  • झलक की स्थिरता: डिवाइस की क्षमता के बारे में क्वेरी करना और स्टेबलाइज़ेशन की सुविधा चालू करना.
  • VideoCapture को बेहतर बनाया गया है: क्वालिटी पर बेहतर कंट्रोल और हाई रिज़ॉल्यूशन में वीडियो कैप्चर करने की सुविधा.
  • CameraX एक्सटेंशन इंटिग्रेशन: VideoCapture और नई ImageCapture सुविधाओं के साथ आसानी से इंटिग्रेट किया जा सकता है.
  • Shutter Sound API: इस एपीआई की मदद से, किसी देश/इलाके में शटर की आवाज़ से जुड़ी ज़रूरी शर्तों को आसानी से देखा जा सकता है.
  • स्क्रीन फ़्लैश: सामने वाले कैमरे से कम रोशनी में बेहतर फ़ोटो ली जा सकती हैं.
  • कैमरा एक्सटेंशन के मेटाडेटा एपीआई: ये एपीआई, एक्सटेंशन की क्षमता को अडजस्ट करने और ExtensionMode#AUTO में मौजूदा एक्सटेंशन मोड की सूचना पाने में मदद करते हैं. बग ठीक करने से जुड़ी ज़्यादा जानकारी के लिए, बीटा और आरसी से जुड़े एलान देखें.

वर्शन 1.4.0-rc04

16 अक्टूबर, 2024

androidx.camera:camera-*:1.4.0-rc04 रिलीज़ हो गया है. वर्शन 1.4.0-rc04 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसमें किसी इफ़ेक्ट के चालू होने या चार इस्तेमाल के उदाहरणों के बाइंड होने (स्ट्रीम-शेयरिंग) पर, startFocusMetering को PreviewView.getMeteringPointFactory के साथ चालू करने पर सेंसर के सही कोऑर्डिनेट नहीं मिलते थे. (I916c5, b/345993685)

वर्शन 1.4.0-rc03

2 अक्टूबर, 2024

androidx.camera:camera-*:1.4.0-rc03 रिलीज़ हो गया है. वर्शन 1.4.0-rc03 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • CameraEffect की मदद से इमेज कैप्चर करने के लिए, फ़्लैश/टॉर्च/3A की सुविधाएं जोड़ी गईं. CameraEffect की मदद से कैप्चर की गई इमेज में, कैप्चर करने से पहले और बाद में की जाने वाली प्रोसेसिंग (जैसे, फ़्लैश ट्रिगर, 3A कन्वर्जेंस वगैरह) अब वैसी ही होनी चाहिए जैसी CameraEffect के बिना कैप्चर की गई इमेज में होती है. (I5ff30)
  • PreviewView में पिंच करके ज़ूम करने की सुविधा को बेहतर बनाया गया है (I04ffc)
  • अल्ट्रा एचडीआर को 10-बिट आउटपुट की सुविधा से अलग किया गया है. ऐसा इसलिए, क्योंकि अल्ट्रा एचडीआर की सुविधा के लिए अब यह ज़रूरी नहीं है कि डिवाइसों में 10-बिट आउटपुट की सुविधा हो. (I96ff2, I0c3b3)

वर्शन 1.4.0-rc02

18 सितंबर, 2024

androidx.camera:camera-*:1.4.0-rc02 रिलीज़ हो गया है. वर्शन 1.4.0-rc02 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • डस्ट्रॉय किए गए LifecycleOwner के साथ bindToLifecycle को शुरू करने पर होने वाले क्रैश की समस्या को ठीक किया गया है. (I6e6d8)
  • ScreenFlash#apply के लिए, ScreenFlashView में दिखने से जुड़ा ऐनिमेशन जोड़ा गया है. इससे, रोशनी में बदलाव होने के कुछ समय बाद एसिंक्रोनस तरीके से होने वाली गड़बड़ियां भी ठीक हो जाती हैं. (I37cdb)
  • ज़ूम करने की सुविधा को बेहतर बनाया गया है. इसके लिए, उन डिवाइसों पर फ़्रेमवर्क में ज़ूम करने की सेटिंग को बदला गया है जिन पर यह सुविधा काम करती है.

वर्शन 1.4.0-rc01

7 अगस्त, 2024

androidx.camera:camera-*:1.4.0-rc01 रिलीज़ हो गया है. वर्शन 1.4.0-rc01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • एक्सपेरिमेंट के तौर पर CameraInfo.getCameraInfo जोड़ा गया है. इससे कैमरे के इस्तेमाल के उदाहरणों को कैमरे से बाइंड किए बिना, कैमरे के बारे में खास जानकारी दी जा सकेगी. (I550d1)

एपीआई में हुए बदलाव

  • उन मामलों के लिए PreviewView.getScreenFlash और PreviewView.setScreenFlashOverlayColor एपीआई जोड़े गए हैं जहां ScreenFlashView को साफ़ तौर पर नहीं जोड़ा गया है. (I43945)

गड़बड़ियां ठीक की गईं

  • कम रोशनी में फ़्लैश चालू करके इमेज कैप्चर करने पर, एक्सपोज़र और कलर टिंट से जुड़ी समस्याओं को ठीक किया गया है. ऐसा VideoCapture के इस्तेमाल के उदाहरण के साथ किया गया है. (Ic9814)
  • इस समस्या को ठीक किया गया है. इसमें एक्सटेंशन चालू होने पर, takePicture के अनुरोध को बीच में रोकने पर नतीजे नहीं मिलते थे. साथ ही, takePicture का अगला अनुरोध काम नहीं करता था. (Iae78f)
  • एक्सटेंशन चालू होने पर मेमोरी लीक होने की समस्या को ठीक किया गया है. (Iab276)
  • Pixel 7/8 और Samsung Galaxy S24 सीरीज़ जैसे डिवाइसों पर, CameraX एक्सटेंशन के ठीक से काम न करने की समस्या को ठीक किया गया है. यह समस्या, रिलीज़ मोड में Camera2OutputConfigImpl कन्वर्ज़न की समस्या की वजह से हुई है. यह समस्या, AGP को 8.5.1 पर अपग्रेड करने और कोड छोटा करने की सुविधा चालू करने के बाद सामने आई. (I99598, b/354824993)

वर्शन 1.4.0-beta02

12 जून, 2024

androidx.camera:camera-*:1.4.0-beta02 रिलीज़ हो गया है. वर्शन 1.4.0-beta02 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • VideoCapture की तरह ही, Preview के इस्तेमाल के उदाहरण के लिए setMirrorMode जोड़ें. यह एपीआई 33 और उसके बाद के वर्शन के लिए, OutputConfiguration.setMirrorMode के ज़रिए प्रीव्यू स्ट्रीम के लिए मिरर मोड चालू और बंद करने की सुविधा देगा. पुराने एपीआई के लिए, यह सुविधा उपलब्ध नहीं होगी. (I821f4)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसमें Samsung Tab A8 पर ऐप्लिकेशन, फ़ोटो नहीं ले पाते थे. ऐसा तब होता था, जब ImageCapture Preview + VideoCapture + ImageCapture UseCase कॉम्बिनेशन में 1920x1080 चुना जाता था. (I5a463, b/336925549)
  • कैमरा बदलने पर, लगातार रिकॉर्डिंग की सुविधा काम नहीं कर सकती. (Icb0a1)

वर्शन 1.4.0-beta01

14 मई, 2024

androidx.camera:camera-*:1.4.0-beta01 रिलीज़ हो गया है. वर्शन 1.4.0-beta01 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • ज़ूम करने के जेस्चर की स्थितियों को शामिल करने के लिए, ZoomGestureDetector.ZoomEvent जोड़ा गया. (I84cdf)

गड़बड़ियां ठीक की गईं

  • हमने एक ऐसी गड़बड़ी को ठीक किया है जिसमें अब भी कैप्चर और टैप-टू-फ़ोकस, बार-बार किए जाने वाले अनुरोध के एफ़पीएस/स्टेबलाइज़ेशन मोड की वैल्यू का इस्तेमाल नहीं करते हैं. इससे कैप्चर सेशन फिर से शुरू हो सकता है और कुछ डिवाइसों में देरी की समस्याएं हो सकती हैं या प्रीव्यू फ़्रीज़ हो सकता है. (I7dc0b)
  • गड़बड़ी ठीक की गई है. इसमें कुछ डिवाइसों पर CameraEffect चालू होने पर, ज़्यादा रिज़ॉल्यूशन नहीं चुना जा सकता था. (जैसे, Samsung A32 5G पर 4000x3000). (Ie3ed3, b/337336152)
  • Pixel 4XL API29 पर, Preview, ImageCapture, और VideoCapture(UHD) का इस्तेमाल करके फ़ोटो लेते समय ऐप्लिकेशन के क्रैश होने की समस्या ठीक की गई. (I5b288)
  • वर्चुअल डिवाइसों के साथ काम करता है: ProcessCameraProvider में पास किया गया कॉन्टेक्स्ट, डिवाइस आईडी को सुरक्षित रखेगा. इससे यह पक्का किया जा सकेगा कि वर्चुअल डिवाइस एनवायरमेंट में यह सुविधा काम करे. (I5ba48)

वर्शन 1.4.0-alpha05

17 अप्रैल, 2024

androidx.camera:camera-*:1.4.0-alpha05 रिलीज़ हो गया है. वर्शन 1.4.0-alpha05 में ये कमिट शामिल हैं.

नई सुविधाएं

  • ProcessCameraProvider को Kotlin में लागू किया गया. (I46d4f)
  • ImageCapture.takePicture सस्पेंड फ़ंक्शन जोड़े गए हैं, ताकि इसे Kotlin के स्टैंडर्ड तरीके से कॉल किया जा सके. (I920be)

एपीआई में हुए बदलाव

  • ImageCapture में आउटपुट फ़ॉर्मैट वाले एपीआई जोड़ें. साथ ही, डिवाइस की क्षमता के बारे में क्वेरी करने के लिए, ImageCaptureCapabilities में getSupportedOutputFormats तरीका जोड़ें. डिफ़ॉल्ट आउटपुट फ़ॉर्मैट की वैल्यू OUTPUT_FORMAT_JPEG होती है. यह एसडीआर इमेज को JPEG फ़ॉर्मैट में कैप्चर करती है. अगर डिवाइस पर अल्ट्रा एचडीआर की सुविधा काम करती है और आउटपुट फ़ॉर्मैट OUTPUT_FORMAT_JPEG_ULTRA_HDR पर सेट है, तो CameraX, JPEG/R इमेज फ़ॉर्मैट का इस्तेमाल करके, कंप्रेस की गई अल्ट्रा एचडीआर इमेज कैप्चर करेगा. यह फ़ॉर्मैट, एसडीआर JPEG फ़ॉर्मैट के साथ काम करता है. साथ ही, इसमें कॉन्टेंट को एचडीआर में रेंडर किया जा सकता है. इसका मतलब है कि पुराने ऐप्लिकेशन या डिवाइसों पर, इमेज सामान्य JPEG फ़ॉर्मैट में दिखती हैं. वहीं, जिन ऐप्लिकेशन और डिवाइसों को इस फ़ॉर्मैट के साथ काम करने के लिए अपडेट किया गया है उन पर इमेज, एचडीआर फ़ॉर्मैट में दिखती हैं. (I5de50)
  • फ़िज़िकल कैमरे की जानकारी के लिए क्वेरी करने के लिए, CameraInfo में PhysicalCameraInfo जोड़ें. साथ ही, CameraSelector (Ic5b90) में फ़िज़िकल कैमरे का आईडी सेटर/गेटर जोड़ें
  • CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED को ImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED से बदलें. कॉन्स्टेंट की वैल्यू में कोई बदलाव नहीं होता. इसका इस्तेमाल, सभी कॉन्स्टेंट को एक जगह पर इकट्ठा करने के लिए किया जाता है. (I890bb)
  • नए RetryPolicy एपीआई की मदद से डेवलपर, CameraX को शुरू करने के लिए फिर से कोशिश करने की सुविधा को पसंद के मुताबिक बना सकते हैं. (I36dd2)
  • ImageCaptureLatencyEstimate ऑब्जेक्ट बनाने की सुविधा चालू करें, ताकि टेस्ट करने में मदद मिल सके (Iaba99)
  • ImageAnalysis#COORDINATE_SYSTEM_SENSOR जोड़ें. इसका इस्तेमाल करने पर, MlKitAnalyzer कैमरा सेंसर कोऑर्डिनेट सिस्टम में कोऑर्डिनेट दिखाता है. (I3ec61)
  • एक्सटेंशन के मेटाडेटा एपीआई को ऐक्सेस करने की सुविधा जोड़ी गई. नए CameraExtensionsInfo और CameraExtensionsControl इंटरफ़ेस की मदद से, ऐप्लिकेशन एक्सटेंशन की ताकत की सेटिंग को मॉनिटर और अडजस्ट कर सकते हैं. ऐप्लिकेशन, ExtensionsManager#getCameraExtensionsInfo() या ExtensionsManager#getCameraExtensionsControl() के नए तरीके का इस्तेमाल करके, CameraExtensionsInfo या CameraExtensionsControl इंस्टेंस पा सकते हैं. (I28e1a)
  • ProcessCameraProvider.awaitInstance जोड़ा गया है. यह ProcessCameraProvider.getInstance (Ib22b9) का निलंबित किया गया वर्शन है
  • PreviewView#getSensorToViewTransform() API जोड़ें. मैट्रिक्स, कैमरा सेंसर के कोऑर्डिनेट से PreviewView के कोऑर्डिनेट में बदलाव को दिखाता है. इसका इस्तेमाल, एक UseCase से दूसरे UseCase में निर्देशांकों को बदलने के लिए किया जा सकता है. उदाहरण के लिए, ImageAnalysis में पता लगाए गए ऑब्जेक्ट के निर्देशांकों को PreviewView ओवरले में बदलना. (I947ab)
  • camera-viewfinder-core एपीआई को ज़्यादा सामान्य बनाएं, ताकि इसका इस्तेमाल camera-viewfinder और camera-viewfinder-compose कर सकें. (I1e295)
  • ViewfinderSurfaceRequest में getSurface फ़ंक्शन जोड़ें. (I781a0)
  • camera-viewfinder में camera-viewfinder-core का इस्तेमाल करें. साथ ही, ViewfinderSurfaceRequest और CameraViewfinder को बंद करें. (I6198c)
  • ZoomGestureDetector जोड़ा गया है, जो पिंच करके ज़ूम करने की गतिविधि के लिए खास तौर पर कॉन्फ़िगर किए गए स्केलिंग जेस्चर को इंटरप्रेट करता है. (Ifafbf)

गड़बड़ियां ठीक की गईं

  • ठीक की गई ImageAnalysis' ऐनलज़र की डिफ़ॉल्ट टारगेट रिज़ॉल्यूशन सेटिंग से जुड़ी रिज़ॉल्यूशन चुनने की समस्या: टारगेट रिज़ॉल्यूशन को गलत तरीके से 640x480 पर सेट किया गया था. भले ही, ऐप्लिकेशन ने ऐनलज़र की डिफ़ॉल्ट रिज़ॉल्यूशन सेटिंग को अलग तरीके से सेट किया हो. अगर ऐप्लिकेशन को यह समस्या (1.3.0 ~ 1.3.2) आ रही है और वे इस समस्या को हल करने वाले नए वर्शन में अपग्रेड नहीं कर पा रहे हैं, तो सीधे तौर पर ResolutionSelector को पसंदीदा रिज़ॉल्यूशन और ImageAnalysis UseCase से मेल खाने वाले AspectRatioStrategy के साथ सेट करके, इस समस्या को हल किया जा सकता है. (I81f72, b/330091012)
  • उस समस्या को ठीक किया गया है जिसकी वजह से, मौजूदा अनुरोध पूरा न होने पर, takePicture अनुरोध को प्रोसेस करने में समस्या आ सकती थी. (Ie0801)
  • Vivo X60 और X60 Pro डिवाइसों पर, अमान्य JPEG डेटा की जांच करने की सुविधा लागू करें. इससे इन डिवाइसों पर, बहुत बड़ी इमेज की समस्या ठीक हो सकती है. (I82247, b/288828159)
  • Samsung A24 डिवाइसों पर, JPEG इमेज के मेटाडेटा से जुड़ी गलत जानकारी की समस्या को ठीक किया गया है. इस फ़िक्स के बाद, CameraX, JPEG इमेज को सेव कर सकता है. इसके अलावा, Samsung A24 डिवाइसों पर ImageProxy.toBitmap() फ़ंक्शन को कॉल करने पर, सही बिटमैप ऑब्जेक्ट वापस किए जा सकते हैं. (I8d6eb, b/309005680)
  • अगर कैप्चर की गई इमेज 10 एमबी से बड़ी है, तो सभी Samsung डिवाइसों पर अमान्य JPEG डेटा की जांच करें. इससे Samsung डिवाइसों पर, इमेज के बहुत बड़े होने की समस्या ठीक की जा सकती है. (Ic2a65, b/288828159)
  • CameraX Extensions पर ImageAnalysis के साथ काम करने की सुविधा हटा दी गई है. ऐसा इसलिए किया गया है, क्योंकि कई ओईएम के एक्सटेंशन, ImageAnalysis के साथ ठीक से काम नहीं करते हैं. इससे समस्याएं आ सकती हैं. (I2d926)

वर्शन 1.4.0-alpha04

24 जनवरी, 2024

androidx.camera:camera-*:1.4.0-alpha04 रिलीज़ हो गया है. वर्शन 1.4.0-alpha04 में ये कमिट शामिल हैं.

नई सुविधाएं

  • नया आर्टफ़ैक्ट: camera-effects: यह एक लाइब्रेरी है. इसका इस्तेमाल, CameraX के आउटपुट पर रीयल टाइम इफ़ेक्ट लागू करने के लिए किया जाता है. इसमें Preview, VideoCapture, और/या ImageCapture शामिल हैं. इस आर्टफ़ैक्ट में, CameraEffect एपीआई के OpenGL वर्शन शामिल हैं. यह वर्शन, कैमरे के आउटपुट को बेहतर तरीके से मैनेज करता है.
  • OverlayEffect: Android के Canvas API की मदद से ओवरले बनाने के लिए. इससे ऐप्लिकेशन को, कैमरे से ली गई इमेज पर वॉटरमार्क लगाने या पहचाने गए ऑब्जेक्ट को हाइलाइट करने की अनुमति मिलती है.
  • DynamicRange झलक के इस्तेमाल के उदाहरण के लिए एपीआई: अब झलक के इस्तेमाल के उदाहरण के लिए, डाइनैमिक रेंज सेट की जा सकती है. यह वीडियो के इस्तेमाल के उदाहरण से अलग होगी. इससे सिर्फ़ झलक के लिए, एचडीआर डाइनैमिक रेंज (जैसे, HLG10) का इस्तेमाल किया जा सकता है. CameraInfo में नए एपीआई भी उपलब्ध हैं. इनकी मदद से यह क्वेरी की जा सकती है कि हर कैमरा कौनसी डाइनैमिक रेंज के साथ काम करता है.

एपीआई में हुए बदलाव

  • ScreenFlashUiCompleter का नाम बदलकर ScreenFlashListener कर दिया गया है. साथ ही, ScreenFlashUiCompleter#getExpirationTimeMillis को ScreenFlash#apply के expirationTimeMillis पैरामीटर में ले जाया गया है. (I13944)
  • नए एपीआई जोड़े गए हैं. इनकी मदद से, झलक देखने के लिए डाइनैमिक रेंज सेट की जा सकती है. साथ ही, हर कैमरे के साथ काम करने वाली डाइनैमिक रेंज के बारे में क्वेरी की जा सकती है. इससे एचडीआर डाइनैमिक रेंज, जैसे कि HLG10 को सिर्फ़ झलक देखने की सुविधा के साथ इस्तेमाल किया जा सकता है. इसके लिए, अब VideoCapture को एक साथ बाइंड करने की ज़रूरत नहीं है. (If25e3)
  • getMirroring() का नाम बदलकर isMirroring() किया गया (I47063)
  • CameraX में, रीयलटाइम में अब भी इमेज कैप्चर करने में लगने वाले समय का अनुमान लगाने की सुविधा जोड़ी गई है. कैमरा एक्सटेंशन की मदद से, ऐप्लिकेशन ऐसे एपीआई का इस्तेमाल कर पाते हैं जो यह अनुमान लगाता है कि फ़ोटो या वीडियो कैप्चर करने में कितना समय लगेगा. अनुमान लगाते समय, मौजूदा माहौल की स्थितियों और कैमरे की स्थिति को ध्यान में रखा जाता है. इसमें मल्टी-फ़्रेम कैप्चर करने के अनुरोधों को प्रोसेस करने में लगने वाला समय भी शामिल होता है. साथ ही, अगर ज़रूरी हो, तो प्रोसेस किए गए बफ़र को एन्कोड करने में लगने वाला अतिरिक्त समय भी शामिल होता है. (I05c3a)
  • ScreenFlashUiControl का नाम बदलकर ScreenFlash, ScreenFlashUiControl#applyScreenFlashUi का नाम बदलकर ScreenFlash#apply, और ScreenFlashUiControl#clearScreenFlashUi का नाम बदलकर ScreenFlash#clear कर दिया गया है. साथ ही, SCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS को सीधे तौर पर दिखाने के बजाय, getScreenFlashUiApplyTimeoutSeconds तरीका जोड़ा गया है. (Iccdd0)

गड़बड़ियां ठीक की गईं

  • मेमोरी लीक होने की समस्या को ठीक किया गया है. इसकी वजह से, एक्सटेंशन चालू होने पर गतिविधियां या फ़्रैगमेंट रिलीज़ नहीं होते थे (I14215)
  • ज़ूम रेशियो बढ़ाने पर, getZoomRatio के कम वैल्यू दिखाने की समस्या को ठीक किया गया है. (I4aa0d, b/317543616)
  • ImageCapture#ScreenFlash#clear इवेंट को तुरंत तब शुरू किया जाता है, जब ImageCapture को अनबाउंड किया जाता है या कैमरा बंद किया जाता है. साथ ही, यह उन बग को भी ठीक करता है जहां इन स्थितियों में कैप्चर पूरा न होने की वजह से, इसे कभी शुरू नहीं किया जाता. (If99f9)
  • लाइफ़साइकल के takePicture अनुरोध के पूरा होने से पहले बंद होने पर होने वाली क्रैश की समस्या को ठीक किया गया (Idf017, b/306202751)
  • कुछ डिवाइसों पर एक्सटेंशन चालू होने पर, कैमरे की झलक काली हो जाती थी. इस समस्या को ठीक कर दिया गया है (I1ffd0)
  • Snapdragon 778G SoC का इस्तेमाल करने वाले डिवाइसों पर, वीडियो रिकॉर्डिंग की अवधि से जुड़ी समस्या ठीक की गई है. (If6aa7, b/316057919)

वर्शन 1.4.0-alpha03

13 दिसंबर, 2023

androidx.camera:camera-*:1.4.0-alpha03 रिलीज़ हो गया है. वर्शन 1.4.0-alpha03 में ये कमिट शामिल हैं.

नई सुविधाएं

  • CameraInfo.mustPlayShutterSound जोड़ा गया है, ताकि यह जानकारी दी जा सके कि किसी देश या इलाके में लागू पाबंदियों के मुताबिक, शटर की आवाज़ सुनाई देनी चाहिए या नहीं. (Ifda84)
  • कैमरे के फ़्रेम को दिखाना शुरू करने पर सूचना देने के लिए, OnImageCapturedCallback.onCaptureStarted और OnImageSavedCallback.onCaptureStarted को जोड़ा गया. हमारा सुझाव है कि इस समय शटर की आवाज़ या शटर ऐनिमेशन चलाया जाए. (Ic49b3)
  • सामने वाले कैमरे से इमेज कैप्चर करने के लिए, CameraX में स्क्रीन फ़्लैश की सुविधा जोड़ी गई. CameraX, फ़्रेमवर्क-साइड एपीआई को हैंडल करेगा.साथ ही, ज़रूरत के मुताबिक ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) में होने वाले बदलावों के साथ समय को सिंक करेगा. उदाहरण के लिए, ऐप्लिकेशन की स्क्रीन का रंग/चमक बदलने के बाद, एई प्रीकैप्चर ट्रिगर करना. ऐप्लिकेशन को सिर्फ़ अपने यूज़र इंटरफ़ेस (यूआई) को CameraX को दिए गए ScreenFlashUiControl इंटरफ़ेस में लागू करना होगा. (I8ae84)
  • CameraX में, स्क्रीन फ़्लैश की सुविधा को यूज़र इंटरफ़ेस (यूआई) के साथ लागू करने की सुविधा जोड़ी गई. ऐप्लिकेशन, PreviewView या हाल ही में जोड़े गए ScreenFlashView से ImageCapture.ScreenFlashUiControl को लागू करने की बुनियादी सुविधा पा सकेंगे. इससे स्क्रीन फ़्लैश के दौरान फ़ोटो कैप्चर करते समय, एक रंग का ओवरले व्यू दिखेगा और स्क्रीन की चमक ज़्यादा होगी. (I1810e)

एपीआई में हुए बदलाव

  • एक्सटेंशन की नई सुविधाओं के साथ काम करता है(पोस्टव्यू और कैप्चर प्रोसेस की प्रोग्रेस): ऐप्लिकेशन के लिए ImageCapture#getImageCaptureCapabilities() एपीआई जोड़े गए हैं, ताकि पोस्टव्यू और कैप्चर प्रोसेस की प्रोग्रेस के कॉलबैक की क्षमताओं के बारे में क्वेरी की जा सके. ऐप्लिकेशन, ImageCapture.Builder#setPostviewEnabled() का इस्तेमाल करके पोस्टव्यू की सुविधा चालू कर सकते हैं. ImageCapture.Builder#setPostviewResolutionSelector() का इस्तेमाल करके, पोस्टव्यू का साइज़ चुना जा सकता है. takePicture() को चालू करते समय, onPostviewBitmapAvailable और onCaptureProcessProgressed को OnImageSavedCallback या OnImageCapturedCallback में लागू किया जा सकता है. इससे, अगर सुविधा उपलब्ध है, तो पोस्टव्यू और प्रोसेस की प्रोग्रेस की सूचना मिल सकती है. (I5cd88)
  • सेंसर से मौजूदा बफ़र तक, कोऑर्डिनेट ट्रांसफ़ॉर्मेशन का हिसाब लगाने के लिए एपीआई. साथ ही, एक फ़्लैग जो यह बताता है कि Surface में कैमरे के ओरिएंटेशन की जानकारी है या नहीं. (I59096)
  • एपीआई को PreviewCapabitlity में क्वेरी करने के लिए उपलब्ध कराएं UseCase. (Ie5b6c)
  • VideoCapture के लिए, ज़्यादा क्वालिटी को सपोर्ट करने वाले एपीआई जोड़े गए. Recorder.Builder#setVideoCapabilitiesSource(int) का इस्तेमाल VIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES के साथ किया जा सकता है, ताकि Recorder इंस्टेंस बनाया जा सके. यह VIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE की तुलना में ज़्यादा क्वालिटी के साथ काम करता है. इसका एक सामान्य उदाहरण यह है कि जब कोई ऐप्लिकेशन, यूएचडी वीडियो रिकॉर्ड करने की कोशिश करता है, लेकिन डिवाइस की CamcorderProfile में यूएचडी सेटिंग शामिल नहीं होती है. हालांकि, कोडेक यूएचडी वीडियो रिकॉर्ड कर सकता है. (Iedbe2, b/263961771)
  • CameraController में ImageAnalysis आउटपुट फ़ॉर्मैट गेटर/सेटर जोड़ें. (I9a96c, b/308240643)

गड़बड़ियां ठीक की गईं

  • कैमरा 1.3.1: ProcessCameraProvider#bindToLifecycle() की परफ़ॉर्मेंस को बेहतर बनाया गया है. मुख्य बदलाव यह है कि UseCases के लिए सबसे सही साइज़ कॉम्बिनेशन की पहचान करने की प्रोसेस को ऑप्टिमाइज़ किया गया है. सबसे अच्छे नतीजे, UseCase के खास कॉम्बिनेशन और टारगेट डिवाइसों के लिए, आउटपुट के सपोर्ट किए गए साइज़ की संख्या के आधार पर अलग-अलग होते हैं. (I454f2)
  • एक्सटेंशन चालू होने पर, VideoCapture के इस्तेमाल की अनुमति दें. (I91f32)
  • Samsung A71 और M51 सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या ठीक की गई. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ बहुत ज़्यादा हो जाता है. इमेज फ़ाइल के साइज़ को सामान्य बनाने के लिए, पैडिंग डेटा में मौजूद गैर-ज़रूरी 0 हटा दिए जाएंगे. (I01afc, b/288828159)
  • Pixel फ़ोन पर ImageAnalysis की सुविधा बंद करें, ताकि Pixel फ़ोन पर मौजूद उस गड़बड़ी से बचा जा सके जिसकी वजह से, ImageAnalysis के लिए उपलब्ध साइज़ की जानकारी गलती से दिख जाती है. (I7ec31)
  • परफ़ॉर्मेंस से जुड़ी समस्या को ठीक किया गया है. एक्सटेंशन चालू होने पर, सीपीयू का लोड और बिजली की खपत बढ़ जाती थी. (Ibdccb)
  • CameraUseInconsistentTimebaseQuirk में Snapdragon 480 जोड़ा गया. इससे Android 12 पर इस चिपसेट का इस्तेमाल करने वाले डिवाइसों में होने वाली एक समस्या ठीक हो जाती है. इस समस्या में, डिवाइस के निलंबित होने की अवधि के हिसाब से रिकॉर्डिंग में ऑडियो ऑफ़सेट हो जाता है. (I58010)

वर्शन 1.4.0-alpha02

18 अक्टूबर, 2023

androidx.camera:camera-*:1.4.0-alpha02 रिलीज़ हो गया है. वर्शन 1.4.0-alpha02 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • एपीआई का नाम बदलकर setCameraOpenRetryMaxTimeoutInMillisWhileResuming करें और आर्ग्युमेंट का नाम बदलें. (I72370)
  • डिवाइस की क्षमता के बारे में क्वेरी करने और वीडियो/प्रीव्यू को स्थिर करने की सुविधा चालू करने के लिए, एपीआई जोड़े गए हैं. (I87544)
  • कैमरा खोलने की कोशिश करने के लिए, ज़्यादा से ज़्यादा टाइम आउट को पसंद के मुताबिक बनाने के लिए एपीआई उपलब्ध कराएं. (I0c642)
  • ProcessCameraProvider.shutdownAsync को सार्वजनिक टेस्टिंग एपीआई के तौर पर रिलीज़ किया गया है. इससे, कैमरा उपलब्ध कराने वाली प्रोसेस को टेस्ट सुइट में इस्तेमाल किया जा सकता है. इसके लिए, टेस्ट के बीच में CameraX को अलग-अलग तरीकों से शुरू करना पड़ सकता है. (I9eca7)
  • वीडियो कैप्चर करने की डाइनैमिक रेंज, फ़्रेम रेट, और मिरर मोड को कॉन्फ़िगर करने के लिए एपीआई जोड़े गए हैं. (Ifb8f7)
  • OutputSize को बंद करें और उसकी जगह ResolutionSelector का इस्तेमाल करें. ResolutionSelector, रिज़ॉल्यूशन चुनने का ज़्यादा बेहतर तरीका है. साथ ही, यह कैमरा-कोर एपीआई के साथ काम करता है. (I93abd, b/286801438)

गड़बड़ियां ठीक की गईं

  • Samsung Galaxy S23 Ultra 5G में, पीछे के कैमरे पर ImageAnalysis चालू होने पर, Extensions Bokeh या Face-Retouch की सुविधा चालू होने पर, काली झलक दिखने की समस्या को ठीक किया गया है. (I2e8b1)
  • Moto E5 Play पर, झलक देखने की सुविधा और VideoCapture के स्ट्रेच होने से जुड़ी समस्याओं को ठीक किया गया है. (73dce2)

वर्शन 1.4.0-alpha01

20 सितंबर, 2023

androidx.camera:camera-*:1.4.0-alpha01 रिलीज़ हो गया है. वर्शन 1.4.0-alpha01 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • रिकॉर्डिंग के दौरान ऑडियो ऐम्प्लिट्यूड की जानकारी ऐक्सेस करने के लिए, नया एपीआई जोड़ा गया है. (Id4925)

गड़बड़ियां ठीक की गईं

  • यह पक्का करें कि एक्सटेंशन को शुरू और बंद करने वाले इवेंट सही क्रम में ट्रिगर हों. इससे एक्सटेंशन के काम करने की स्थिति बेहतर होगी. (Ib3b8e)
  • अंदरूनी तौर पर एक ही तरह के कई सरफेस जोड़ने की वजह से, कैप्चर सेशन के कॉन्फ़िगरेशन में गड़बड़ी होने की समस्या को ठीक किया गया है. ऐसा इसलिए हुआ, क्योंकि कैप्चर सेशन के लिए तय किए गए सरफेस के कॉम्बिनेशन की संख्या ज़्यादा हो गई थी. (Id718c)
  • Vivo S16 डिवाइस पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या ठीक की गई. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ बड़ा हो जाता है. इमेज फ़ाइल के साइज़ को सामान्य बनाने के लिए, पैडिंग डेटा में मौजूद गैर-ज़रूरी 0 हटा दिए जाएंगे. (I79505, b/299069235)
  • हमने उस समस्या को ठीक कर दिया है जिसमें कुछ डिवाइसों पर एक्सटेंशन मोड चालू होने पर, ImageAnalysis को ImageCapture और पूर्वावलोकन के साथ बाइंड नहीं किया जा सकता था. इस फ़िक्स के बाद, ऐप्लिकेशन ExtensionsManager#isImageAnalysisSupported() के ज़रिए ImageAnalysis की उपलब्धता के बारे में क्वेरी करने पर, सही वैल्यू मिलेगी. (I7d538)
  • JavaDoc को अपडेट करें, ताकि वह व्यवहार से मेल खाए. #setZoomRatio, #setLinearZoom, और #enableTorch, कैमरा तैयार होने तक इंतज़ार करते हैं. हालांकि, पहले ये तुरंत पूरे हो जाते थे. साथ ही, #takePicture एपीआई की मदद से ज़्यादा से ज़्यादा फ़ील्ड ऑफ़ व्यू पाने के तरीके के बारे में जानकारी जोड़ी गई है. (I23588)

वर्शन 1.3

वर्शन 1.3.4

12 जून, 2024

androidx.camera:camera-*:1.3.4 रिलीज़ हो गया है. वर्शन 1.3.4 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ज़ूम रेशियो बढ़ाने पर, getZoomRatio के कम वैल्यू दिखाने की समस्या को ठीक किया गया है. (I4aa0d, b/317543616)
  • अब भी फ़ोटो कैप्चर करने/टैप करके फ़ोकस करने की सुविधा में, बार-बार किए जाने वाले अनुरोध के एफ़पीएस/स्टेबलाइज़ेशन मोड की वैल्यू का इस्तेमाल नहीं किया जा रहा है. इससे कैप्चर सेशन फिर से शुरू हो सकता है. साथ ही, कुछ डिवाइसों में देरी की समस्याएं हो सकती हैं या झलक फ़्रीज़ हो सकती है. (I7dc0b)
  • setTargetFrameRate को FRAME_RATE_RANGE_UNSPECIFIED के साथ कॉल करने पर, फ़्रेम रेट को कम वैल्यू पर सेट करने की समस्या को ठीक किया गया है. (I78c61)

वर्शन 1.3.3

17 अप्रैल, 2024

androidx.camera:camera-*:1.3.3 रिलीज़ हो गया है. वर्शन 1.3.3 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ठीक की गई ImageAnalysis' ऐनलज़र की डिफ़ॉल्ट टारगेट रिज़ॉल्यूशन सेटिंग से जुड़ी रिज़ॉल्यूशन चुनने की समस्या: टारगेट रिज़ॉल्यूशन को गलत तरीके से 640x480 पर सेट किया गया था. भले ही, ऐप्लिकेशन ने ऐनलज़र की डिफ़ॉल्ट रिज़ॉल्यूशन सेटिंग को अलग तरीके से सेट किया हो. अगर ऐप्लिकेशन को यह समस्या (1.3.0 ~ 1.3.2) आ रही है और वे इस समस्या को ठीक करने वाले नए वर्शन का इस्तेमाल करने के लिए अपग्रेड नहीं कर सकते, तो सीधे तौर पर ImageAnalysis UseCase से मेल खाने वाले AspectRatioStrategy और समस्या को ठीक करने वाले ResolutionSelector को सेट करके, इस समस्या को हल किया जा सकता है. (I81f72, b/330091012)

वर्शन 1.3.2

6 मार्च, 2024

androidx.camera:camera-*:1.3.2 रिलीज़ हो गया है. वर्शन 1.3.2 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Samsung A24 डिवाइसों पर JPEG मेटाडेटा से जुड़ी समस्या को ठीक किया गया है. CameraX अब इमेज को सही तरीके से सेव करता है. साथ ही, ImageProxy.toBitmap() फ़ंक्शन सही बिटमैप ऑब्जेक्ट दिखाता है. (I8d6eb, b/309005680)
  • समस्याओं की वजह से, Redmi Note 9 Pro डिवाइसों पर 9280x6944 रिज़ॉल्यूशन का विकल्प हटा दिया गया है. (Ia23da)

वर्शन 1.3.1

13 दिसंबर, 2023

androidx.camera:camera-*:1.3.1 रिलीज़ हो गया है. वर्शन 1.3.1 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

ProcessCameraProvider#bindToLifecycle() परफ़ॉर्मेंस को बेहतर बनाया गया है. मुख्य बदलाव यह है कि UseCases के लिए सबसे सही साइज़ कॉम्बिनेशन की पहचान करने की प्रोसेस को ऑप्टिमाइज़ किया गया है. सबसे अच्छे नतीजे, UseCase के खास कॉम्बिनेशन और टारगेट डिवाइसों के लिए, आउटपुट के सपोर्ट किए गए साइज़ की संख्या के आधार पर अलग-अलग होते हैं. (I454f2)

यहां अलग-अलग स्थितियों के लिए, कुछ रेफ़रंस नतीजे दिए गए हैं:

  • चार UseCases: Preview + ImageCapture + ImageAnalysis + VideoCapture

    • Google Pixel 7: करीब 430 मि॰से॰ से 60 मि॰से॰
    • Samsung Galaxy S23 Ultra: करीब 540 मि॰से॰ से 45 मि॰से॰
    • Samsung A53 5G: करीब 115 मि॰से॰ से 70 मि॰से॰
  • तीन UseCases: Preview + ImageCapture + ImageAnalysis

    • Google Pixel 7: करीब 9 से 7 मि॰से॰
    • Samsung Galaxy S23 Ultra: करीब 6 से 5 मि॰से॰
    • Samsung A53 5G: करीब 32 मि॰से॰ से 12 मि॰से॰
  • CameraUseInconsistentTimebaseQuirk में Snapdragon 480 जोड़ा गया. इससे Android 12 पर इस चिपसेट का इस्तेमाल करने वाले डिवाइसों में होने वाली एक समस्या ठीक हो जाती है. इस समस्या में, डिवाइस के निलंबित होने की अवधि के हिसाब से रिकॉर्डिंग में ऑडियो ऑफ़सेट हो जाता है. (I58010)

वर्शन 1.3.0

18 अक्टूबर, 2023

androidx.camera:camera-*:1.3.0 रिलीज़ हो गया है. वर्शन 1.3.0 में ये कमिट शामिल हैं.

1.2.0 के बाद हुए ज़रूरी बदलाव

वर्शन 1.3.0-rc02

20 सितंबर, 2023

androidx.camera:camera-*:1.3.0-rc02 रिलीज़ हो गया है. वर्शन 1.3.0-rc02 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • यह पक्का करें कि एक्सटेंशन को शुरू और बंद करने वाले इवेंट सही क्रम में ट्रिगर हों. इससे एक्सटेंशन के काम करने की स्थिति बेहतर होगी. इससे एक्सटेंशन मोड या कैमरे बदलते समय, काली झलक दिखने की कुछ समस्याएं ठीक हो गई हैं. (Iddaac)
  • हमने उस समस्या को ठीक कर दिया है जिसमें कुछ डिवाइसों पर एक्सटेंशन मोड चालू होने पर, ImageAnalysis को ImageCapture और पूर्वावलोकन के साथ बाइंड नहीं किया जा सकता था. इस फ़िक्स के बाद, ऐप्लिकेशन ExtensionsManager#isImageAnalysisSupported() के ज़रिए ImageAnalysis की उपलब्धता के बारे में क्वेरी करने पर, सही वैल्यू मिलेगी. (I7d538)
  • Xiaomi Poco X3 NFC पर मिररिंग मोड चालू होने पर, रिकॉर्ड किए गए वीडियो के ऑडियो और वीडियो के सिंक न होने की समस्या को ठीक किया गया. (I20b4c)

वर्शन 1.3.0-rc01

23 अगस्त, 2023

androidx.camera:camera-*:1.3.0-rc01 रिलीज़ हो गया है. वर्शन 1.3.0-rc01 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • PendingRecording.asPersistentRecording जोड़ा गया है, ताकि VideoCapture से अटैच किया गया रिकॉर्डर रीबाउंड होने के दौरान, रिकॉर्डिंग जारी रखी जा सके. (I517c6)

गड़बड़ियां ठीक की गईं

  • VideoCapture और 'झलक देखें' दोनों के साथ स्ट्रीम शेयर करने पर, क्रैश होने की समस्या को ठीक किया गया है. इसके अलावा, स्ट्रीम शेयर करने की सुविधा चालू होने पर, LEGACY डिवाइसों पर काली स्क्रीन दिखने की समस्या को भी ठीक किया गया है.
  • Samsung S7 (SM-G930T, SM-G930V) सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या ठीक की गई. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ बड़ा हो जाता है. इमेज फ़ाइल के साइज़ को सामान्य बनाने के लिए, पैडिंग डेटा में मौजूद गैर-ज़रूरी 0 हटा दिए जाएंगे. (I407b0, b/288828159)
  • Samsung S22 (SM-S901B, SM-S901B/DS) और S22+ (SM-S906B) सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या को ठीक किया गया है. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इसकी वजह से, कैप्चर की गई इमेज का फ़ाइल साइज़ ज़्यादा होता है. S22 SM-S901B/DS डिवाइस पर, यह करीब 13 एमबी होता है. इमेज फ़ाइल के साइज़ को सामान्य बनाने के लिए, पैडिंग डेटा में मौजूद गैर-ज़रूरी 0 हटा दिए जाएंगे. (I73be9, b/288828159)
  • Samsung A5, A52, A70, और A72 सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या ठीक की गई. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ बहुत ज़्यादा हो जाता है. उदाहरण के लिए, करीब 32 एमबी या 96 एमबी. फ़ोटो के साइज़ को सामान्य रखने के लिए, फ़ोटो में मौजूद फ़ालतू ज़ीरो पैडिंग डेटा को हटा दिया जाएगा. (I97c4d, b/288828159)
  • एक्सटेंशन चालू होने पर फ़ोटो लेते समय, नेटिव क्रैश की समस्या को ठीक किया गया (I698f5)

वर्शन 1.3.0-beta02

26 जुलाई, 2023

androidx.camera:camera-*:1.3.0-beta02 रिलीज़ हो गया है. वर्शन 1.3.0-beta02 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • कम रोशनी में फ़ोटो कैप्चर करने की क्वालिटी को बेहतर बनाने के लिए, Pixel 4 और 5 के वैरिएंट में टॉर्च को फ़्लैश के तौर पर इस्तेमाल करें (I56ff5, b/280221967)
  • Samsung A5 (2017) सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या ठीक की गई. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ करीब 32 एमबी हो जाता है. फ़ोटो के साइज़ को सामान्य रखने के लिए, फ़ोटो में मौजूद फ़ालतू ज़ीरो पैडिंग डेटा को हटा दिया जाएगा. (I29837, b/288828159)
  • CaptureFailedRetryQuirk में बताए गए समस्या वाले डिवाइसों में, कैप्चर करने में गड़बड़ी होने पर फिर से कोशिश करने की सुविधा ठीक से काम नहीं कर रही थी. इस समस्या को ठीक कर दिया गया है. (I7b589)

वर्शन 1.3.0-beta01

21 जून, 2023

androidx.camera:camera-*:1.3.0-beta01 रिलीज़ हो गया है. वर्शन 1.3.0-beta01 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • ResolutionSelector.Builder#setHighResolutionEnabledFlag(int) फ़ंक्शन का नाम बदलकर setAllowedResolutionMode कर दिया गया है. साथ ही, ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON कॉन्स्टेंट का नाम बदलकर PREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE कर दिया गया है. (If84e8)
  • बंद किए गए एपीआई ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int), और VideoCapture.setTargetRotationDegrees(int) को हटाया गया. (Id8e77)
  • DynamicRange क्लास, इमेज की डाइनैमिक रेंज को दिखाता है. इसका इस्तेमाल, VideoCapture से VideoCapture.Builder#setDynamicRange() तक के आउटपुट के तौर पर हाई डाइनैमिक रेंज वाले फ़ॉर्मैट चुनने के लिए किया जा सकता है. (Ib0377)
  • ExtensionsManager में एक isImageAnalysisSupported एपीआई जोड़ा गया है. इसकी मदद से ऐप्लिकेशन यह तय कर सकते हैं कि ImageAnalysis इस्तेमाल के उदाहरण को, Preview और ImageCapture के साथ बाइंड किया जा सकता है या नहीं. ऐसा तब किया जा सकता है, जब एक्सटेंशन चालू हों. (I1bc63)
  • Recorder से मिले नए VideoCapabilities क्लास का इस्तेमाल, डिवाइस पर वीडियो रिकॉर्डिंग के लिए, सपोर्ट की जाने वाली डाइनैमिक रेंज और क्वालिटी के बारे में क्वेरी करने के लिए किया जा सकता है. QualitySelector के getSupportedQualities() और isQualitySupported() तरीकों का इस्तेमाल बंद किया जा रहा है. इसके बजाय, कृपया VideoCapabilities के getSupportedQualities() और isQualitySupported() तरीकों का इस्तेमाल करें. (I04014)
  • CameraController#setVideoCaptureTargetQuality() का नाम बदलकर setVideoCaptureQualitySelector कर दिया गया है. यह QualitySelector आर्ग्युमेंट लेता है, जिससे वीडियो क्वालिटी को ज़्यादा आसानी से सेट अप किया जा सकता है. इसके मुताबिक, CameraController#getVideoCaptureTargetQuality() को getVideoCaptureQualitySelector में बदल दिया जाता है. (I520ed)
  • वीडियो सुविधाओं के लिए एक्सपेरिमेंटल एनोटेशन हटा दिया गया है. वीडियो की सुविधाएं अब स्थिर हो गई हैं. (I1a113)

गड़बड़ियां ठीक की गईं

  • कम रोशनी में, Samsung SM-A320 मॉडल पर टॉर्च का इस्तेमाल फ़्लैश के तौर पर करें. इससे फ़ोटो खींचने की स्पीड और उसकी क्वालिटी बेहतर होती है. (I6a022, b/286190938)
  • ImageProxy.toBitmap() के लिए, ImageFormat.JPEG फ़ॉर्मैट इस्तेमाल करने की सुविधा जोड़ी गई. अगर JPEG बाइट ऐरे को डिकोड नहीं किया जा सकता, तो UnsupportedOperationException दिखेगा. (I81958, b/282057603)

वर्शन 1.3.0-alpha07

24 मई, 2023

androidx.camera:camera-*:1.3.0-alpha07 रिलीज़ हो गया है. वर्शन 1.3.0-alpha07 में ये कमिट शामिल हैं.

नई सुविधाएं

  • नए VideoCapture.Builder# setTargetFrameRate(Range) एपीआई की मदद से, वीडियो रिकॉर्डिंग को डिवाइस के डिफ़ॉल्ट फ़्रेम रेट के अलावा, अन्य फ़्रेम रेट पर भी कैप्चर किया जा सकता है. रिकॉर्डिंग के लिए उपलब्ध फ़्रेम रेट के बारे में, नए CameraInfo#getSupportedFrameRates() एपीआई के ज़रिए क्वेरी की जा सकती है.

एपीआई में हुए बदलाव

  • ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON कॉन्स्टेंट का नाम बदलकर ALLOWED_RESOLUTIONS_NORMAL/SLOW कर दिया गया है. साथ ही, बिल्डर setHighResolutionEnabledFlag फ़ंक्शन का नाम बदलकर setAllowedResolutionMode कर दिया गया है. (Iae817)
  • CameraInfo#getSupportedFrameRateRanges() अब List के बजाय Set दिखाता है, ताकि यह बेहतर तरीके से पता चल सके कि रेंज क्रम में नहीं हैं. (I02f43)
  • CameraEffect में गड़बड़ी सुनने वाला एक लिसनर जोड़ें, ताकि ऐसी गड़बड़ियों को ठीक किया जा सके जिन्हें ठीक नहीं किया जा सकता (Ice471)
  • बेहतर तरीके से टेस्ट करने के लिए, ResolutionInfo में पब्लिक कंस्ट्रक्टर जोड़ें (If6d1c)
  • setTargetRotationDegrees के इस्तेमाल को बदलने के लिए, एक एपीआई UseCase.snapToSurfaceRotation(int) उपलब्ध कराया गया है. साथ ही, एपीआई ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int), और VideoCapture.setTargetRotationDegrees(int) को बंद कर दिया गया है. (Ia9010)
  • एपीआई Preview#getTargetFrameRate और Preview.Builder#setTargetFrameRate को जोड़ा गया है, ताकि झलक देखने के लिए टारगेट फ़्रेम रेट सेट किया जा सके और उसे वापस पाया जा सके (If4f22)
  • VideoRecordEvent.Finalize अब ERROR_RECORDING_GARBAGE_COLLECTED गड़बड़ी कोड के साथ पूरा होगा. ऐसा तब होगा, जब कचरा इकट्ठा करने की वजह से Recording ऑब्जेक्ट बंद हो जाएगा. (Iba974)

गड़बड़ियां ठीक की गईं

  • NullPointerException में कैश मेमोरी में सेव किए गए आउटपुट साइज़ के शून्य होने पर, NullPointerException को ठीक किया गया.StreamConfigurationMapCompat (Idf124, b/282025204)
  • उस समस्या को ठीक किया गया है जिसकी वजह से एक्सटेंशन में Preview.setSurfaceProvider(null), झलक को नहीं रोकता है (Ia903e)
  • उस समस्या को ठीक किया गया है जिसमें VideoCapture के बाइंड होने पर, कैमरा खोलने के दौरान ConcurrentModificationException दिखता था. (Ic8ac4)

वर्शन 1.3.0-alpha06

19 अप्रैल, 2023

androidx.camera:camera-*:1.3.0-alpha06 रिलीज़ हो गया है. वर्शन 1.3.0-alpha06 में ये कमिट शामिल हैं.

नई सुविधाएं

  • एक साथ कई कैमरे इस्तेमाल करने की सुविधा, Android 11 में जोड़ी गई एक नई सुविधा है. इससे कैमरे वाले डिवाइसों से एक साथ स्ट्रीम किया जा सकता है. उदाहरण के लिए, इससे किसी डिवाइस के आगे और पीछे वाले, दोनों कैमरों को एक साथ इस्तेमाल किया जा सकता है. फ़िलहाल, CameraX सिर्फ़ दो कैमरों के साथ काम करता है. इसका मतलब है कि एक साथ दो कैमरे इस्तेमाल किए जा सकते हैं. साथ ही, हर कैमरे के लिए ज़्यादा से ज़्यादा दो {@link UseCase} इस्तेमाल किए जा सकते हैं. ज़्यादा से ज़्यादा रिज़ॉल्यूशन 720 पिक्सल या 1440 पिक्सल होता है. ज़्यादा जानकारी के लिए, यहां दिया गया लिंक देखें. CameraManager#getConcurrentCameraIds() देखें
  • पेश है नया ResolutionSelector API. इसमें ये सुविधाएं शामिल हैं:
    • ऐप्लिकेशन, आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) और रिज़ॉल्यूशन की रणनीतियां तय कर सकते हैं, ताकि वे अपनी ज़रूरतों के हिसाब से सबसे सही रिज़ॉल्यूशन चुन सकें.
    • सभी साइज़ और आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) पैरामीटर, कैमरा डिवाइस सेंसर के कोऑर्डिनेट में दिखाए जाते हैं.
    • ऐप्लिकेशन, कस्टम रिज़ॉल्यूशन फ़िल्टर लागू कर सकते हैं, ताकि वे काम करने वाले साइज़ को अपनी पसंद के क्रम में व्यवस्थित कर सकें.
    • ऐप्लिकेशन, ज़्यादा रिज़ॉल्यूशन वाली इमेज पाने के लिए, हाई रिज़ॉल्यूशन कैप्चर करने की सुविधा भी चालू कर सकते हैं. हालांकि, कृपया ध्यान दें कि ज़्यादा रिज़ॉल्यूशन का इस्तेमाल करने से, इमेज कैप्चर होने में ज़्यादा समय लग सकता है.
    • VideoCapture मिररिंग एपीआई जोड़े गए. VideoCapture से रिकॉर्ड किए गए वीडियो, डिफ़ॉल्ट रूप से मिरर नहीं किए जाते. हालांकि, सामने वाले कैमरे पर कैमरे की झलक डिफ़ॉल्ट रूप से मिरर की जाती है. VideoCapture मिररिंग एपीआई की मदद से, सामने वाले कैमरे का इस्तेमाल करते समय, कैमरे की झलक को अलाइन किया जा सकता है. MirrorMode, OFF, ON, और ON_FRONT_ONLY के तीन विकल्प हैं. कैमरे की झलक के साथ अलाइन करने के लिए, ON_FRONT_ONLY का इस्तेमाल करने का सुझाव दिया जाता है. इसका मतलब है कि पीछे वाले कैमरे के लिए मिररिंग की सुविधा चालू नहीं है, लेकिन सामने वाले कैमरे के लिए यह सुविधा चालू है.

एपीआई में हुए बदलाव

  • नया ResolutionSelector एपीआई उपलब्ध कराया गया. ऐप्लिकेशन, फ़ॉलबैक नियमों या कस्टम रिज़ॉल्यूशन फ़िल्टर के साथ, पहलू के अनुपात और रिज़ॉल्यूशन की रणनीतियां तय कर सकते हैं, ताकि उन्हें मनमुताबिक नतीजे मिल सकें. ऐप्लिकेशन, ज़्यादा रिज़ॉल्यूशन में कैप्चर करने की सुविधा चालू करने के लिए फ़्लैग तय कर सकते हैं. इससे CameraX को फ़ोटो या वीडियो लेते समय, ज़्यादा रिज़ॉल्यूशन चुनने की अनुमति मिल जाएगी. हालांकि, कृपया ध्यान दें कि ज़्यादा रिज़ॉल्यूशन का इस्तेमाल करने से, इमेज कैप्चर होने में ज़्यादा समय लग सकता है. (Ibed95)
  • AE एल्गोरिदम के साथ काम करने वाली एफपीएस रेंज के बारे में अब CameraInfo#getSupportedFrameRateRanges() के ज़रिए क्वेरी की जा सकती है. (Iaa67f)
  • फ़्रेम रेट के सभी तरीकों के नामों को 'FrameRate' में बदल दिया गया है. VideoCapture#getTargetFrameRate() (I83304) में javadoc से जुड़ी गड़बड़ी ठीक करें
  • लेगसी setTargetAspectRatio और setTargetResolution एपीआई को बंद कर दिया गया है. इसके बजाय, कृपया नए ResolutionSelector एपीआई का इस्तेमाल करें. (I542c3)
  • एक साथ दो कैमरे इस्तेमाल करने के लिए, सार्वजनिक एपीआई जोड़े गए हैं. इनमें ये शामिल हैं:
    1. List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
    2. ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
    3. boolean isConcurrentCameraModeOn() और ConcurrentCameraConfig, SingleCameraConfig और ConcurrentCamera (Iab1c1)
  • Make ImageProcessor.Response#getOutputImage NonNull (Ib9c60)
  • VideoCapture मिररिंग एपीआई जोड़े गए. इनमें VideoCapture.Builder.setMirrorMode(int) और VideoCapture.getMirrorMode() शामिल हैं. ये एपीआई उन ऐप्लिकेशन के लिए काम के हैं जिनमें वीडियो रिकॉर्डिंग को कैमरे की सामान्य झलक के साथ अलाइन करना होता है. जैसे, पीछे वाले कैमरे की झलक मिरर नहीं की जाती, लेकिन सामने वाले कैमरे की झलक मिरर की जाती है. (I713b6, b/194634656)
  • VideoCapture में setTargetFrameRate() API और getTargetFramerate() API जोड़ें (I109d4)VideoCapture.Builder
  • SurfaceOutput को Closable इंटरफ़ेस लागू करने की अनुमति दें और SurfaceOutput.Event के सार्वजनिक कंस्ट्रक्टर को छिपाएं. (I60ea8)
  • प्रोसेस की जा रही रिकॉर्डिंग को डाइनैमिक तरीके से म्यूट या अनम्यूट करने के लिए, Recording.mute जोड़ा गया. अगर प्रोसेस की जा रही रिकॉर्डिंग को मैन्युअल तरीके से म्यूट किया जाता है, तो RecordingStats में AudioStats.AUDIO_STATE_MUTED दिखेगा. (Ie17fc)
  • #setEffects() पैरामीटर को गैर-शून्य बनाया गया. इफ़ेक्ट हटाने के लिए, #clearEffects() एपीआई जोड़ा गया. इफ़ेक्ट हटाने के लिए, ऐप्लिकेशन को #clearEffects() को कॉल करना चाहिए. (I4b4d9)
  • कॉपी कंस्ट्रक्टर (I621a7) के लिए बिल्डर लेने के लिए, ViewfinderSurfaceRequest.Builder के लिए दूसरा कंस्ट्रक्टर जोड़ें

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसमें कैमरा बंद करते समय, Extensions API का इस्तेमाल करने वाले ऐप्लिकेशन क्रैश हो सकते थे (Ib27e5)
  • उस समस्या को ठीक किया गया है जिसकी वजह से, कुछ डिवाइसों पर सामने वाले कैमरे के साथ VideoCapture काम नहीं कर पा रहा था. उदाहरण के लिए, Samsung Galaxy S23 और Xiaomi 2107113SG पर. (Ibec7e, b/270656244)
  • उस समस्या को ठीक किया गया है जिसमें Android 10 या इसके बाद के वर्शन में, बाहरी स्टोरेज के सार्वजनिक फ़ोल्डर में मौजूद फ़ाइल का इस्तेमाल करके फ़ोटो लेने पर हमेशा गड़बड़ी होती थी. कृपया ध्यान दें कि Android 10 में, बाहरी स्टोरेज के सार्वजनिक फ़ोल्डर में मौजूद फ़ाइल का इस्तेमाल करके फ़ोटो लेने के लिए, ऐप्लिकेशन टैग में requestLegacyExternalStorage को सही के तौर पर सेट करना भी ज़रूरी है. (I11b2c)
  • DefaultSurfaceProcessor में RejectedExecutionException के क्रैश होने की समस्या ठीक की गई. VideoCapture के बाइंड होने और गतिविधि के रुकने पर, क्रैश हो सकता है. (Idb46a, b/273713906)

वर्शन 1.3.0-alpha05

22 मार्च, 2023

androidx.camera:camera-*:1.3.0-alpha05 रिलीज़ हो गया है. वर्शन 1.3.0-alpha05 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • VideoCapture रोटेशन एपीआई जोड़े गए हैं. इनमें VideoCapture.Builder.setTargetRotation(int), VideoCapture.setTargetRotation(int), VideoCapture.setTargetRotationDegrees(int), और VideoCapture.getTargetRotation() शामिल हैं. ये एपीआई, डिवाइस के ओरिएंटेशन को लॉक करने वाले ऐप्लिकेशन के लिए काम के होते हैं. ImageCapture.setTargetRotationDegrees(int) और ImageAnalysis.setTargetRotationDegrees(int) को भी जोड़ा गया है. (Id3ffe, b/205242781)
  • इफ़ेक्ट टारगेट के तौर पर VIDEO_CAPTURE और PREVIEW|VIDEO_CAPTURE को अनुमति दें. VIDEO_CAPTURE को टारगेट करने वाले इफ़ेक्ट, VideoCapture UseCase पर लागू होंगे. PREVIEW|VIDEO_CAPTURE को टारगेट करने वाले इफ़ेक्ट, Preview और VideoCapture स्ट्रीम में कॉपी करने से पहले, शेयर की गई स्ट्रीम पर लागू होंगे. (Iee6f3)

गड़बड़ियां ठीक की गईं

  • कैमरा 1.2.2: इस समस्या को ठीक किया गया है. इसमें कुछ डिवाइसों, जैसे कि Pixel (I90aa2) पर proguard चालू होने पर, CameraX Extensions ठीक से काम नहीं करते थे
  • PreviewView गड़बड़ी को ठीक किया गया है. अगर ऐप्लिकेशन स्क्रीन ओरिएंटेशन को खुद मैनेज करता है, तो घुमाने पर झलक खराब हो सकती है. ऐसा सिर्फ़ कुछ डिवाइसों पर होता है. यह समस्या Pixel 4a, Pixel 5, और Pixel 6a पर भी दिख सकती है. (I14340, b/223488673)

वर्शन 1.3.0-alpha04

22 फ़रवरी, 2023

androidx.camera:camera-*:1.3.0-alpha04 रिलीज़ हो गया है. वर्शन 1.3.0-alpha04 में ये कमिट शामिल हैं.

नई सुविधाएं

यह एक नई सुविधा है. इसकी मदद से, एक स्ट्रीम को कई UseCases के साथ शेयर करके, Surface के उन कॉम्बिनेशन को सपोर्ट किया जा सकता है जिन्हें पहले सपोर्ट नहीं किया जाता था.

  • पहले, कैमरा हार्डवेयर लेवल FULL और उससे नीचे के लेवल पर “Preview, VideoCapture, ImageAnalysis” या हार्डवेयर लेवल LEGACY पर “Preview, VideoCapture, ImageCapture” को बाइंड करने पर, CameraX IllegalArgumentException दिखाता था.
  • नई सुविधा के तहत, बाइंडिंग बिना किसी अपवाद के काम करेंगी. इसके बजाय, CameraX, OpenGL का इस्तेमाल करके शेयर की गई स्ट्रीम को Preview और VideoCapture, दोनों में कॉपी करता है.
  • बफ़र कॉपी की लागत के तौर पर, ऐप्लिकेशन में लेटेन्सी और बिजली की खपत बढ़ सकती है.

एपीआई में हुए बदलाव

  • ImageProxy को Bitmap में बदलने के लिए एपीआई जोड़ें. ImageProxy के लिए, ImageFormat.YUV_420_888 और PixelFormat.RGBA_8888 फ़ॉर्मैट का इस्तेमाल किया जा सकता है. अगर फ़ॉर्मैट अमान्य है, तो IllegalArgumentException दिखेगा. (Ic7110)
  • Kotlin में सस्पेंडिंग फ़ंक्शन का इस्तेमाल करके, व्यूफ़ाइंडर को कॉन्फ़िगर करने की सुविधा जोड़ने के लिए, CoroutineCameraViewfinder जोड़ें. (I657bc)
  • ViewfinderSurfaceRequest के लिए नया पब्लिक कंस्ट्रक्टर जोड़ें. इससे उपयोगकर्ता को तब फ़ायदा मिलता है, जब वह CameraCharacteristics नहीं दे पाता. (Ie6549)

गड़बड़ियां ठीक की गईं

  • एक्सटेंशन के क्रैश होने की समस्या को ठीक किया गया है. यह समस्या, कुछ Samsung डिवाइसों पर ऐप्लिकेशन को बहुत तेज़ी से रोकने/फिर से शुरू करने पर होती थी (Iaca26)

वर्शन 1.3.0-alpha03

25 जनवरी, 2023

androidx.camera:camera-*:1.3.0-alpha03 रिलीज़ हो गया है. वर्शन 1.3.0-alpha03 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • डिफ़ॉल्ट कैमरे के हिसाब से, व्यू के ऐंगल की जानकारी देने के लिए CameraInfo.getIntrinsicZoomRatio जोड़ा गया. (Ib300c)
  • लेंस की दिशा की जानकारी देने के लिए, CameraInfo.getLensFacing जोड़ा गया. बाहरी कैमरे चुनने के लिए, CameraSelector#LENS_FACING_EXTERNAL को एक्सपेरिमेंट के तौर पर शुरू की गई सुविधा के तौर पर जोड़ा गया है. (Icaf3e)
  • #setEffect() में #setEffect() जोड़ें. इससे कैमरे के आउटपुट में इफ़ेक्ट जोड़े जा सकते हैं.CameraController (I1d21f)
  • SurfaceRequest में invalidate() कार्ड जोड़ें. सरफ़ेस की सेवा देने वाली कंपनी यह सूचना दे सकती है कि पहले दिया गया सरफ़ेस अब मान्य नहीं है. (Idc649)
  • ImageProcessor API जोड़ें. इस इंटरफ़ेस का इस्तेमाल, ImageCapture पाइपलाइन में पोस्ट-प्रोसेसिंग इफ़ेक्ट डालने के लिए किया जाता है. (I575c6)
  • एपीआई Recorder.Builder.setAspectRatio() जोड़ा गया है. इसे QualitySelector के साथ मिलाकर, ज़्यादा वीडियो रिज़ॉल्यूशन इस्तेमाल किए जा सकते हैं. (I8a082)
  • Target Video Encoding BitRate सेट करने के लिए Recorder.Builder#setTargetVideoEncodingBitRate जोड़ा गया है. साथ ही, Target Video Encoding BitRate पाने के लिए Recorder#getTargetVideoEncodingBitRate जोड़ा गया है. (I5984d)

गड़बड़ियां ठीक की गईं

  • फ़्लैश यूनिट न होने और फ़्लैश मोड चालू होने पर, ImageCapture ठीक से काम नहीं करता था. इस समस्या को ठीक कर दिया गया है. (I9e8b4, b/263391112)
  • कुछ Samsung Android 12 डिवाइसों पर Exif की जगह की जानकारी का डेटा लिखते समय, JPEG इमेज के खराब होने की समस्या ठीक की गई. (Ib7086, b/263747161, b/263289024)
  • कैमरा शुरू होने से पहले टॉर्च/ज़ूम सेट करने पर, जैसे कि CameraController#enableTorch को कॉल करने पर, कार्रवाई को कैश मेमोरी में सेव कर लिया जाता है. इसके बाद, कैमरा शुरू होने पर इसे सबमिट कर दिया जाता है. (I11e92, b/264157663)

वर्शन 1.3.0-alpha02

7 दिसंबर, 2022

androidx.camera:camera-*:1.3.0-alpha02 रिलीज़ हो गया है. वर्शन 1.3.0-alpha02 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • झलक के आउटपुट पर प्रोसेस होने के बाद का इफ़ेक्ट लागू करने के लिए, एक नया एपीआई जोड़ा गया है. (Ic17d5)
  • OutputOptions.getDurationLimit का नाम बदलकर OutputOptions.getDurationLimitMillis और OutputOptions.setDurationLimit का नाम बदलकर OutputOptions.setDurationLimitMillis किया गया. (I91f0c)
  • वीडियो रिकॉर्ड करते समय, ऑडियो से जुड़ी सेटिंग को मैनेज करने के लिए AudioConfig क्लास जोड़ें. @RequiresPermission एनोटेशन को startRecording फ़ंक्शन से AudioConfig में ले जाया गया है, ताकि उन मामलों में अनुमति के गैर-ज़रूरी अनुरोधों से बचा जा सके जहां ऑडियो की ज़रूरत नहीं है. (I28755)
  • नए वीडियो कैप्चर एपीआई को लागू करने के बाद, उन मेटाडेटा, OnVideoSavedCallback, OutputFileOptions, और OutputFileResults क्लास को हटाएं जिनका अब इस्तेमाल नहीं किया जाता. (I38cd8)
  • वीडियो कैप्चर करने वाले नए एपीआई को लागू करें. getVideoCaptureTargetSize और setVideoCaptureTargetSize तरीकों की जगह, getVideoCaptureTargetQuality और setVideoCaptureTargetQuality तरीकों का इस्तेमाल किया जाता है. ऐसा इसलिए, क्योंकि setTargetResolution अब काम नहीं करता. (I2a1d5)

गड़बड़ियां ठीक की गईं

  • बंद किए गए core.VideoCapture एपीआई को हटाएं. (I531e0)
  • स्टोरेज की अनुमति के बिना फ़ोटो लेने पर, onError कॉलबैक के काम न करने की समस्या को ठीक किया गया है.(I936db, b/244807669)
  • कैमरा एक्सटेंशन की क्वालिटी और विश्वसनीयता को बेहतर बनाया गया है. Camera Extensions v1.1.0 और इससे पुराने वर्शन का इस्तेमाल करने वाले Motorola डिवाइसों पर, कैमरा एक्सटेंशन बंद कर दिए गए हैं. ऐसा इसलिए किया गया है, क्योंकि इनमें बोके इफ़ेक्ट की सुविधा काम नहीं करती है. साथ ही, इमेज कैप्चर करने और प्रीव्यू को फिर से शुरू करने से जुड़ी समस्याएं आ रही हैं. (Id3ce3)
  • लेगसी डिवाइसों पर, ViewPort के ज़रिए वीडियो क्रॉप करने की सुविधा चालू होने पर, नेटिव क्रैश की समस्या ठीक की गई. (I16b8a, b/251357665)

वर्शन 1.3.0-alpha01

9 नवंबर, 2022

androidx.camera:camera-*:1.3.0-alpha01 रिलीज़ हो गया है. वर्शन 1.3.0-alpha01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • Camera-viewfinder को आधिकारिक तौर पर पब्लिश कर दिया गया है. Camera-viewfinder एक बुनियादी व्यूफ़ाइंडर विजेट उपलब्ध कराता है. यह Camera2 के लिए कैमरे का फ़ीड दिखा सकता है. उदाहरण के लिए, कृपया सैंपल कोड देखें.

एपीआई में हुए बदलाव

  • वीडियो की अवधि की सीमा सेट करने की अनुमति देने के लिए, OutputOptions.setDurationLimit जोड़ा गया. तय की गई अवधि की सीमा से ज़्यादा होने पर, रिकॉर्डिंग अपने-आप पूरी हो जाएगी. (I902a0)
  • वीडियो रिकॉर्डिंग के ऑडियो में गड़बड़ी होने की स्थिति AudioStats.AUDIO_STATE_SOURCE_ERROR को जोड़ा गया. ऑडियो सोर्स का सेटअप पूरा न होने या कोई गड़बड़ी होने पर भेजा जाता है. (I37410)

गड़बड़ियां ठीक की गईं

  • कुछ गड़बड़ी वाले डिवाइसों को, कैप्चर करने में होने वाली समस्याओं के दौरान एक बार फिर से कैप्चर करने की अनुमति देने के लिए, क्वर्क जोड़ें. (Id4795)
  • ViewPager2 पर PreviewView SurfaceView लागू करने पर, काली स्क्रीन दिखने की समस्या ठीक की गई. समस्या ठीक करने के लिए, अगर अनुरोध किए गए रिज़ॉल्यूशन में बदलाव नहीं किया जाता है, तो PreviewView अपने SurfaceView का फिर से इस्तेमाल करेगा. (Ib3f27)
  • ViewPort या CameraController एपीआई का इस्तेमाल करने पर, वीडियो को काटने की सुविधा (WYSIWYG सुविधा) उपलब्ध होगी. (Ifbba8, b/201085351)
  • Huawei P40 lite पर, फ़्रंट कैमरे से कैप्चर किया गया वीडियो रिकॉर्ड नहीं हो पा रहा था. इस समस्या को ठीक कर दिया गया है. (I87c57, b/250807400)

वर्शन 1.2

वर्शन 1.2.3

24 मई, 2023

androidx.camera:camera-*:1.2.3 रिलीज़ हो गया है. वर्शन 1.2.3 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसकी वजह से, कुछ डिवाइसों पर सामने वाले कैमरे के साथ VideoCapture काम नहीं कर पा रहा था. उदाहरण के लिए, Samsung Galaxy S23 और Xiaomi 2107113SG पर. (Ibec7e, b/270656244)

वर्शन 1.2.2

22 मार्च, 2023

androidx.camera:camera-*:1.2.2 रिलीज़ हो गया है. वर्शन 1.2.2 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसमें कुछ डिवाइसों, जैसे कि Pixel (I90aa2) पर proguard चालू होने पर CameraX Extensions ठीक से काम नहीं करते थे

वर्शन 1.2.1

25 जनवरी, 2023

androidx.camera:camera-*:1.2.1 रिलीज़ हो गया है. वर्शन 1.2.1 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Samsung के कुछ Android 12 डिवाइसों पर, Exif फ़ॉर्मैट में जगह की जानकारी सेव करते समय JPEG इमेज खराब होने की समस्या ठीक की गई है. (b/263289024)

वर्शन 1.2.0

7 दिसंबर, 2022

androidx.camera:camera-*:1.2.0 रिलीज़ हो गया है. वर्शन 1.2.0 में ये कमिट शामिल हैं.

1.1.0 के बाद हुए अहम बदलाव

  • नई लाइब्रेरी camera-mlkit-vision. CameraX को MLKit की कई सुविधाओं के साथ आसानी से इंटिग्रेट करें. जैसे, बारकोड स्कैनिंग, चेहरे की पहचान, टेक्स्ट की पहचान वगैरह. MLKitAnalyzer को नए एपीआई के तौर पर जोड़ा गया है.
  • एक्सपेरिमेंट के तौर पर उपलब्ध नया Zero-Shutter Lag API. यह कैप्चर पाइपलाइन को ऑप्टिमाइज़ करता है, ताकि इमेज की क्वालिटी अच्छी बनी रहे और लेटेंसी कम हो. कैप्चर मोड को CAPTURE_MODE_ZERO_SHUTTER_LAG पर सेट करने पर, शटर बटन दबाने और फ़ोटो लिए जाने के बीच का समय कम हो जाता है. ऐसा अन्य कैप्चर मोड की तुलना में होता है. जिन डिवाइसों पर ZERO_SHUTTER_LAG काम नहीं करता उन पर CAPTURE_MODE_MINIMIZE_LATENCY का इस्तेमाल किया जाएगा.
  • android.camera.core.VideoCapture का इस्तेमाल बंद कर दिया गया है.
  • setStreamUseCase() को सार्वजनिक Camera2Interop एपीआई के तौर पर जोड़ा गया.
  • setOutputImageRotationEnabled के लिए, एपीआई लेवल से जुड़ी ज़रूरी शर्तें जोड़ी गई हैं.
  • ImageAnalysis.Analyzer#getTargetResolutionOverride() का नाम बदलकर ImageAnalysis.Analyzer#getDefaultTargetResolution() कर दिया गया.
  • सेव किए गए वीडियो में जगह का मेटाडेटा सेट करने के लिए एपीआई जोड़ा गया.
  • 16:9 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के साथ VideoCapture और झलक के इस्तेमाल के उदाहरणों का इस्तेमाल करते समय, फ़्रेमरेट कम होने की समस्या ठीक की गई
  • कुछ Samsung डिवाइसों पर BOKEH एक्सटेंशन चालू होने और उपयोगकर्ता के कैमरे बदलने पर, काली झलक दिखने की समस्या ठीक की गई.
  • API लेवल 27 वाले डिवाइसों पर, Samsung J7 Prime (SM-G610M) और J7 (SM-J710MN) में Preview/VideoCapture के स्ट्रेच होने की समस्या ठीक की गई.
  • Samsung Android T पर, सामने वाले कैमरों के एएफ़ रीजन को हॉरिज़ॉन्टली फ़्लिप करने के तरीके को बंद कर दिया गया है. ऐसा इसलिए, क्योंकि इस समस्या को ठीक कर दिया गया है

वर्शन 1.2.0-rc01

24 अक्टूबर, 2022

androidx.camera:camera-*:1.2.0-rc01 रिलीज़ हो गया है. वर्शन 1.2.0-rc01 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • setStreamUseCase के लिए setStreamUseCase एपीआई जोड़ें.OutputConfiguration उपयोगकर्ता, स्ट्रीम सेशन के लिए स्ट्रीम यूज़ केस तय कर सकता है. इससे CameraX के इंटरनल लॉजिक को बदलकर, स्ट्रीम यूज़ केस को चुना जा सकता है, ताकि उपयोगकर्ता की ज़रूरत के हिसाब से ऑप्टिमाइज़ किया जा सके. (Ib1a95)

गड़बड़ियां ठीक की गईं

  • API लेवल 27 वाले डिवाइसों पर, Samsung J7 Prime (SM-G610M) और J7 (SM-J710MN) में Preview/VideoCapture के स्ट्रेच होने की समस्या ठीक की गई. रिज़ॉल्यूशन 1920x1080 होने की वजह से, Preview/VideoCapture इमेज स्ट्रेच हो जाती हैं. झलक या VideoCapture के लिए 1920x1080 रिज़ॉल्यूशन न चुनने के लिए, एक तरीका जोड़ा गया है, ताकि इमेज के खिंचने की समस्या से बचा जा सके. (I0e04e)
  • कुछ Huawei डिवाइसों पर, 16:9 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के साथ VideoCapture और झलक के इस्तेमाल के उदाहरणों का इस्तेमाल करते समय, फ़्रेमरेट कम होने की समस्या ठीक की गई है. (If8c88, b/223643510)
  • Preview के SurfaceProvider को सेट न करने पर, कैमरा चालू न होने की समस्या को ठीक किया गया. इस समस्या को ठीक करने के लिए, अब बिना SurfaceProvider सेट किए झलक देखने की सुविधा को, कैमरा कैप्चर सेशन में कॉन्फ़िगर नहीं किया जाएगा. (I99681)

वर्शन 1.2.0-beta02

21 सितंबर, 2022

androidx.camera:camera-*:1.2.0-beta02 रिलीज़ हो गया है. वर्शन 1.2.0-beta02 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • setOutputImageRotationEnabled के लिए एपीआई लेवल से जुड़ी ज़रूरी शर्तें जोड़ें (I26e3e, b/240993561)

गड़बड़ियां ठीक की गईं

  • Samsung Android T पर, सामने वाले कैमरों के एएफ़ रीजन को हॉरिज़ॉन्टल तौर पर फ़्लिप करने की सुविधा बंद कर दी गई है. ऐसा इसलिए किया गया है, क्योंकि इस समस्या को ठीक कर दिया गया है. (I05f69)
  • कुछ Samsung डिवाइसों पर BOKEH एक्सटेंशन चालू होने और उपयोगकर्ता के कैमरे स्विच करने पर, काली झलक दिखने की समस्या को ठीक किया गया है. (If6168)

वर्शन 1.2.0-beta01

24 अगस्त, 2022

androidx.camera:camera-*:1.2.0-beta01 रिलीज़ हो गया है. वर्शन 1.2.0-beta01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • नई लाइब्रेरी camera-mlkit-vision. CameraX को ML Kit की कई सुविधाओं के साथ आसानी से इंटिग्रेट किया जा सकता है. जैसे, बारकोड स्कैन करना, चेहरे की पहचान करना, टेक्स्ट की पहचान करना वगैरह. कृपया सैंपल कोड यहां देखें.
  • नया एक्सपेरिमेंटल Zero-Shutter Lag API. यह कैप्चर पाइपलाइन को ऑप्टिमाइज़ करता है, ताकि इमेज की क्वालिटी अच्छी बनी रहे और लेटेंसी कम हो. जब कैप्चर मोड को CAPTURE_MODE_ZERO_SHUTTER_LAG पर सेट किया जाता है, तो शटर बटन दबाने और फ़ोटो लेने के बीच का समय कम हो जाता है. ऐसा अन्य कैप्चर मोड की तुलना में होता है. जिन डिवाइसों पर ZERO_SHUTTER_LAG काम नहीं करता है उन पर CAPTURE_MODE_MINIMIZE_LATENCY का इस्तेमाल किया जाएगा.
  • ImageAnalysis.Analyzer और MLKitAnalyzer को आधिकारिक एपीआई के तौर पर बनाया गया.
  • सेव किए गए वीडियो के लिए, जगह का मेटाडेटा सेट करने के लिए एपीआई उपलब्ध कराया गया है.
  • ImageAnalysis.Analyzer#getTargetResolutionOverride() का नाम बदलकर ImageAnalysis.Analyzer#getDefaultTargetResolution() करें.

गड़बड़ियां ठीक की गईं

  • Alps k61v1_basic_ref में इमेज कैप्चर करने से जुड़ी समस्या को ठीक किया गया. HAL से कैप्चर की गई JPEG इमेज में, Exif मेटाडेटा गलत है. Exif मेटाडेटा में 0xffd9 या 0xffda टैग नहीं है. इसलिए, ExifInterface एट्रिब्यूट को सही तरीके से पार्स नहीं कर सकता. इस समस्या को हल करने के लिए, YUV फ़ॉर्मैट में इमेज कैप्चर की जाती हैं. इसके बाद, उन्हें JPEG आउटपुट इमेज में कंप्रेस किया जाता है. (I45abb)

वर्शन 1.2.0-alpha04

27 जुलाई, 2022

androidx.camera:camera-*:1.2.0-alpha04 रिलीज़ हो गया है. वर्शन 1.2.0-alpha04 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • ImageAnalysis.Analyzer#getTargetResolutionOverride() का नाम बदलकर ImageAnalysis.Analyzer#getDefaultTargetResolution() करें. इसके अलावा, इस तरीके के व्यवहार में भी बदलाव किया गया है, ताकि इस तरीके से मिली वैल्यू को ImageAnalysis#setTargetResolution() की वैल्यू से बदला जा सके. (If1d36)
  • सेव किए गए वीडियो के लिए, जगह का मेटाडेटा सेट करने के लिए एपीआई उपलब्ध कराया गया है. android.location.Location ऑब्जेक्ट को नए एपीआई androidx.camera.video.OutputOptions.Builder.setLocation(Location) के ज़रिए सेट किया जा सकता है. (I313a0, b/204197544)

गड़बड़ियां ठीक की गईं

  • अनबाइंड किए गए प्रीव्यू (Ie70b6, b/235119898) की मदद से फ़ोटो लेने से जुड़ी समस्या को ठीक करें
  • ऑडियो सोर्स उपलब्ध न होने पर, रिकॉर्डिंग की कोशिश करते समय Recorder में क्रैश होने की समस्या ठीक की गई. (I9f652)

वर्शन 1.2.0-alpha03

29 जून, 2022

androidx.camera:camera-*:1.2.0-alpha03 रिलीज़ हो गया है. वर्शन 1.2.0-alpha03 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • ImageAnalysis.Analyzer और MLKitAnalyzer के लिए, एक्सपेरिमेंटल एनोटेशन हटा दिया गया है. (I0ff22)

गड़बड़ियां ठीक की गईं

  • ऑटो फ़ोकस के लिए डिफ़ॉल्ट टाइमआउट 5000 मि॰से॰ जोड़ा गया है. अगर isFocusSuccessful को रद्द नहीं किया जाता है और एएफ़ का हिस्सा इस अवधि में कन्वर्ज नहीं होता है, तो यह एएफ़ के हिस्से को isFocusSuccessful false के साथ पूरा करेगा.FocusMeteringAction (Ibc2e3)
  • बिना बाइंड की गई झलक की मदद से फ़ोटो लेने की समस्या को ठीक किया गया (I1d3a2, b/235119898)
  • ऐडवांस एक्सटेंडर को लागू करने की सुविधा चालू की गई. साथ ही, CameraX के साथ काम करने वाले एक्सटेंशन-इंटरफ़ेस के वर्शन को 1.2 (I92256) पर अपडेट किया गया

वर्शन 1.2.0-alpha02

1 जून, 2022

androidx.camera:camera-*:1.2.0-alpha02 रिलीज़ हो गया है. वर्शन 1.2.0-alpha02 में ये कमिट शामिल हैं.

नई सुविधाएं

  • CameraX Zero-Shutter Lag API को एक्सपेरिमेंट के तौर पर उपलब्ध कराया गया है.

एपीआई में हुए बदलाव

  • डिवाइस की क्षमता के बारे में क्वेरी करने के लिए, ImageCapture में नया कैप्चर मोड CAPTURE_MODE_ZERO_SHUTTER_LAG जोड़ें और CameraInfo में isZslSupported जोड़ें. CAPTURE_MODE_ZERO_SHUTTER_LAG मोड का मकसद, तुरंत कैप्चर करने के लिए कम से कम इंतज़ार का समय देना है. इसे रिंग बफ़र के आधार पर लागू किया जाता है. यह इंटरमीडिएट कैप्चर के नतीजों को कैश मेमोरी में सेव करता है, ताकि जब उपयोगकर्ता फ़ोटो लेने के लिए बटन दबाए, तो बाद में उन्हें फिर से प्रोसेस किया जा सके. अगर {@link VideoCapture} बाउंड है या फ़्लैश मोड बंद नहीं है या ओईएम एक्सटेंशन चालू है, तो यह मोड अपने-आप बंद हो जाएगा. (I9ae74)
  • ImageAnalysis.getBackgroundExecutor() तरीका जोड़ें (Icc945)

गड़बड़ियां ठीक की गईं

  • ImageCapture takePicture तरीके से, रिपोर्ट किए गए डिवाइसों पर टॉर्च बंद हो जाती है. (Ib5eb5, b/228272227)
  • उस गड़बड़ी को ठीक किया गया है जिसमें CONTROL_ZOOM_RATIO_RANGE की जानकारी पाने के दौरान, AssertionError को हैंडल नहीं किया जा रहा था.(/Ia248a, b/231701345)

वर्शन 1.2.0-alpha01

18 मई, 2022

androidx.camera:camera-*:1.2.0-alpha01 रिलीज़ हो गया है. वर्शन 1.2.0-alpha01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • नई लाइब्रेरी camera-mlkit-vision लॉन्च की गई है

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसकी वजह से, फ़ॉलबैक रणनीति चालू होने पर QualitySelector, यूएचडी वीडियो रिकॉर्ड नहीं कर पाता था. यह समस्या तब होती है, जब VideoCapture को ImageCapture के साथ बाइंड किया जाता है और फ़ुल या उससे ज़्यादा हार्डवेयर लेवल वाले कैमरे के डिवाइस पर झलक देखी जाती है. QualitySelector की फ़ॉलबैक रणनीति की वजह से, VideoCapture को गलत तरीके से फ़ुल एचडी रिज़ॉल्यूशन मिलता है. इस तरह के इस्तेमाल के लिए, यूएचडी रिज़ॉल्यूशन काम करता है. इसलिए, इसका इस्तेमाल करना चाहिए. (I0e788, b/230651237)
  • NullPointerException को ImageCapture.takePicture() को ठीक किया गया. (I92366, b/230454568, b/229766155)
  • androidx.camera.video.Recorder (Ia8ce8) के एसिंक पॉज़ के व्यवहार से जुड़ी समस्या ठीक की गई

Camera-Camera2, Camera-Core, Camera-Lifecycle, और Camera-Video वर्शन 1.1.0

वर्शन 1.1.0

29 जून, 2022

androidx.camera:camera-*:1.1.0 रिलीज़ हो गया है. वर्शन 1.1.0 में ये कमिट शामिल हैं.

1.0.0 के बाद हुए अहम बदलाव

  • लैंडेड व्यू, एक्सटेंशन, और वीडियो कैप्चर लाइब्रेरी को पहले आरसी वर्शन के तौर पर इस्तेमाल किया जा सकता है. CameraX की सभी लाइब्रेरी, 1.1.0-beta01 से एक ही वर्शन नंबर के साथ काम करेंगी. इससे डेवलपर को वर्शन को ट्रैक करने में आसानी होगी. साथ ही, वर्शन के साथ काम करने से जुड़ी बड़ी मैट्रिक्स की जटिलता कम होगी.
  • नए सार्वजनिक एपीआई और सुविधाएं लॉन्च की गईं. इनमें ये शामिल हैं:
  • वीडियो कैप्चर करने के लिए, आधिकारिक कैमरा-वीडियो लाइब्रेरी जोड़ें.
  • YUV को RGB में बदलने और घुमाने की सुविधा (ImageAnalysis.Builder.setOutputImageRotationEnabled और setOutputImageFormat)
  • मल्टी-विंडो मोड की सुविधा देता है. इससे CameraX ऐप्लिकेशन, कैमरे को फिर से चालू कर सकते हैं. ऐसा तब होता है, जब किसी दूसरे ऐप्लिकेशन की वजह से कैमरा बंद हो जाता है और फ़ोकस वापस आ जाता है.
  • इससे फ़ोल्ड किए जा सकने वाले डिवाइसों में CameraX ठीक से काम करता है. इसके लिए, कुछ पूर्वावलोकन से जुड़ी समस्याओं को ठीक किया जाता है.
  • एक CameraState एपीआई जोड़ा गया है, जिसे CameraInfo के ज़रिए ऐक्सेस किया जा सकेगा.
  • उपलब्ध कैमरों के बारे में सीधे जानकारी पाने के लिए, एक एपीआई ProcessCameraProvider.getAvailableCameraInfos() जोड़ा गया है
  • एक्सटेंशन चालू होने पर, ImageCapture#OnImageCapturedCallback के लिए JPEG फ़ॉर्मैट में आउटपुट दें.
  • CameraInfo में एक एपीआई isFocusMeteringSupported जोड़ा गया है. इससे ऐप्लिकेशन यह देख सकते हैं कि दिया गया FocusMeteringAction, मौजूदा कैमरे पर काम करता है या नहीं.
  • झलक देखने की सुविधा getResolutionInfo, ImageCapture, और ImageAnalysis के लिए, समस्या हल करने की जानकारी देने वाला एपीआई उपलब्ध कराया गया है.
  • फ़ोटो खींचते समय, आउटपुट JPEG इमेज की कंप्रेस करने की क्वालिटी बदलने की अनुमति देने के लिए, नया एपीआई ImageCapture.Builder#setJpegQuality जोड़ा गया है.
  • CameraSelector के आधार पर CameraInfos की सूची को फ़िल्टर करने के लिए, सार्वजनिक एपीआई में CameraSelector#filter जोड़ा गया.
  • मौजूदा कैप्चर अनुरोध के विकल्पों को हटाने के लिए, Camera2CameraControl.clearCaptureRequestOptions जोड़ा गया.
  • बाहरी इमेज प्रोसेसिंग लाइब्रेरी के साथ CameraController का इस्तेमाल करने के लिए, एक्सपेरिमेंटल एपीआई जोड़ा गया है. उदाहरण के लिए, MLKit
  • एक्सपेरिमेंट के तौर पर एपीआई CameraInfo#getCameraSelector() जोड़ा गया है. यह एपीआई, कैमरे के लिए CameraSelector यूनीक वैल्यू दिखाता है
  • कई एक्सपेरिमेंटल एपीआई को आधिकारिक तौर पर सार्वजनिक एपीआई के तौर पर प्रमोट किया गया
  • एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई के लिए, एनोटेशन @Experimental को @RequiresOptIn से बदला गया. एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई को कॉल करने के लिए, androidx.annotation.experimental.UseExperimental के बजाय androidx.annotation.OptIn का इस्तेमाल करें.
  • इन एक्सपेरिमेंटल एपीआई को आधिकारिक एपीआई के तौर पर प्रमोट किया गया है: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(),
  • @ExperimentalCameraFilter एपीआई
  • एक्सपोज़र कंपंसेशन के एक्सपेरिमेंटल एपीआई.
  • कैमरा-कोर, कैमरा-लाइफ़साइकल, और कैमरा-वीडियो के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध UseCaseGroup एपीआई का प्रमोशन किया गया. व्यूपोर्ट को पसंद के मुताबिक बनाने के लिए, ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection, और ViewPort.Builder#setScaleType को जोड़ा गया.
  • ExperimentalUseCaseGroupLifecycle को फ़ॉर्मल पब्लिक एपीआई के तौर पर प्रमोट किया गया.
  • मौजूदा एपीआई में बदलाव
  • Renamed MediaStoreOutputOptions.getCollection से MediaStoreOutputOptions.getCollectionUri.
  • ज़्यादा जानकारी को कम करने के लिए, ActiveRecording का नाम बदलकर "Recording" कर दिया गया है.
  • QualitySelector क्रिएटर एपीआई को सूची पर आधारित एपीआई में बदला गया

गड़बड़ियां ठीक की गईं

  • एक्सटेंशन मोड चालू होने और ImageCapture#CAPTURE_MODE_MAX_QUALITY मोड सेट होने पर, YuvToJpegProcessor EOFException से जुड़ी समस्या ठीक की गई.
  • वीडियो रिकॉर्डिंग बंद होने की वजह से, कोडेक का कॉन्फ़िगरेशन ठीक नहीं किया जा सका
  • FHD में रिकॉर्डिंग करते समय, स्ट्रेच की गई झलक/वीडियो के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) की समस्या ठीक की गई
  • कुछ डिवाइसों पर वीडियो को रोकने और फिर से शुरू करने के बाद, ऑडियो/वीडियो के सिंक न होने की समस्या ठीक की गई
  • हमने उस समस्या को ठीक कर दिया है जिसमें कम रोशनी में, फ़्लैश मोड के अपने-आप चालू होने या हमेशा चालू रहने पर, टैप-टू-फ़ोकस (startFocusAndMetering) के दौरान फ़्लैश चालू हो जाता था.

वर्शन 1.1.0-rc02

1 जून, 2022

androidx.camera:camera-*:1.1.0-rc02 रिलीज़ हो गया है. वर्शन 1.1.0-rc02 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • NullPointerException को ImageCapture.takePicture() को ठीक किया गया. (I92366, b/230454568, b/229766155)
  • CONTROL_ZOOM_RATIO_RANGE की विशेषता को हासिल करते समय, AssertionError को हैंडल न करने वाली गड़बड़ी को ठीक किया गया है. (Ia248a, b/231701345)

वर्शन 1.1.0-rc01

11 मई, 2022

androidx.camera:camera-*:1.1.0-rc01 रिलीज़ हो गया है. वर्शन 1.1.0-rc01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • कैमरा-वीडियो, कैमरा-व्यू, और कैमरा-एक्सटेंशन के लिए पहला आरसी वर्शन रिलीज़ करें

गड़बड़ियां ठीक की गईं

  • हमने उस समस्या को ठीक कर दिया है जिसमें VideoCapture<Recorder> के अनबाउंड होने पर, वीडियो कोडेक रिलीज़ नहीं किया जाता था. इस वजह से, VideoCapture<Recorder> का इस्तेमाल करके MediaCodec.CodecException के साथ रिकॉर्डिंग नहीं की जा सकती थी. खास तौर पर, एपीआई 21-22 वाले डिवाइसों पर यह समस्या होती थी. (Ie7f68)
  • CameraExtensionsActivity से कैप्चर की गई इमेज को ImageCaptureTest में न मिटाने की सुविधा ठीक करना

वर्शन 1.1.0-beta03

6 अप्रैल, 2022

androidx.camera:camera-*:1.1.0-beta03 रिलीज़ हो गया है. वर्शन 1.1.0-beta03 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • CaptureRequestOptions कंस्ट्रक्टर को प्रतिबंधित कर दिया गया है. (I261b6)
  • बाहरी इमेज प्रोसेसिंग लाइब्रेरी के साथ CameraController का इस्तेमाल करने के लिए, एक्सपेरिमेंट के तौर पर एक एपीआई जोड़ा गया है. उदाहरण के लिए, MLKit (I4ea71)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसमें मल्टी-विंडो में डिवाइसों को घुमाने के बाद, गतिविधि को फिर से शुरू न करने पर PreviewView में झलक साइडवे हो जाती है. (I1ea36, b/223488673)
  • मल्टी-विंडो की समस्या को ठीक किया गया है. इस समस्या की वजह से, ऐप्लिकेशन पर फ़ोकस वापस आने पर कैमरा फिर से चालू नहीं होता था. ऐसा तब होता था, जब (1) ज़्यादा प्राथमिकता वाला कोई दूसरा ऐप्लिकेशन, कोई दूसरा कैमरा खोलता था (2) डिवाइस, Samsung Android 12 डिवाइस होता था. (I7e9f2)
  • फ़्लैश की उपलब्धता की जांच करते समय क्रैश होने वाले डिवाइसों के लिए, वर्कअराउंड शामिल किया गया है. इन डिवाइसों पर टॉर्च की सुविधा उपलब्ध नहीं होगी. (If26a3, b/216667482)
  • ऐप्लिकेशन में एक्सटेंशन इस्तेमाल करने और ProGuard चालू करने पर होने वाली AbstractMethodError समस्या को ठीक किया गया है. (I7cbaf, b/222726805)
  • Motorola razr 5G डिवाइस पर, बोके इफ़ेक्ट वाले एक्सटेंशन मोड को ज़बरदस्ती बंद करें. इससे झलक दिखाने वाली स्क्रीन काली हो जाएगी. (I35d49)
  • API 29 से पहले के कुछ Samsung डिवाइसों पर, वीडियो को रोकने और फिर से शुरू करने के बाद ऑडियो/वीडियो के सिंक न होने की समस्या ठीक की गई. (I64622, b/202798609, b/202798572)
  • Sony G3125 पर, वीडियो को रोकने और फिर से चलाने के बाद ऑडियो/वीडियो के सिंक न होने की समस्या ठीक की गई. (I2a1a5, b/202799148)
  • Recorder में InvalidConfigException आने पर, ऐप्लिकेशन क्रैश होने की समस्या को ठीक किया गया है. हालांकि, इस फ़िक्स से सिर्फ़ ऐप्लिकेशन के क्रैश होने की समस्या को रोका जा सकता है. इससे InvalidConfigException की वजह से होने वाली समस्या ठीक नहीं होती. अगर Recorder को अब भी कॉन्फ़िगर नहीं किया जा सकता, तो रिकॉर्डिंग शुरू होने पर ऐप्लिकेशन को गड़बड़ी का कॉलबैक मिलेगा. (I89c29, b/213617227)

बाहरी योगदान

  • test-coroutines-lib माइग्रेशन (I3366d) की वजह से, :compose:ui:ui-test api (updateApi) को अपडेट किया गया

वर्शन 1.1.0-beta02

23 फ़रवरी, 2022

androidx.camera:camera-*:1.1.0-beta02 रिलीज़ हो गया है. वर्शन 1.1.0-beta02 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • Camera2Interop के ज़रिए, फ़िज़िकल कैमरा आईडी तय करने की सुविधा जोड़ी गई. (I5aed8)

गड़बड़ियां ठीक की गईं

  • Oppo Find N (I7d004) पर, स्ट्रेच की गई झलक की समस्या को ठीक किया गया
  • Galaxy J7 Prime में झलक के खराब दिखने की समस्या को ठीक किया गया है. (I4c500)
  • वीडियो एन्कोडर ढूंढने के लिए, बिटरेट का इस्तेमाल करें. (d969052)

वर्शन 1.1.0-beta01

26 जनवरी, 2022

androidx.camera:camera-*:1.1.0-beta01 रिलीज़ हो गया है. वर्शन 1.1.0-beta01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • CameraX की सभी लाइब्रेरी, 1.1.0-beta01 से एक ही वर्शन नंबर के साथ काम करेंगी. इससे डेवलपर को वर्शन को ट्रैक करने में आसानी होगी. साथ ही, वर्शन के साथ काम करने वाली बड़ी मैट्रिक्स की जटिलता कम होगी.

एपीआई में हुए बदलाव

  • कैप्चर करने के मौजूदा अनुरोध के विकल्पों को हटाने के लिए, Camera2CameraControl.clearCaptureRequestOptions जोड़ा गया है. (Ifa07d)

गड़बड़ियां ठीक की गईं

  • Android O(API 26) से पहले के कुछ डिवाइसों पर वीडियो रिकॉर्ड करते समय, ऐप्लिकेशन के क्रैश होने की समस्या को ठीक किया गया है. (I88fdf, b/212328261)
  • Samsung डिवाइसों में, सामने की ओर मौजूद कैमरे पर cameraControl#startFocusAndMetering() का इस्तेमाल करते समय, एएफ़ क्षेत्र की गलत जानकारी दिखाने की समस्या ठीक की गई (Ifbf59, b/210548792)
  • Pixel 3a/Pixel 3a XL पर टॉर्च को फ़्लैश के तौर पर इस्तेमाल करें, ताकि अंधेरे में फ़ोटो खींचने की स्पीड और फ़ोटो की क्वालिटी को बेहतर बनाया जा सके (Ib12b6, b/211474332)
  • इस सुविधा की मदद से, ऐप्लिकेशन को कैमरे का इस्तेमाल फिर से शुरू करने की अनुमति मिलती है. ऐसा तब होता है, जब मल्टी-विंडो मोड में, ज़्यादा प्राथमिकता वाले किसी दूसरे ऐप्लिकेशन की वजह से कैमरे का इस्तेमाल रुक जाता है और फ़ोकस वापस ऐप्लिकेशन पर आ जाता है. कृपया ध्यान दें कि फ़्रेमवर्क से जुड़ी किसी समस्या की वजह से, फ़ोकस में बदलाव होने और कैमरा फिर से खुलने के बीच कुछ समय(एक से 10 सेकंड या इससे ज़्यादा) लग सकता है. (I4d092)

वर्शन 1.1.0-alpha12

15 दिसंबर, 2021

androidx.camera:camera-*:1.1.0-alpha12 रिलीज़ हो गया है. वर्शन 1.1.0-alpha12 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • अंदरूनी क्लास/इंटरफ़ेस से, गैर-ज़रूरी @RequiresApi(21) एनोटेशन हटा दिए गए हैं. (I8e286, b/204917951)
  • QualitySelector के क्वालिटी कॉन्स्टेंट और फ़ॉलबैक रणनीति के कॉन्स्टेंट को क्लास ऑब्जेक्ट के तौर पर दिखाया गया है. उदाहरण के लिए, QualitySelector.QUALITY_HD को Quality.HD में बदल दिया जाता है और QualitySelector.FALLBACK_STRATEGY_LOWER को FallbackStrategy.lowerQualityOrHigherThan(Quality) से मिले इंस्टेंस में बदल दिया जाता है. QualitySelector बनाने के लिए इस्तेमाल किए जाने वाले एपीआई को बदलकर, सूची पर आधारित एपीआई कर दिया गया है. नया API QualitySelector.fromOrderedList(List<Quality>), QualitySelector.Procedure के बनाए गए क्रम के बजाय, इनपुट क्वालिटी की सूची के क्रम को देखेगा. QualitySelector.Procedure क्लास को हटा दिया गया है. (I43343)
  • PendingRecording.withEventListener() को हटा दिया गया है. अब इवेंट लिसनर को PendingRecording.start() में पास करना होगा. इवेंट की पहचान करने वाले इस व्यक्ति की ज़रूरत इसलिए होती है, ताकि VideoRecordEvent.Finalize इवेंट में रिपोर्ट की गई एसिंक्रोनस गड़बड़ियों को ठीक किया जा सके. (I1e71d)
  • ज़्यादा शब्दों का इस्तेमाल कम करने के लिए, ActiveRecording का नाम बदलकर Recording कर दिया गया है. (I77ceb)

गड़बड़ियां ठीक की गईं

  • Pixel 3a और Pixel 3a XL पर, कम रोशनी में FLASH_AUTO मोड में खींची गई फ़ोटो के कम रोशनी में दिखने की समस्या ठीक की गई है (I13f19, b/205373142)
  • झलक Resolution तय करने के लिए, हमेशा डिसप्ले के नए साइज़ का इस्तेमाल करें. (I4a694)
  • ऐसे कैमरे फ़िल्टर किए गए हैं जिनमें REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE नहीं है. REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE की सुविधा वाले कैमरों में, कम से कम वे सभी सुविधाएं होती हैं जो हर कैमरे वाले डिवाइस में होती हैं. REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE के बिना कैमरे का इस्तेमाल खास फ़ंक्शन के लिए किया जा सकता है. साथ ही, यह स्टैंडर्ड कलर आउटपुट के साथ काम नहीं करता. CameraX, उन कैमरों के लिए Preview, ImageCapture, ImageAnalysis या VideoCapture इस्तेमाल के उदाहरणों के साथ काम नहीं कर सकता. इसलिए, उन कैमरों को फ़िल्टर किया जाना चाहिए, ताकि उनका गलत इस्तेमाल न हो. (Ib8cda)
  • नतीजों का सेट खाली होने पर, CameraSelector#filter अब IllegalArgumentException नहीं दिखाता है. (I27804)
  • ओईएम की तय की गई प्रोफ़ाइलों के आधार पर, एन्कोडर सेटिंग चुनने के लिए अब बेहतर अनुमान लगाने वाले तरीकों का इस्तेमाल किया जाता है. (Iaeef0)
  • Pixel 1 पर यूएचडी वीडियो रिकॉर्डिंग शुरू करने के बाद, फ़िक्स्ड प्रीव्यू में इंटरलेस्ड कलर लाइनें दिखेंगी. (I833c6, b/205340278)

वर्शन 1.1.0-alpha11

17 नवंबर, 2021

androidx.camera:camera-*:1.1.0-alpha11 रिलीज़ हो गया है. वर्शन 1.1.0-alpha11 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • CameraSelector#filter को सार्वजनिक एपीआई में जोड़ा गया है, ताकि CameraSelector के आधार पर CameraInfos की सूची को फ़िल्टर किया जा सके. (I105d0)
  • ImageAnalysis कॉन्फ़िगरेशन के लिए, setOutputImageRotationEnabled API जोड़ा गया. उपयोगकर्ता, YUV/RGB इमेज बफ़र के लिए रोटेशन की सुविधा चालू कर सकता है. रोटेशन डिग्री, इमेज को सामने रखने के लिए सेंसर रोटेशन और टारगेट रोटेशन के आधार पर कैलकुलेट किया गया एक रिलेटिव रोटेशन होता है.

  • ImageAnalysis कॉन्फ़िगरेशन के लिए, setOutputImageRotationEnabled API जोड़ा गया. उपयोगकर्ता, YUV/RGB इमेज बफ़र के लिए रोटेशन की सुविधा चालू कर सकता है. रोटेशन डिग्री, इमेज को सामने रखने के लिए सेंसर रोटेशन और टारगेट रोटेशन के आधार पर कैलकुलेट किया गया एक रिलेटिव रोटेशन होता है.

    ImageInfo में getSensorToBufferTransformMatrix एपीआई जोड़ें. दिखाई गई मैट्रिक्स, सेंसर के निर्देशांकों को बफ़र के निर्देशांकों पर मैप करती है. इसका मतलब है कि यह CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE की वैल्यू से (0, 0, image.getWidth, image.getHeight) की वैल्यू पर मैप करती है. मैट्रिक्स का इस्तेमाल, एक {UseCase} से दूसरे {UseCase} तक के कोऑर्डिनेट को मैप करने के लिए किया जा सकता है. उदाहरण के लिए, ImageAnalysis की मदद से पहचाने गए चेहरे के कोऑर्डिनेट को Preview पर मैप करना. (I9ff1e)

  • फ़ोटो खींचते समय, आउटपुट JPEG इमेज की कंप्रेस करने की क्वालिटी बदलने के लिए, नया एपीआई ImageCapture.Builder#setJpegQuality जोड़ा गया. (I8dcf4)

  • MediaStoreOutputOptions.getCollection का नाम बदलकर MediaStoreOutputOptions.getCollectionUri कर दिया गया है. (I16639)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसमें कम रोशनी वाले माहौल में, फ़्लैश मोड के ऑटो या always_on पर सेट होने पर, टैप-टू-फ़ोकस (startFocusAndMetering) के दौरान फ़्लैश चालू हो जाता था. (Id4c11)
  • Pixel 2 XL / Pixel 3 XL में, MINIMIZE_LATENCY मोड में HDR+ को बंद कर दिया गया है, ताकि लेटेन्सी कम हो सके. (Ib6270, b/203505523)

बाहरी योगदान

वर्शन 1.1.0-alpha10

13 अक्टूबर, 2021

androidx.camera:camera-*:1.1.0-alpha10 रिलीज़ हो गया है. वर्शन 1.1.0-alpha10 में ये कमिट शामिल हैं.

नई सुविधाएं

एपीआई में हुए बदलाव

  • सभी CameraX क्लास में @RequiresApi(21) एनोटेशन जोड़ा गया है. साथ ही, AndroidManifest.xml से minSdkVersion हटा दिया गया है. इससे camera-core को उन ऐप्लिकेशन में आसानी से इंटिग्रेट किया जा सकेगा जिनमें minSdkVersion 21 से कम है. हालांकि, वे एपीआई 21 और उसके बाद के वर्शन पर निर्भर करने वाले कोड पाथ का इस्तेमाल कुछ शर्तों के साथ करना चाहते हैं. minSdkVersion 21 या उसके बाद के वर्शन वाले किसी भी ऐप्लिकेशन के लिए, इस बदलाव को लागू करने के लिए कोई कार्रवाई करने की ज़रूरत नहीं है. (Ie7f2e, b/200599470)

गड़बड़ियां ठीक की गईं

  • InitializationException को थ्रो करें, ताकि ऐप्लिकेशन, CameraCharacteristics बनाते समय हुई AssertionError को आसानी से हैंडल कर सके. (Ibec79)

वर्शन 1.1.0-alpha09

29 सितंबर, 2021

androidx.camera:camera-camera2:1.1.0-alpha09, androidx.camera:camera-core:1.1.0-alpha09, और androidx.camera:camera-lifecycle:1.1.0-alpha09 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha09 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • एपीआई के एक्सपेरिमेंटल वर्शन के बंद होने के बाद, ExperimentalUseCaseGroup एनोटेशन को हटा दिया गया है. (I01ef5)

गड़बड़ियां ठीक की गईं

  • MAXIMIZE_QUALITY मोड में, कैप्चर की गई फ़ोटो धुंधली दिखने की समस्या को ठीक किया गया है. (I173a9, b/193823892)
  • Samsung Galaxy J5 में, फ़्लैश चालू/ऑटो मोड में रखकर अंधेरे में फ़ोटो लेने पर, कैमरे के रुक जाने की समस्या को ठीक किया गया है (I3aab9)
  • ImageCapture के लिए इमेज को काटना ज़रूरी होने पर, सेट किए गए कैप्चर मोड के मुताबिक, तय किए गए JPEG क्वालिटी लेवल के साथ काटी गई आउटपुट इमेज को कंप्रेस करना. अगर कैप्चर मोड CAPTURE_MODE_MINIMIZE_LATENCY है, तो JPEG कंप्रेस करने की क्वालिटी 95 होगी. अगर कैप्चर मोड CAPTURE_MODE_MAXIMIZE_QUALITY है, तो JPEG कंप्रेशन की क्वालिटी 100 होगी. (Ieb37c, b/142856426)

वर्शन 1.1.0-alpha08

18 अगस्त, 2021

androidx.camera:camera-camera2:1.1.0-alpha08, androidx.camera:camera-core:1.1.0-alpha08, और androidx.camera:camera-lifecycle:1.1.0-alpha08 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha08 में ये कमिट शामिल हैं.

नई सुविधाएं

  • इमेज विश्लेषण के कॉन्फ़िगरेशन के लिए, setOutputImageFormat API जोड़ा गया. उपयोगकर्ता, ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 या ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888 चुन सकता है. डिफ़ॉल्ट रूप से, ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 चुना जाएगा. (I7902d)

एपीआई में हुए बदलाव

  • ExperimentalUseCaseGroupLifecycle एनोटेशन को हटा दिया गया है, क्योंकि अब एपीआई एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. (I17b85)

गड़बड़ियां ठीक की गईं

  • Huawei P20 Lite पर, फ़िक्स्ड प्रीव्यू स्क्रीन की रोशनी बहुत ज़्यादा है. यह समस्या सिर्फ़ तब होती है, जब खास झलक के कुछ रिज़ॉल्यूशन का इस्तेमाल, ज़ूम इन की बड़ी वैल्यू के साथ किया जाता है. (Idefce, b/192129158)
  • उस समस्या को ठीक कर दिया गया है जिसकी वजह से, फ़्लैश मोड को FLASH_MODE_ON पर सेट करने के तुरंत बाद फ़ोटो लेने पर, कुछ डिवाइसों पर फ़्लैश काम नहीं कर रहा था. (Ieb49b)
  • उस समस्या को ठीक किया गया है जिसमें VideoCapture, ImageCapture, और Preview के बाइंड होने पर, फ़ोटो खींचते समय Preview कुछ समय के लिए रुक जाता था. (I56197, b/193864120)
  • इस विकल्प की मदद से, ImageAnalysis 1080 पिक्सल से ज़्यादा रिज़ॉल्यूशन चुन सकता है. अगर किसी डिवाइस में Preview और ImageCapture की सुविधा उपलब्ध है, तो वह ImageAnalysis के लिए RECORD साइज़ के रिज़ॉल्यूशन का इस्तेमाल कर सकता है. हालांकि, ImageCapture के लिए चुना गया रिज़ॉल्यूशन भी RECORD साइज़ का होना चाहिए. ImageAnalysis के लिए RECORD साइज़ का रिज़ॉल्यूशन चुनने के लिए, ImageCapture और ImageAnalysis, दोनों पर RECORD साइज़ का टारगेट रिज़ॉल्यूशन सेट होना चाहिए. इससे पता चलता है कि ऐप्लिकेशन, ट्रेड-ऑफ़ को अच्छी तरह से समझता है. साथ ही, वह ImageCapture के ज़्यादा से ज़्यादा रिज़ॉल्यूशन के बजाय, ImageAnalysis के ज़्यादा रिज़ॉल्यूशन को प्राथमिकता देता है. RECORD की परिभाषाओं, ज़्यादा से ज़्यादा साइज़, और ज़्यादा जानकारी के लिए, https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture पर जाएं. RECORD साइज़ का मतलब, कैमरे वाले डिवाइस के लिए रिकॉर्डिंग के ज़्यादा से ज़्यादा रिज़ॉल्यूशन से है. यह CamcorderProfile से तय होता है. ज़्यादा से ज़्यादा साइज़ का मतलब, StreamConfigurationMap.getOutputSizes(int) से मिले उस फ़ॉर्मैट या टारगेट के लिए, कैमरा डिवाइस के ज़्यादा से ज़्यादा आउटपुट रिज़ॉल्यूशन से है. (I1ee97, b/192911449)
  • कैप्चर की गई इमेज में Exif डेटा जोड़ें. (I01ff0, b/193342619)
  • अगर सेव करने की जगह फ़ाइल है, तो ImageCapture में सेव की गई इमेज का यूआरआई दिखाएं. (Ib5b49, b/149241379)
  • उस समस्या को ठीक किया गया है जिसकी वजह से, फ़्लैश के साथ कैप्चर की गई इमेज कई डिवाइसों पर गहरे रंग की दिखती थीं. (I4e510)

वर्शन 1.1.0-alpha07

21 जुलाई, 2021

androidx.camera:camera-camera2:1.1.0-alpha07, androidx.camera:camera-core:1.1.0-alpha07, और androidx.camera:camera-lifecycle:1.1.0-alpha07 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha07 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Samsung Galaxy Note 5 में आ रही समस्या को ठीक किया गया है. इस समस्या में, अंधेरे में फ़्लैश चालू/ऑटो मोड में फ़ोटो लेने के बाद कैमरा अटक जाता था (If6871)
  • एक्सटेंशन मोड चालू होने और ImageCapture#CAPTURE_MODE_MAX_QUALITY मोड सेट होने पर, YuvToJpegProcessor EOFException की समस्या ठीक की गई. (I538bd, b/192017012)

वर्शन 1.1.0-alpha06

30 जून, 2021

androidx.camera:camera-camera2:1.1.0-alpha06, androidx.camera:camera-core:1.1.0-alpha06, और androidx.camera:camera-lifecycle:1.1.0-alpha06 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha06 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • कैमरा-कोर (I08ee8) के लिए, एक्सपेरिमेंटल एक्सपोज़र कॉम्पन्सेशन एपीआई का प्रमोशन करना
  • CameraInfo में API isFocusMeteringSupported जोड़ा गया है. इससे ऐप्लिकेशन यह देख सकते हैं कि मौजूदा कैमरे पर, FocusMeteringAction काम करता है या नहीं. (Ib45ae, b/188606490)
  • Preview, ImageCapture, और ImageAnalysis के लिए रिज़ॉल्यूशन की जानकारी देने वाला getResolutionInfo API उपलब्ध कराया गया. (I2b613, b/188600718)
  • एक्सपेरिमेंट के तौर पर उपलब्ध इन एपीआई को आधिकारिक एपीआई के तौर पर प्रमोट किया गया है: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
  • कैमरों के सेट का ऐक्सेस देने के लिए, CameraProvider इंटरफ़ेस को दिखाया गया. (I1a7b1)
  • कैमरा-कोर, कैमरा-लाइफ़साइकल, और कैमरा-वीडियो के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध UseCaseGroup API का प्रमोशन करें. व्यूपोर्ट को पसंद के मुताबिक बनाने के लिए, ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection, और ViewPort.Builder#setScaleType को जोड़ा गया. (I7cee8)

वर्शन 1.1.0-alpha05

2 जून, 2021

androidx.camera:camera-camera2:1.1.0-alpha05, androidx.camera:camera-core:1.1.0-alpha05, और androidx.camera:camera-lifecycle:1.1.0-alpha05 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha05 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • Camera2CameraFilter क्लास हटा दी गई है. CameraFilter का इस्तेमाल करके कैमरा चुनने का सुझाव दें. साथ ही, अगर ज़रूरत हो, तो Camera2CameraInfo के ज़रिए CameraCharacteristics या Camera2 से जुड़ी अन्य जानकारी पाएं. (Ib887c)
  • ExperimentalCameraFilter अब एपीआई, एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. ये अब आधिकारिक तौर पर उपलब्ध हैं. इनका इस्तेमाल, एनोटेट किए गए OptIn के बिना किया जा सकता है. (I4bc94)
  • कैमरे की स्थिति बताने वाले एपीआई को जोड़ा गया है. यह CameraInfo#getCameraState() के ज़रिए उपलब्ध होता है. (Ia86b4)
  • एक्सपेरिमेंट के तौर पर एपीआई CameraInfo#getCameraSelector() जोड़ा गया है. यह एपीआई, कैमरे के हिसाब से यूनीक CameraSelector दिखाता है (I77f9f)

गड़बड़ियां ठीक की गईं

  • Android 11 वाले कुछ डिवाइसों पर, setZoomRatio और setLinearZoom में ListenableFuture के काम न करने की समस्या ठीक की गई है (I716d7)
  • कैमरा स्विच करने की प्रोसेस को तेज़ किया गया है. साथ ही, कैमरा डिवाइस में गड़बड़ी होने की दर को कम किया गया है (I34c99)
  • ExperimentalUseCaseGroupLifecycle को ExperimentalUseCaseGroup से बदल दिया गया है. (I3b2ef, b/159033688)

वर्शन 1.1.0-alpha04

21 अप्रैल, 2021

androidx.camera:camera-camera2:1.1.0-alpha04, androidx.camera:camera-core:1.1.0-alpha04, और androidx.camera:camera-lifecycle:1.1.0-alpha04 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha04 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एक ही कलेक्शन को एक साथ ऐक्सेस करने वाले कई थ्रेड की वजह से होने वाली मेमोरी लीक की समस्या को ठीक किया गया है. मेमोरी लीक की वजह से, Preview इंस्टेंस, Activity या Fragment को बनाए रख सकता है. (I7b4b8)
  • एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई के लिए, एनोटेशन @Experimental को @RequiresOptIn से बदला गया. एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई को कॉल करने के लिए, बंद किए गए androidx.annotation.experimental.UseExperimental के बजाय androidx.annotation.OptIn का इस्तेमाल करें. (Iff226)
  • Samsung Galaxy S7 पर, फ़्लैश चालू/ऑटो मोड में ImageCapture का इस्तेमाल करने पर, धुंधली इमेज मिलती हैं. इस समस्या को ठीक कर दिया गया है. (I30001)
  • CameraState API जोड़ा गया है. इसे CameraInfo के ज़रिए ऐक्सेस किया जा सकेगा. (I75392)

वर्शन 1.1.0-alpha03

24 मार्च, 2021

androidx.camera:camera-camera2:1.1.0-alpha03, androidx.camera:camera-core:1.1.0-alpha03, और androidx.camera:camera-lifecycle:1.1.0-alpha03 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha03 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एक्सटेंशन मोड चालू होने पर, ImageCapture#OnImageCapturedCallback के लिए JPEG फ़ॉर्मैट में आउटपुट दें. (I0d7b1)
  • UMIDIGI BISON डिवाइसों पर, शुरू होने में आने वाली समस्या को ठीक किया गया (I57d9e, b/180818665)
  • PreviewView में, Samsung A3 पर स्ट्रेच की गई झलक की समस्या ठीक की गई. (Iacb30, b/180121821)

वर्शन 1.1.0-alpha02

24 फ़रवरी, 2021

androidx.camera:camera-camera2:1.1.0-alpha02, androidx.camera:camera-core:1.1.0-alpha02, और androidx.camera:camera-lifecycle:1.1.0-alpha02 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha02 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • उपलब्ध कैमरों के बारे में सीधे तौर पर जानकारी पाने के लिए, एक एपीआई ProcessCameraProvider.getAvailableCameraInfos() जोड़ा गया है. ये कैमरे, डिवाइस के सभी कैमरे या CameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector) में दिए गए CameraSelector से चुने गए कैमरे होते हैं. (Ieac08)

गड़बड़ियां ठीक की गईं

  • CameraX अब पहली बार में ही कैमरा खोलने की कोशिश करता है. ऐसा हो सकता है कि CameraX, कैमरे का इस्तेमाल करने वाले अन्य ऐप्लिकेशन से कैमरा छीन ले. ऐसा तब होता है, जब CameraX वाले ऐप्लिकेशन को ज़्यादा प्राथमिकता दी जाती है. (Iab069, b/175820568)
  • CameraXConfig में setAvailableCamerasLimiter का इस्तेमाल करने पर, Robolectric टेस्ट के फ़ेल होने की समस्या ठीक की गई. (Ice307)
  • इस बदलाव से, ImageAnalysis में इमेज की ज़्यादा से ज़्यादा संख्या होने पर अपवाद का पता चलता है. इसलिए, हो सकता है कि क्रैश होने के बजाय, आपको इस्तेमाल के अन्य उदाहरणों के रुकने या धीमे होने की समस्या दिखे. उदाहरण के लिए, झलक का रुक जाना/धीमा हो जाना. (Ic12da, b/175851631)
  • सिर्फ़ Preview या ImageCapture के बाइंड होने पर गड़बड़ियों की सूचना देने के लिए, ExtensionsErrorListener को ठीक किया गया है. (I5ae39)
  • ImageCapture की परफ़ॉर्मेंस में गिरावट की समस्या को ठीक किया गया है. इसके लिए, फ़ोटो लेने से पहले, सेव की गई इमेज की जगह की पुष्टि करने की सुविधा को हटाया गया है. इस बदलाव के बाद, अगर सेव करने की जगह अमान्य है, तो फ़ोटो लेने के बाद इमेज को सेव करने की कोशिश की जाएगी. इसलिए, फ़ोटो सेव न होने की सूचना मिलने में ज़्यादा समय लगेगा. (I1fd4e, b/177061560)
  • "File" टाइप OutputFileOptions के साथ, ImageCapture की परफ़ॉर्मेंस में गिरावट की समस्या ठीक की गई. (I5164a, b/177061560)
  • दस्तावेज़ को अपडेट किया गया है. इसमें लाइब्रेरी कोड से ProcessCameraProvider.configureInstance(...) का इस्तेमाल न करने का सुझाव दिया गया है. (Ib8a9f)

वर्शन 1.1.0-alpha01

27 जनवरी, 2021

androidx.camera:camera-camera2:1.1.0-alpha01, androidx.camera:camera-core:1.1.0-alpha01, और androidx.camera:camera-lifecycle:1.1.0-alpha01 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha01 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • SM-G930T के पीछे वाले कैमरे से लिए गए JPEG फ़ॉर्मैट के फ़ोटो में, कभी-कभी इमेज डेटा खराब हो जाता है. इस समस्या को ठीक करने का तरीका शामिल किया गया है. (I52001, b/159831206)
  • IllegalArgumentException समस्या को ठीक किया गया है. यह समस्या तब होती थी, जब झलक दिखाने के लिए इस्तेमाल किए जा सकने वाले सभी साइज़ 640x480 से छोटे होते थे और डिसप्ले साइज़ 640x480 से बड़ा होता था. (I2a63c, b/150506192)
  • जिन लाइब्रेरी में सार्वजनिक संसाधनों के बारे में साफ़ तौर पर नहीं बताया गया है (जैसे, public.xml के ज़रिए), उनमें मौजूद संसाधन अब डिफ़ॉल्ट रूप से निजी होते हैं. (Ia1dcc, b/170882230)

Camera-Camera2, Camera-Core, और Camera-Lifecycle का वर्शन 1.0.2

वर्शन 1.0.2

29 सितंबर, 2021

androidx.camera:camera-camera2:1.0.2, androidx.camera:camera-core:1.0.2, और androidx.camera:camera-lifecycle:1.0.2 रिलीज़ किए गए हैं. वर्शन 1.0.2 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • MAXIMIZE_QUALITY मोड में, कैप्चर की गई फ़ोटो धुंधली दिखने की समस्या को ठीक किया गया है. (I173a9, b/193823892)
  • फ़्लैश के साथ ली गई इमेज के कई डिवाइसों पर गहरे रंग की दिखने की समस्या को ठीक किया गया है. (I4e510)

Camera-Camera2, Camera-Core, और Camera-Lifecycle का वर्शन 1.0.1

वर्शन 1.0.1

21 जुलाई, 2021

androidx.camera:camera-camera2:1.0.1, androidx.camera:camera-core:1.0.1, और androidx.camera:camera-lifecycle:1.0.1 रिलीज़ किए गए हैं. वर्शन 1.0.1 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक कर दिया गया है जिसकी वजह से, ListenableFuture में setZoomRatio और setLinearZoom के तौर पर मिले डिवाइसों को Android 11 वाले कुछ डिवाइसों पर इस्तेमाल नहीं किया जा सकता था (I716d7)

  • कुछ डिवाइसों पर, कैमरा बंद करते समय उसके अटक जाने की समस्या को ठीक किया गया है. इसकी वजह से, कैमरे की झलक काली दिखती थी. (I34c99)

Camera-Camera2, Camera-Core, और Camera-Lifecycle का वर्शन 1.0.0

वर्शन 1.0.0

5 मई, 2021

androidx.camera:camera-camera2:1.0.0, androidx.camera:camera-core:1.0.0, और androidx.camera:camera-lifecycle:1.0.0 रिलीज़ किए गए हैं. वर्शन 1.0.0 में ये कमिट शामिल हैं.

1.0.0 वर्शन की मुख्य सुविधाएं

  • CameraX, Preview, ImageCapture, और Analysis के साथ काम करता है
  • CameraX, कैमरे के लाइफ़साइकल को मैनेज करता है. इसके लिए, इस्तेमाल में आसान एपीआई का इस्तेमाल किया जाता है
  • CameraX का मकसद, एक ऐसी लेयर उपलब्ध कराना है जो Android Camera Ecosystem की कई समस्याओं को ठीक करती है

ऐसी समस्याएं जिनके बारे में जानकारी पहले से है

वर्शन 1.0.0-rc05

21 अप्रैल, 2021

androidx.camera:camera-camera2:1.0.0-rc05, androidx.camera:camera-core:1.0.0-rc05, और androidx.camera:camera-lifecycle:1.0.0-rc05 रिलीज़ किए गए हैं. वर्शन 1.0.0-rc05 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Samsung Galaxy S7 पर, फ़्लैश चालू/ऑटो मोड में ImageCapture का इस्तेमाल करने पर, धुंधली इमेज मिलती हैं. इस समस्या को ठीक कर दिया गया है. (I30001)

वर्शन 1.0.0-rc04

24 मार्च, 2021

androidx.camera:camera-camera2:1.0.0-rc04, androidx.camera:camera-core:1.0.0-rc04, और androidx.camera:camera-lifecycle:1.0.0-rc04 रिलीज़ किए गए हैं. वर्शन 1.0.0-rc04 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • UMIDIGI BISON डिवाइसों पर, शुरू होने में आने वाली समस्या को ठीक किया गया (I57d9e, b/180818665)

वर्शन 1.0.0-rc03

24 फ़रवरी, 2021

androidx.camera:camera-camera2:1.0.0-rc03, androidx.camera:camera-core:1.0.0-rc03, और androidx.camera:camera-lifecycle:1.0.0-rc03 रिलीज़ किए गए हैं. वर्शन 1.0.0-rc03 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ProcessCameraProvider#getInstance के दस्तावेज़ में फ़ॉर्मैट से जुड़ी गड़बड़ी ठीक करें
  • CameraXConfig में setAvailableCamerasLimiter का इस्तेमाल करने पर, Robolectric टेस्ट के फ़ेल होने की समस्या ठीक की गई.
  • ImageCapture की परफ़ॉर्मेंस में गिरावट की समस्या को ठीक किया गया है. इसके लिए, फ़ोटो लेने से पहले, सेव की गई इमेज की जगह की पुष्टि करने की सुविधा को हटाया गया है. यह बदलाव करने के बाद, अगर सेव करने की जगह अमान्य है, तो फ़ोटो लिए जाने के बाद इमेज को सेव करने की कोशिश की जाएगी. इसलिए, जवाब मिलने में ज़्यादा समय लगेगा
  • इस बदलाव से, ImageAnalysis में इमेज की ज़्यादा से ज़्यादा संख्या होने पर अपवाद का पता चलता है. इसलिए, क्रैश होने के बजाय, आपको इस्तेमाल के अन्य उदाहरणों के रुकने या धीमे होने की समस्या दिख सकती है. उदाहरण के लिए, झलक का रुक जाना/धीमा हो जाना.
  • SM-G930T के पीछे वाले कैमरे से लिए गए JPEG फ़ॉर्मैट के फ़ोटो में, कभी-कभी इमेज डेटा खराब हो जाता है. इस समस्या को ठीक करने का तरीका शामिल किया गया है. (I52001, b/159831206)
  • इस बदलाव से, ImageAnalysis में इमेज की ज़्यादा से ज़्यादा संख्या होने पर अपवाद का पता चलता है. इसलिए, हो सकता है कि क्रैश होने के बजाय, आपको इस्तेमाल के अन्य उदाहरणों के रुकने या धीमे होने की समस्या दिखे. उदाहरण के लिए, झलक का रुक जाना/धीमा हो जाना. (Ic12da, b/175851631)
  • CameraXConfig में setAvailableCamerasLimiter का इस्तेमाल करने पर, Robolectric टेस्ट के फ़ेल होने की समस्या ठीक की गई. (Ice307)
  • ImageCapture की परफ़ॉर्मेंस में गिरावट की समस्या को ठीक किया गया है. इसके लिए, फ़ोटो लेने से पहले, सेव की गई इमेज की जगह की पुष्टि करने की सुविधा को हटाया गया है. इस बदलाव के बाद, अगर सेव करने की जगह अमान्य है, तो फ़ोटो लेने के बाद इमेज को सेव करने की कोशिश की जाएगी. इसलिए, फ़ोटो सेव न होने की सूचना मिलने में ज़्यादा समय लगेगा. (I1fd4e, b/177061560)
  • "File" टाइप OutputFileOptions के साथ, ImageCapture की परफ़ॉर्मेंस में गिरावट की समस्या ठीक की गई. (I5164a, b/177061560)

वर्शन 1.0.0-rc02

27 जनवरी, 2021

androidx.camera:camera-camera2:1.0.0-rc02, androidx.camera:camera-core:1.0.0-rc02, और androidx.camera:camera-lifecycle:1.0.0-rc02 रिलीज़ किए गए हैं. वर्शन 1.0.0-rc02 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • IllegalArgumentException की समस्या ठीक की गई है. यह समस्या तब होती थी, जब झलक दिखाने के लिए काम करने वाले सभी साइज़ 640x480 से छोटे होते थे और डिसप्ले का साइज़ 640x480 से बड़ा होता था. (b/150506192)
  • कैमरे को फिर से खोलने की कोशिशों की संख्या सीमित करें. कैमरा खोलने के दौरान कुछ समस्याओं को ठीक करने की कोशिश करते समय, CameraX अब कैमरे को बार-बार खोलने की कोशिश नहीं करेगा. इसके बजाय, वह 10 सेकंड तक फिर से कोशिश करने के बाद बंद हो जाएगा.I435d2

  • IllegalArgumentException समस्या को ठीक किया गया है. यह समस्या तब होती थी, जब झलक दिखाने के लिए इस्तेमाल किए जा सकने वाले सभी साइज़ 640x480 से छोटे होते थे और डिसप्ले साइज़ 640x480 से बड़ा होता था. (I2a63c, b/150506192)

वर्शन 1.0.0-rc01

16 दिसंबर, 2020

androidx.camera:camera-camera2:1.0.0-rc01, androidx.camera:camera-core:1.0.0-rc01, और androidx.camera:camera-lifecycle:1.0.0-rc01 रिलीज़ किए गए हैं. वर्शन 1.0.0-rc01 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • CameraFilter और Camera2Filter को CameraInfo में बदल दिया गया है. (I6883d)
  • Camera2CameraControl नाम की एक्सपेरिमेंटल क्लास जोड़ी गई है, ताकि Camera2 एपीआई के साथ डाइनैमिक तरीके से इंटरऑपरेट किया जा सके. (I45cf3)
  • Camera2CameraInfo#fromCameraInfo का नाम बदलकर #from कर दिया गया है. (Ia2bd6)
  • CameraXConfig में, एक्सपेरिमेंट के तौर पर setAvailableCamerasLimiter API जोड़ा गया है. इससे ऐप्लिकेशन, इस्तेमाल न किए गए कैमरों को शुरू करने से बच सकते हैं. साथ ही, शुरू होने में लगने वाले समय को ऑप्टिमाइज़ कर सकते हैं. (I6cf88)
  • CameraX के लॉग के लिए, कम से कम लॉगिंग लेवल सेट करने की अनुमति देने के लिए, एक्सपेरिमेंटल तरीके CameraXConfig.Builder#setMinimumLoggingLevel() को जोड़ा गया है. अगर इसे सेट नहीं किया जाता है, तो डिफ़ॉल्ट रूप से Log#DEBUG लागू हो जाता है. (Ic3245)

गड़बड़ियां ठीक की गईं

  • SM-G930V के पीछे वाले कैमरे से ली गई JPEG फ़ाइलों में, इमेज का डेटा कभी-कभी खराब हो जाता है. इस समस्या को ठीक करने का तरीका शामिल किया गया है. (I5aca5, b/159831206)
  • Samsung SM-A716 डिवाइसों पर, फ़्लैश हमेशा चालू होने पर या चालू होने पर, फ़ोटो खींचने के नतीजे नहीं मिलते थे. इस समस्या को ठीक कर दिया गया है. (If98b2, b/172036589)
  • उस समस्या को ठीक किया गया है जिसमें Preview.setSurfaceProvider(null) डायल करके, झलक को रोका नहीं जा सकता था. (I3ac18)
  • कुछ डिवाइसों पर 4:3 इमेज कैप्चर करते समय, ओरिएंटेशन से जुड़ी समस्या को ठीक किया गया है. (I0e3fb, b/171492111)

Camera Camera2, Core, & Lifecycle वर्शन 1.0.0-beta12

11 नवंबर, 2020

androidx.camera:camera-camera2:1.0.0-beta12, androidx.camera:camera-core:1.0.0-beta12, और androidx.camera:camera-lifecycle:1.0.0-beta12 रिलीज़ किए गए हैं. वर्शन 1.0.0-beta12 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Samsung A3 डिवाइसों पर, ऑटो फ़्लैश की सुविधा बंद कर दी गई है. ऐसा इसलिए किया गया है, ताकि Samsung A3 डिवाइसों पर ऑटो फ़्लैश एई मोड में फ़ोटो लेते समय, ऐप्लिकेशन क्रैश होने की समस्या को ठीक किया जा सके. (Ia5fe3, b/157535165)
  • Android L (एपीआई लेवल 21 और 22) पर चलने वाले Nexus 4 डिवाइसों पर, झलक के स्ट्रेच होने की समस्या ठीक कर दी गई है. (I4d407, b/158749159)
  • OnImageCapturedCallback#onCaptureSuccess बेस क्लास लागू करने पर, अब इमेज बंद नहीं होती. इससे डेवलपर को अनचाहे व्यवहार से बचाने में मदद मिलती है. डेवलपर को इमेज बंद करने के लिए, super.onCaptureSuccess पर भरोसा नहीं करना चाहिए. (Ifbf9c)
  • Experimental एनोटेशन के androidx वैरिएंट को बंद कर दिया गया है, ताकि Kotlin के साथ समानता बनी रहे. इसे RequiresOptIn एनोटेशन से बदल दिया गया है. साथ ही, Java-facing linter को अपडेट किया गया है, ताकि यह नए Kotlin एनोटेशन और नए androidx वैरिएंट, दोनों के साथ काम कर सके. (I52495, b/151331381)

Camera-Camera2 Version 1.0.0-beta11

14 अक्टूबर, 2020

androidx.camera:camera-camera2:1.0.0-beta11 रिलीज़ हो गया है. वर्शन 1.0.0-beta11 में ये कमिट शामिल हैं.

नई सुविधाएं

  • Android 11 CONTROL_ZOOM_RATIO API के साथ काम करता है. इससे Android 11 या इसके बाद के वर्शन वाले डिवाइसों पर ज़ूम किया जा सकता है. इन डिवाइसों में मान्य CONTROL_ZOOM_RATIO_RANGE मौजूद होता है. (I62cc6)

गड़बड़ियां ठीक की गईं

  • कैमरा आईडी के पूर्णांक न होने पर, NumberFormatException की समस्या को ठीक किया गया है. (Ib2228)
  • CameraX को शुरू करने और bindToLifecycle को कॉल करने में लगने वाले समय को कम किया गया है (I61dc5)
  • UseCase बनाने के लिए, CameraX को शुरू करने की ज़रूरत नहीं होती. इस्तेमाल के हर मामले के लिए कॉन्फ़िगरेशन, Camera instance से अटैच होने के बाद UseCase पर सेट किए जाते हैं. सार्वजनिक एपीआई के लिए, यह ProcessCameraProvider.bindToLifecycle() है. (Ia5411)
  • <UseCase>.getTargetRotation(), Surface.ROTATION_0 दिखाता है. ऐसा तब होता है, जब इसे Camera इंस्टेंस से अटैच करने से पहले कॉल किया जाता है. हालांकि, ऐसा तब नहीं होता, जब Builder या UseCase पर targetRotation सेट किया गया हो. (I80fcd)

Camera-Core वर्शन 1.0.0-beta11

14 अक्टूबर, 2020

androidx.camera:camera-core:1.0.0-beta11 रिलीज़ हो गया है. वर्शन 1.0.0-beta11 में ये कमिट शामिल हैं.

नई सुविधाएं - Android 11 CONTROL_ZOOM_RATIO एपीआई के साथ काम करता है. इससे Android 11 या इसके बाद वाले वर्शन वाले डिवाइसों पर ज़ूम इन किया जा सकता है. इसके लिए, डिवाइस में मान्य CONTROL_ZOOM_RATIO_RANGE होना चाहिए. (I62cc6)

गड़बड़ियां ठीक की गईं

  • कैमरा आईडी के पूर्णांक न होने पर, NumberFormatException की समस्या को ठीक किया गया है. (Ib2228)
  • UseCase बनाने के लिए, CameraX को शुरू करने की ज़रूरत नहीं होती. इस्तेमाल के हर मामले के लिए कॉन्फ़िगरेशन, Camera instance से अटैच होने के बाद UseCase पर सेट किए जाते हैं. सार्वजनिक एपीआई के लिए, यह ProcessCameraProvider.bindToLifecycle() है. (Ia5411)
  • <UseCase>.getTargetRotation(), Surface.ROTATION_0 दिखाता है. ऐसा तब होता है, जब इसे Camera इंस्टेंस से अटैच करने से पहले कॉल किया जाता है. हालांकि, ऐसा तब नहीं होता, जब Builder या UseCase पर targetRotation सेट किया गया हो. (I80fcd)

Camera-Core वर्शन 1.0.0-beta10

23 सितंबर, 2020

androidx.camera:camera-core:1.0.0-beta10 रिलीज़ हो गया है. वर्शन 1.0.0-beta10 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • इमेज कैप्चर करने के लिए, फ़ाइल सेव करने की जगह की पुष्टि करने से जुड़ी गड़बड़ी ठीक की गई (I8c565, b/167697553)

Camera-Camera2 Version 1.0.0-beta10

23 सितंबर, 2020

androidx.camera:camera-camera2:1.0.0-beta10 रिलीज़ हो गया है. वर्शन 1.0.0-beta10 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ किया गया

Camera-Camera2 Version 1.0.0-beta09

16 सितंबर, 2020

androidx.camera:camera-camera2:1.0.0-beta09 रिलीज़ हो गया है. वर्शन 1.0.0-beta09 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • स्टैटिक तरीके उपलब्ध कराने के बजाय, Camera2CameraInfo को CameraInfo इंस्टेंस मिलता है. इससे Camera2 से जुड़ी जानकारी को वापस पाया जा सकता है. (I5b844)

गड़बड़ियां ठीक की गईं

  • टैबलेट डिवाइसों पर, टारगेट आसपेक्ट रेशियो से जुड़ी समस्या ठीक की गई. अगर टारगेट आसपेक्ट रेशियो AspectRatio.RATIO_16_9 के तौर पर सेट किया गया है, तो 16:9 का साइज़ चुना जाना चाहिए. (Ib7fcf, b/151969438)
  • InitializationException को थ्रो करें, ताकि ऐप्लिकेशन, CameraCharacteristics बनाते समय हुई AssertionError को आसानी से हैंडल कर सके. (I89c8c, b/160524721)
  • ExposureCompensation के लिए एक्सपेरिमेंटल इंटरफ़ेस जोड़े गए (If96c7)

Camera-Core वर्शन 1.0.0-beta09

16 सितंबर, 2020

androidx.camera:camera-core:1.0.0-beta09 रिलीज़ हो गया है. वर्शन 1.0.0-beta09 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • उस गड़बड़ी को ठीक किया गया है जिसमें UseCaseGroup पर व्यूपोर्ट को non-null के तौर पर मार्क किया गया था. डेवलपर को व्यूपोर्ट सेट किए बिना व्यूपोर्ट बनाने की सुविधा मिलनी चाहिए. (Ie3d2e)
  • ExposureCompensation के लिए एक्सपेरिमेंटल इंटरफ़ेस जोड़े गए (If96c7)
  • झलक देखने के लिए, टारगेट को किसी भी तरह से घुमाने की अनुमति दें. बदलाव की जानकारी का हिसाब लगाया जाता है और उपयोगकर्ता को तुरंत भेज दिया जाता है. इसके लिए, नए TranformationInfoListener कॉलबैक का इस्तेमाल किया जाता है. (I21470)

गड़बड़ियां ठीक की गईं

  • कुछ डिवाइसों पर फ़्लैश बंद न होने की समस्या को ठीक किया गया है. ऐसा तब होता है, जब फ़ोटो लेने के लिए फ़्लैश मोड को FLASH_MODE_ON पर सेट किया जाता है और फ़्लैश चालू होने पर इसे FLASH_MODE_OFF पर बदल दिया जाता है. यह समस्या, टॉर्च मोड चालू होने जैसी है. (Ib4451, b/162568128)
  • अगर एक्सटेंशन इफ़ेक्ट चालू है और वेंडर लाइब्रेरी को आउटपुट सर्फ़ेस पर कोई खास प्रोसेस करनी है, तो TextureView का इस्तेमाल करने के लिए, PreviewView को फ़ोर्स किया जाता है. (I0c3cc)
  • ProcessCameraProvider.getInstance(Context) को गतिविधि/फ़्रैगमेंट का कॉन्टेक्स्ट पास किए जाने पर, गतिविधि/फ़्रैगमेंट लीक होने की समस्या ठीक की गई.

ऐसी समस्याएं जिनके बारे में जानकारी पहले से है

  • ViewPort सेट होने पर, HAL में इमेज बफ़र को घुमाने वाले डिवाइसों पर ImageCapture का क्रॉप रेक्ट गलत हो सकता है. इस समस्या को अगले वर्शन में ठीक कर दिया जाएगा.

Camera-Camera2 Version 1.0.0-beta08

19 अगस्त, 2020

androidx.camera:camera-camera2:1.0.0-beta08 रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • bindToLifecycle को ऑप्टिमाइज़ किया गया है, ताकि यह मुख्य थ्रेड पर तेज़ी से चल सके. (I1d57e)
  • DisplayOrientedMeteringPointFactory, CameraSelector के बजाय CameraInfo इंस्टेंस लेता है. इससे यह पता चलता है कि फ़ैक्ट्री किस कैमरे के लिए पॉइंट जनरेट करेगी. DisplayOrientedMeteringPointFactory का इस्तेमाल करने वाली सभी क्लास, CameraSelector के बजाय CameraInfo इंस्टेंस का इस्तेमाल करती हैं. (I400c1)
  • अपने-आप तय होने वाले रिज़ॉल्यूशन के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के साइज़ ग्रुपिंग से जुड़ी समस्या को ठीक किया गया है. इस समस्या में, टारगेट रिज़ॉल्यूशन सेटिंग 2016x1080 होने पर, 16:9 mod16 साइज़ (864x480) चुना जाता था. साथ ही, 1920x1080 16:9 साइज़ भी उपलब्ध होता था. (I53167, b/159363774)
  • CameraControl से जुड़ी उस समस्या को ठीक किया गया है जिसमें रेस कंडीशन की वजह से, यह काम नहीं कर पाता है (I2279f, b/152333890, b/160714166)

Camera-Core वर्शन 1.0.0-beta08

19 अगस्त, 2020

androidx.camera:camera-core:1.0.0-beta08 रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • DisplayOrientedMeteringPointFactory, CameraSelector के बजाय CameraInfo इंस्टेंस लेता है. इसलिए, यह सीधे तौर पर मैप करता है कि फ़ैक्ट्री किस कैमरे के लिए पॉइंट जनरेट करेगी. DisplayOrientedMeteringPointFactory का इस्तेमाल करने वाली सभी क्लास, CameraSelector के बजाय CameraInfo इंस्टेंस का इस्तेमाल करती हैं. (I400c1)

गड़बड़ियां ठीक की गईं

  • इमेज कैप्चर करने के लिए, कैमरे की दिशा के आधार पर मेटाडेटा में, फ़्लिप हॉरिज़ॉन्टल फ़्लैग को बदलें. (I28499)
  • Context.getApplicationContext() से Application ऑब्जेक्ट को वापस नहीं भेजने वाले Context का इस्तेमाल करने पर, अब इनिशियलाइज़ेशन क्रैश नहीं होना चाहिए. (I3d3c9, b/160817073)

Camera-Camera2 Version 1.0.0-beta07

22 जुलाई, 2020

androidx.camera:camera-camera2:1.0.0-beta07 रिलीज़ हो गया है. वर्शन 1.0.0-beta07 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Android 5.0 वाले लेगसी डिवाइस पर, झलक के स्ट्रेच होने की समस्या को ठीक किया गया है. (I0c03a)
  • JPEG फ़ॉर्मैट में काम करने वाले कुछ ऐसे साइज़ हटाए गए हैं जिनकी वजह से, कुछ डिवाइसों पर WYSIWYG की समस्या आ सकती है. (Ib5128)

Camera-Core वर्शन 1.0.0-beta07

22 जुलाई, 2020

androidx.camera:camera-core:1.0.0-beta07 रिलीज़ हो गया है. वर्शन 1.0.0-beta07 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • FIT_CENTER, FIT_START, और FIT_END फ़िट स्टाइल को FIT के साथ मर्ज करें. FITका मतलब है कि लौटाया गया क्रॉप रेक्ट, सेंसर रेक्ट का ज़्यादा से ज़्यादा हिस्सा होगा. (Ia73c3)
  • झलक की क्रॉप आयत को व्यूपोर्ट के हिसाब से कॉन्फ़िगर किया जाता है. असली उपयोगकर्ताओं को सिर्फ़ वह हिस्सा दिखना चाहिए जो क्रॉप रेक्ट में शामिल है. (I142a4)

गड़बड़ियां ठीक की गईं

  • Android 5.0 वाले लेगसी डिवाइस पर, झलक के स्ट्रेच होने की समस्या को ठीक किया गया है. (I0c03a)
  • इस्तेमाल के उदाहरणों को अनबाइंड करते समय, ConcurrentModificationException अपवाद से जुड़ी समस्या ठीक की गई. (I371c0)

Camera-Camera2 वर्शन 1.0.0-beta06

24 जून, 2020

androidx.camera:camera-camera2:1.0.0-beta06 रिलीज़ हो गया है. वर्शन 1.0.0-beta06 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • कैमरा आईडी और CameraCharacteristics के हिसाब से कैमरों को फ़िल्टर करने के लिए, एक्सपेरिमेंटल इंटरफ़ेस जोड़े गए. (I28f61)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसकी वजह से Samsung Galaxy S7 पर startFocusAndMetering फ़ंक्शन, फ़ोकस करने में समस्या आ रही थी. (If3be7, b/159039233)
  • ऐप्लिकेशन बंद करने के बाद, कैमरे के बंद न होने की समस्या ठीक की गई. (I7a7b3)
  • कैमरा को बार-बार स्विच करने पर, PreviewView के SurfaceView को लागू करने के दौरान झलक नहीं दिखती है. इस समस्या को ठीक किया गया है (I920ce)
  • अगर तय किए गए किसी भी MeteringPoint से, मीटरिंग रेक्टैंगल जनरेट नहीं किए जा सकते, तो CameraControl#startFocusAndMetering काम नहीं करेगा. (Id53ce)

Camera-Core वर्शन 1.0.0-beta06

24 जून, 2020

androidx.camera:camera-core:1.0.0-beta06 रिलीज़ हो गया है. वर्शन 1.0.0-beta06 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • कैमरा आईडी और CameraCharacteristics के हिसाब से कैमरों को फ़िल्टर करने के लिए, एक्सपेरिमेंटल इंटरफ़ेस जोड़े गए. (I28f61)

गड़बड़ियां ठीक की गईं

  • CameraX को अब ProcessCameraProvider#configureInstance() के साथ कॉन्फ़िगर किया जा सकता है. इसके बाद, ProcessCameraProvider#getInstance() को कॉल किया जा सकता है. इससे CameraXConfig.Provider को ऐप्लिकेशन के ऐप्लिकेशन क्लास में लागू किए बिना, CameraXConfig को पसंद के मुताबिक बनाया जा सकता है. (Ia1a8d)
  • अगर तय किए गए किसी भी MeteringPoint से, मीटरिंग रेक्टैंगल जनरेट नहीं किए जा सकते, तो CameraControl#startFocusAndMetering काम नहीं करेगा. (Id53ce)

Camera-Camera2 Version 1.0.0-beta05

10 जून, 2020

androidx.camera:camera-camera2:1.0.0-beta05 रिलीज़ हो गया है. वर्शन 1.0.0-beta05 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • फ़ोन के 'परेशान न करें' मोड में होने पर, CameraX को शुरू करते समय ऐप्लिकेशन के क्रैश होने की समस्या ठीक की गई. InitializationException में एक CameraUnavailableException होता है, जिसे ऐप्लिकेशन क्रैश होने के बजाय, इनिशियलाइज़ेशन के नतीजे के ListenableFuture पर सेट किया जाएगा. (I9909a, b/149413835)
  • उन डिवाइसों पर startFocusAndMetering को कॉल करते समय क्रैश होने की समस्या ठीक की गई है जहां CONTROL_AF_STATE शून्य है. (Ife55e, b/157084254)

Camera-Core वर्शन 1.0.0-beta05

10 जून, 2020

androidx.camera:camera-core:1.0.0-beta05 रिलीज़ हो गया है. वर्शन 1.0.0-beta05 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • फ़ोन के 'परेशान न करें' मोड में होने पर, CameraX को शुरू करते समय ऐप्लिकेशन के क्रैश होने की समस्या ठीक की गई. ऐप्लिकेशन क्रैश होने के बजाय, InitializationException में मौजूद CameraUnavailableException को, शुरू होने के नतीजे के ListenableFuture पर सेट किया जाएगा. (I9909a, b/149413835)

गड़बड़ियां ठीक की गईं

  • setTargetResolution और setTargetRotation के अपडेट किए गए javadocs. (Iae16f)

Camera-Camera2 Version 1.0.0-beta04

27 मई, 2020

androidx.camera:camera-camera2:1.0.0-beta04 रिलीज़ हो गया है. वर्शन 1.0.0-beta04 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • इस अपडेट के बाद, ऐप्लिकेशन को Camera2Interop के ज़रिए, किसी भी camera2 कैप्चर अनुरोध पैरामीटर को सेट करने की अनुमति मिल गई है. इससे ऐप्लिकेशन क्रैश नहीं होगा. कृपया ध्यान दें कि पैरामीटर को बदलने की वजह से होने वाली समस्याओं के लिए, Google ज़िम्मेदार नहीं होगा. Camera2Interop का इस्तेमाल करके पैरामीटर बदलने पर, यह ज़रूरी नहीं है कि कैमरा ठीक से काम करे. (Ibe5a1, b/149103700)
  • छद्म स्थान-भाषा का इस्तेमाल करने वाले डिवाइस पर ऐप्लिकेशन का इस्तेमाल करते समय, अपने-आप शुरू होने की सुविधा ठीक कर दी गई है. (I3bef3, b/154767663)
  • डिटैच किए गए इस्तेमाल के उदाहरण से जुड़े गड़बड़ी के लॉग को Camera2CameraImpl पर डीबग लॉग में बदल दिया गया है. (I1a565, b/154422490)
  • उस समस्या को ठीक किया गया है जिसमें फ़्लैश चालू होने के बावजूद, कभी-कभी इमेज बहुत गहरे रंग की हो जाती थी. (I5d9fa, b/149729613)
  • उस गड़बड़ी को ठीक किया गया है जिसमें ImageCapture से ImageProxy में बफ़र किए गए कॉन्टेंट को रिवाइंड नहीं किया जा सका (I0c455, b/153249512)
  • उन समस्याओं को ठीक किया गया है जिनमें ImageCapture को सिर्फ़ बाइंड करने पर: (1) MAX_QUALITY का इस्तेमाल करके फ़ोटो नहीं ली जा सकती थीं; (2) ऑटो एक्सपोज़र काम न करने की वजह से इमेज की क्वालिटी खराब हो जाती थी. (I17782, b/145326998)
  • जब CameraX को किसी दूसरी प्रोसेस या कोडपाथ से डिसकनेक्ट किया जाता है, तब कैमरे को फिर से खोलने की सुविधा को बेहतर बनाया गया है. (I1fbc3, b/153714651)

Camera-Core Version 1.0.0-beta04

27 मई, 2020

androidx.camera:camera-core:1.0.0-beta04 रिलीज़ हो गया है. वर्शन 1.0.0-beta04 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • इसमें एक एक्सपेरिमेंटल एपीआई, CameraXConfig.Builder#setSchedulerHandler() जोड़ा गया है. इसका इस्तेमाल, CameraX कैमरा स्टैक में इंटरनल तौर पर इस्तेमाल किए जाने वाले हैंडलर को सेट करने के लिए किया जाता है. इस नए एपीआई और CameraXConfig.Builder#setCameraExecutor() की मदद से, CameraX कैमरा स्टैक के इस्तेमाल किए जा रहे थ्रेड को पूरी तरह से कंट्रोल किया जा सकेगा. (I7bf32, b/121160431)

गड़बड़ियां ठीक की गईं

  • ImageAnalysis में क्रैश होने की समस्या को ठीक किया गया है. यह समस्या तब होती है, जब ImageReaderProxy बंद होने के बाद ImageProxy को ऐक्सेस किया जाता है. इससे यह भी पक्का होता है कि Analyzer को मिले सभी ImageProxy, ImageReaderProxy के बंद होने से पहले बंद हो जाने चाहिए. (I4b299, b/145956416, b/154155377, b/156357269)
  • CameraInfo पैरामीटर को PreviewView#createSurfaceProvider() से हटा दिया गया है. अब PreviewView, इसे SurfaceRequest से अंदरूनी तौर पर वापस पाता है. (If18f0, b/154652477)
  • छद्म स्थान-भाषा का इस्तेमाल करने वाले डिवाइस पर ऐप्लिकेशन का इस्तेमाल करते समय, अपने-आप शुरू होने की सुविधा ठीक कर दी गई है. (I3bef3, b/154767663)
  • उस समस्या को ठीक किया गया है जिसमें फ़्लैश चालू होने के बावजूद, कभी-कभी इमेज बहुत गहरे रंग की हो जाती थी. (I5d9fa, b/149729613)
  • ImageAnalysis से जुड़ी समस्या को ठीक किया गया है. इसमें setAnalyzer/clearAnalyzer को कई बार कॉल करने पर, इमेज का विश्लेषण करने के लिए ऐनलाइज़र को इमेज नहीं मिलती थी. (I6169f, b/151605317, b/153514544)
  • उस गड़बड़ी को ठीक किया गया है जिसमें ImageCapture से ImageProxy में बफ़र किए गए कॉन्टेंट को रिवाइंड नहीं किया जा सका (I0c455, b/153249512)
  • उस समस्या को ठीक किया गया है जिसकी वजह से, CameraManager में दी गई सूची में मौजूद पहला कैमरा हमेशा इस्तेमाल के लिए नहीं चुना जाता था. (I4c624, b/153418028)
  • Preview.SurfaceProvider को सेट करने की वजह से, कुछ समय के लिए क्रैश होने की समस्या को ठीक किया गया है. ऐसा इसलिए होता था, क्योंकि Preview.SurfaceProvider, पहले अनुरोध किए गए सरफेस को रिलीज़ नहीं करता था. “java.lang.IllegalStateException: Camera surface session should only fail with request cancellation” (I8e4e7, b/155936225)

Camera-Camera2 Version 1.0.0-beta03

15 अप्रैल, 2020

androidx.camera:camera-camera2:1.0.0-beta03 रिलीज़ हो गया है. वर्शन 1.0.0-beta03 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • camera-core को रिलीज़ करने के लिए, गड़बड़ियों को ठीक किया गया

Camera-Core Version 1.0.0-beta03

15 अप्रैल, 2020

androidx.camera:camera-core:1.0.0-beta03 रिलीज़ हो गया है. वर्शन 1.0.0-beta03 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • beta03 में हुई रिग्रेशन की समस्या को ठीक किया गया है. इस समस्या में, शून्य UseCase के साथ bindToLifecycle() को कॉल करने पर थ्रोन अपवाद होता था. इस कुकी का इस्तेमाल, UseCase को बाइंड किए बिना Camera को वापस पाने से रोकने के लिए किया जाता है.

Camera-Camera2 Version 1.0.0-beta02

1 अप्रैल, 2020

androidx.camera:camera-camera2:1.0.0-beta02 रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ImageCapture से जनरेट हुए ImageProxy के ImageInfo.getRotationDegrees() को ठीक किया गया है, ताकि यह EXIF़ ओरिएंटेशन रोटेशनल वैल्यू से मेल खाए. (Id4281, b/150802561)
  • डिफ़ॉल्ट CameraX/Camera2 को लागू करने के लिए, अब build.gradle में CameraX डिपेंडेंसी को साफ़ तौर पर क्रम से लगाने की ज़रूरत नहीं है. ऐसे मामलों में जहां स्ट्रिक्ट डिपेंडेंसी के बारे में बताना ज़रूरी है वहां अब सभी CameraX डिपेंडेंसी को बिल्ड फ़ाइल में शामिल किया जा सकता है. (I46e88)
  • उन डिवाइसों पर होने वाली IllegalArgumentException समस्या को ठीक किया गया है जहां डिसप्ले का साइज़ 640x480 से कम है. (Ife3f2, b/150506192)
  • bindToLifecycle को ठीक किया गया है, ताकि यह सिर्फ़ तब UseCase में बदलाव करे, जब यह सही तरीके से बाइंड हो जाए. पहले, bindToLifecycle को कॉल करने पर, रिज़ॉल्यूशन की कैलकुलेशन करने के लिए UseCase अपडेट किया जाता था. अब इसे कैलकुलेशन करने के लिए, UseCase को अपडेट करने की ज़रूरत नहीं है (I78d9e)

Camera-Core वर्शन 1.0.0-beta02

1 अप्रैल, 2020

androidx.camera:camera-core:1.0.0-beta02 रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ImageCapture से जनरेट हुए ImageProxy के ImageInfo.getRotationDegrees() को ठीक किया गया है, ताकि यह EXIF़ ओरिएंटेशन रोटेशनल वैल्यू से मेल खाए. (Id4281, b/150802561)
  • bindToLifecycle को ठीक किया गया है, ताकि यह सिर्फ़ तब UseCase में बदलाव करे, जब यह सही तरीके से बाइंड हो जाए. पहले, bindToLifecycle को कॉल करने पर, रिज़ॉल्यूशन की कैलकुलेशन करने के लिए UseCase अपडेट किया जाता था. अब इसे कैलकुलेशन करने के लिए, UseCase को अपडेट करने की ज़रूरत नहीं है (I78d9e)
  • उस समस्या को ठीक किया गया है जिसमें Preview को एक से ज़्यादा बार कॉल करने के बाद, झलक दिखाने वाली जगह बदलने पर Preview के कैप्चर सेशन को अपडेट नहीं किया जा रहा था.Preview.setSurfaceProvider()

Camera-Camera2 वर्शन 1.0.0-beta01

26 फ़रवरी, 2020

androidx.camera:camera-camera2:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • SurfaceRequest.setSurface(Surface) का नाम बदलकर SurfaceRequest.provideSurface(Surface) और SurfaceRequest.setWillNotComplete() का नाम बदलकर SurfaceRequest.willNotProvideSurface() किया गया. (I224fe)
  • ImageCapture.setTargetRotation() का इस्तेमाल करके, टारगेट रोटेशन वैल्यू बदलने के बाद, सेव की गई इमेज के आसपेक्ट रेशियो के सही न होने की समस्या को ठीक किया गया है. (I474ea, b/148763432)
  • ProGuard चालू होने पर, ऐप्लिकेशन के वैरिएंट के इनिशियलाइज़ेशन की समस्या ठीक की गई. ऐसा, CameraXConfig की डिफ़ॉल्ट सेवा देने वाली कंपनी को सेट करने वाले फ़्लैग को सुरक्षित रखकर किया गया. (I2d6c1)

Camera-Core वर्शन 1.0.0-beta01

26 फ़रवरी, 2020

androidx.camera:camera-core:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • SurfaceRequest.provideSurface() पर मौजूद ListenableFuture को Executor और Callback से बदला गया. इससे एपीआई का इस्तेमाल करना आसान हो जाता है. अब provideSurface() पर अपवादों को मैनेज करने की ज़रूरत नहीं होती. साथ ही, यह भी पक्का किया जाता है कि provideSurface() कॉलबैक को रद्द नहीं किया जा सकता. ऐसा इसलिए किया गया है, ताकि पुराने डिवाइसों पर क्रैश होने की समस्या न हो. यह समस्या, समय से पहले सर्फ़ेस रिलीज़ करने की वजह से होती है. SurfaceRequest.Result ऑब्जेक्ट का इस्तेमाल अब यह ट्रैक करने के लिए किया जाता है कि SurfaceRequest, दिए गए Surface का इस्तेमाल कैसे करता है. (I7854b)
  • SurfaceRequest.setSurface(Surface) का नाम बदलकर SurfaceRequest.provideSurface(Surface) और SurfaceRequest.setWillNotComplete() का नाम बदलकर SurfaceRequest.willNotProvideSurface() किया गया. (I224fe)

गड़बड़ियां ठीक की गईं

  • ImageCapture.setTargetRotation() का इस्तेमाल करके, टारगेट रोटेशन वैल्यू बदलने के बाद, सेव की गई इमेज के आसपेक्ट रेशियो के सही न होने की समस्या को ठीक किया गया है. (I474ea, b/148763432)
  • ProGuard चालू होने पर, ऐप्लिकेशन के वैरिएंट के इनिशियलाइज़ेशन की समस्या ठीक की गई. ऐसा, CameraXConfig की डिफ़ॉल्ट सेवा देने वाली कंपनी को सेट करने वाले फ़्लैग को सुरक्षित रखकर किया गया. (I2d6c1)
  • फ़्लैश मोड वाले एपीआई के दस्तावेज़ अपडेट किए गए हैं, ताकि संभावित वैल्यू शामिल की जा सकें. (I4a3ec)

Camera-Camera2 Version 1.0.0-alpha10

10 फ़रवरी, 2020

androidx.camera:camera-camera2:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY डिवाइसों पर बेहतर स्थिरता. इसके लिए, यह पक्का किया गया है कि Surfaces को सिर्फ़ Camera2 के इस्तेमाल के दौरान सेव किया जाए. (I9dac2)
  • LEGACY डिवाइसों पर, कम रोशनी वाली झलक की समस्या को ठीक किया गया है. इसके लिए, CONTROL_AE_TARGET_FPS_RANGE को सही तरीके से अडजस्ट किया गया है. (1224638)

Camera-Core Version 1.0.0-alpha10

10 फ़रवरी, 2020

androidx.camera:camera-core:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • ImageCapture को अपडेट किया गया है, ताकि इमेज को Uri और OutputStream में सेव किया जा सके. takePicture के ज़्यादा इस्तेमाल किए गए तरीकों को एक में मिला दिया गया है. Uri को कैननिकल उदाहरण के तौर पर इस्तेमाल करने के लिए, टेस्ट ऐप्लिकेशन को अपडेट किया गया. (Ia3bec)
  • Preview.PreviewSurfaceProvider का नाम बदलकर Preview.SurfaceProvider कर दिया गया है. SurfaceProvider के लिए, अब डेवलपर को अपना ListenableFuture बनाने की ज़रूरत नहीं है. साथ ही, Surface देने का काम अब नए SurfaceRequest ऑब्जेक्ट के ज़रिए किया जाता है. Preview.getPreviewSurfaceProvider() तरीके को हटा दिया गया है, क्योंकि Preview को PreviewView जैसी अन्य क्लास के साथ जोड़ने पर, इसका गलत इस्तेमाल किया जा सकता है. (I20105)
  • getTargetRotation() और getTargetName() को Preview में जोड़ा गया. (Iceee7)
  • getTargetRotation(), getBackpressureStrategy(), और getImageQueueDepth() को ImageAnalysis में जोड़ा गया. (I9d6d9)
  • ImageCapture() में getTargetRotation() और getCaptureMode() को जोड़ा गया (I5bc17)
  • ImageCapture.OnImageSavedCallback.onError() और ImageCapture.OnImageCapturedCallback.onError() में पहले पास किए गए आर्ग्युमेंट को अब एक ही आर्ग्युमेंट ImageCaptureException से बदल दिया गया है. इसमें अब भी वह सारी जानकारी शामिल है जो पहले पास की गई थी.
  • ImageCapture.OnImageSavedCallback.onImageSaved() में पहले पास किए गए फ़ाइल आर्ग्युमेंट को हटा दिया गया है. (I750d2)
  • Preview और ImageCapture क्लास को अब फ़ाइनल के तौर पर मार्क कर दिया गया है. (I2500b)
  • एपीआई को अपडेट कर दिया गया है. इसमें CameraInfo के getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio(), और getLinearZoom() तरीकों को getZoomState() में मर्ज कर दिया गया है. इससे ZoomState इंस्टेंस मिलता है. (Ib19fe)
  • एपीआई फ़ील्ड OPTION_TARGET_CLASS और OPTION_TARGET_NAME को CameraXConfig से हटा दिया गया है, क्योंकि इनका इस्तेमाल सिर्फ़ इंटरनल लाइब्रेरी के लिए किया जाता है. CameraXConfig.Builder के लिए कंस्ट्रक्टर हटाया गया. (I96912)
  • ऐप्लिकेशन के लिए, CameraX को शुरू करने के लिए Application को बढ़ाना ज़रूरी नहीं है. जब तक camera-camera2 आर्टफ़ैक्ट को ऐप्लिकेशन के build.gradle में शामिल किया जाता है, तब तक CameraX को डिफ़ॉल्ट Camera2 कॉन्फ़िगरेशन के साथ शुरू किया जाएगा. (I58ff5) (b/146923574)

Camera-Camera2 वर्शन 1.0.0-alpha09

22 जनवरी, 2020

androidx.camera:camera-camera2:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • Camera2 कैमरा आईडी निकालने के लिए, camera2 इंटरऑप पाथ जोड़ा गया. Camera2CameraInfo.extractCameraId() का इस्तेमाल करके, CameraInfo से कैमरा आईडी निकाला जा सकता है. इस कोड सैंपल में, इसे इस्तेमाल करने का तरीका बताया गया है:

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

    Camera2CameraInfo क्लास के लिए ExperimentalCamera2Interop markerClass की ज़रूरत होती है.

Camera-Core वर्शन 1.0.0-alpha09

22 जनवरी, 2020

androidx.camera:camera-core:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • SurfaceOrientedMeteringPointFactory पैरामीटर useCaseForSurface का नाम बदलकर useCaseForAspectRatio कर दिया गया है. साथ ही, रेफ़रंस दस्तावेज़ को बड़ा कर दिया गया है.
  • FocusMeteringAction.Builder.from() तरीकों की जगह कंस्ट्रक्टर FocusMeteringAction.Builder() का इस्तेमाल किया जाता है.
  • DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float) को हटाया गया. ऐप्लिकेशन को ऐसे कंस्ट्रक्टर का इस्तेमाल करना चाहिए जो Display पैरामीटर लेता हो और मौजूदा डिसप्ले में पास करता हो.
  • MeteringMode और 3A फ़्लैग के बारे में, फ़ोकस और मीटरिंग एपीआई के लिए Javadoc में सुधार किए गए हैं. साथ ही, Display पैरामीटर के इस्तेमाल के बारे में भी सुधार किए गए हैं.
  • setZoomRatio और setLinearZoom के लिए रेफ़रंस दस्तावेज़ को ज़्यादा जानकारी के साथ अपडेट किया गया है.

गड़बड़ियां ठीक की गईं

  • कैमरों को बंद करने और फिर खोलने पर होने वाली समस्याओं को ठीक किया गया है. इन समस्याओं की वजह से, "ज़रूरी शर्तें" की जाँच पूरी नहीं हो पाती थी.
  • टॉर्च और ज़ूम एपीआई का इस्तेमाल करते समय होने वाली ConcurrentModificationException गड़बड़ी को ठीक किया गया.
  • अब mod16 डाइमेंशन का साइज़ उपलब्ध होने पर, अनुरोध किए गए रिज़ॉल्यूशन के आस-पास के रिज़ॉल्यूशन चुने जा सकते हैं. इस समस्या को ठीक कर दिया गया है.
  • startFocusMetering और cancelFocusMetering एपीआई अब दस्तावेज़ में बताए गए तरीके से काम करते हैं. साथ ही, ये सही समय पर काम करते हैं और गड़बड़ी होने पर, उसकी जानकारी देते हैं.
  • उस समस्या को ठीक किया गया है जिसमें किसी ऐसे डिवाइस पर क्रॉप किए गए पहलू के अनुपात के साथ किसी खास टारगेट रिज़ॉल्यूशन का अनुरोध किया गया था जो इस तरह के साइज़ के साथ काम नहीं करता है. अब, जब भी उपलब्ध होगा, तब ओरिजनल अनुरोध को पूरा करने के लिए, बिना काटे गए साइज़ की ऐसी इमेज चुनी जाएगी जिसका रिज़ॉल्यूशन सही हो.

Camera-Camera2 वर्शन 1.0.0-alpha08

18 दिसंबर, 2019

androidx.camera:camera-camera2:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये कमिट शामिल हैं.

ऐसी समस्याएं जिनके बारे में जानकारी पहले से है

  • Camera2 इंटरऑप का इस्तेमाल करते समय, Camera2 के सभी कैप्चर अनुरोध के विकल्प काम नहीं करते. अगर अनुरोध किया गया विकल्प काम नहीं करता है, तो सेशन शुरू नहीं हो पाएगा. साथ ही, इस तरह की गड़बड़ी हो सकती है: 09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination

गड़बड़ियां ठीक की गईं

  • एपीआई लेवल 21 और 22 के लिए, कैमरे को घुमाने या स्विच करने के बाद, झलक वाली ब्लैक स्क्रीन दिखने की समस्या को ठीक किया गया है.

एपीआई में हुए बदलाव

  • एक्सपेरिमेंट के तौर पर उपलब्ध है: कैमरा आईडी निकालने के लिए, camera2 इंटरऑप पाथ जोड़ा गया.

Camera-Core वर्शन 1.0.0-alpha08

18 दिसंबर, 2019

androidx.camera:camera-core:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये कमिट शामिल हैं.

ऐसी समस्याएं जिनके बारे में जानकारी पहले से है

  • PreviewView या CameraView का इस्तेमाल करने वाले ऐप्लिकेशन में, आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) की झलक गलत दिख सकती है. ऐसा कुछ FULL डिवाइसों पर, वीडियो को रोकने या फिर से शुरू करने के बाद होता है. जैसे, Pixel 2.

गड़बड़ियां ठीक की गईं

  • FocusMeteringAction और CameraControl के लिए दस्तावेज़ अपडेट किए गए.
  • enableTorch() और getTorchState() के लिए TorchControl लागू किया गया.

एपीआई में हुए बदलाव

  • IntDefs को छिपाया गया और IntDef कॉन्स्टेंट को IntDef की परिभाषा से बाहर ले जाया गया.
  • rotationDegrees को क्लास OnImageCaptureCallback से ImageInfo में ले जाया गया.
  • rotationDegrees को क्लास Analyzer से ImageInfo में ले जाया गया.

Camera-Camera2 वर्शन 1.0.0-alpha07

4 दिसंबर, 2019

androidx.camera:camera-camera2:1.0.0-alpha07 रिलीज़ हो गया है. camera-camera2 के वर्शन 1.0.0-alpha07 में ये कमिट शामिल हैं

  • Camera2Config अब CameraX के लिए, Camera2 पर आधारित सुविधा को शुरू करने और कॉन्फ़िगर करने के लिए उपलब्ध है. इसे शुरू करने के तरीके के बारे में ज़्यादा जानकारी, रिलीज़ नोट के camera-core सेक्शन में दी गई है.
  • Camera2 interop की सुविधा को अब एक्सपेरिमेंटल के तौर पर मार्क कर दिया गया है. साथ ही, इसे एक अलग पैकेज, androidx.camera.camera2.interop. में ले जाया गया है

Camera-Core वर्शन 1.0.0-alpha07

4 दिसंबर, 2019

androidx.camera:camera-core:1.0.0-alpha07 रिलीज़ हो गया है. camera-core के वर्शन 1.0.0-alpha07 में ये कमिट शामिल हैं

ध्यान दें कि बीटा वर्शन के लिए तैयारी करते समय, इस ऐल्फ़ा वर्शन में कुछ अहम बदलाव किए गए हैं. हमारा सुझाव है कि आप बदलावों की समीक्षा करें. साथ ही, अगर आपको कोई सुझाव/राय देनी है या शिकायत करनी है, तो CameraX Google ग्रुप पर शेयर करें. Play Store पर मौजूद ऐप्लिकेशन में CameraX का इस्तेमाल करने वाले डेवलपर को हमारा सुझाव है कि वे अपने ऐप्लिकेशन में लाइब्रेरी को अपग्रेड करने से पहले, बीटा वर्शन की आधिकारिक रिलीज़ का इंतज़ार करें.

एपीआई में हुए बदलाव

  • अहम जानकारी: CameraX को शुरू करने का तरीका बदल गया है. ऐप्लिकेशन में CameraXConfig.Provider को लागू किया जाना चाहिए. साथ ही, androidx.camera.camera2 की ओर से उपलब्ध कराए गए डिफ़ॉल्ट Camera2Config का इस्तेमाल किया जाना चाहिए. इसका सामान्य इस्तेमाल इस तरह किया जाता है:

    import androidx.camera.camera2.Camera2Config
    import androidx.camera.core.CameraXConfig
    
    public class MyCameraXApplication : Application(),  CameraXConfig.Provider {
        override fun getCameraXConfig(): CameraXConfig {
                return Camera2Config.defaultConfig(this)
        }
    }
    
  • CameraX क्लास को हटा दिया गया है. CameraX क्लास कॉल से पहले उपलब्ध कराए गए bindToLifecycle(), unbind(), unbindAll(), isBound(), और hasCamera() अब ProcessCameraProvider के ज़रिए उपलब्ध हैं.

  • ProcessCameraProvider का हर प्रोसेस इंस्टेंस, स्टैटिक तरीके ProcessCameraProvider.getInstance() का इस्तेमाल करके एसिंक्रोनस तरीके से मिलता है. यह तरीका, सुनने लायक फ़्यूचर दिखाता है. यह फ़्यूचर, पूरा होने पर ProcessCameraProvider उपलब्ध कराता है. यहां onCreate() में, सामान्य इस्तेमाल के लिए इसे दिखाया गया है. गतिविधि के लाइफ़साइकल में बाद में getInstance() को कॉल किया जा सकता है, ताकि शुरू होने में लगने वाले समय को बाद के लिए टाला जा सके. जैसे, जब कोई उपयोगकर्ता कार्रवाई करके कैमरा यूज़र इंटरफ़ेस खोलता है.

    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);
      }
    
  • getInstance() से मिले ListenableFuture में, सुनने वाले को जोड़ा जा सकता है. इससे यह पक्का होता है कि कैमरा उपलब्ध कराने वाली कंपनी को Future.get() पर ब्लॉक किए बिना, Future से वापस पाया जा सकता है

    cameraProviderFuture.addListener(Runnable {
      val cameraProvider = cameraProviderFuture.get()
      cameraProvider.bindToLifecycle(...)
    }, ContextCompat.getMainExecutor(this))
    
  • अब कैमरा चुनने की सुविधा, हर इस्तेमाल के हिसाब से नहीं, बल्कि कैमरा सिलेक्टर के ज़रिए मिलती है

    val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
    
  • CameraProvider.bindToLifecycle को लाइफ़साइकल का मालिक, कैमरा चुनने वाला टूल, और इस्तेमाल के उदाहरण दिए जाते हैं. इसके बाद, इन्हें लाइफ़साइकल के मालिक से जोड़ा जाता है और चुने गए कैमरे के लिए चलाया जाता है.

    cameraProvider.bindToLifecycle(this as LifecycleOwner,
           cameraSelector, preview, imageAnalysis)
    
  • “Config” क्लास के इस्तेमाल के उदाहरण हटा दिए गए हैं. इसके बजाय, सीधे तौर पर इस्तेमाल के उदाहरण बनाएं. इसके लिए, हर उदाहरण बनाने वाले टूल पर विकल्प सेट करें. उदाहरण के लिए:

    preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
    
  • Android के सबसे सही तरीकों को ध्यान में रखते हुए, 'झलक देखें' सुविधा के इस्तेमाल के उदाहरण को अपडेट किया गया है. इससे ऐप्लिकेशन, बनाए गए और मैनेज किए गए किसी सर्फ़ेस को स्वीकार कर सकता है. हमारा सुझाव है कि आप camera-view पैकेज में दिए गए PreviewView view class का इस्तेमाल करें.

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • ऐप्लिकेशन के ज़रिए मैनेज किए जाने वाले प्लैटफ़ॉर्म को अटैच करने के बारे में जानकारी देने वाला दस्तावेज़ देखें. इन मामलों में, ऐप्लिकेशन, सर्फ़ेस के लाइफ़साइकल को मैनेज करता है.

  • अहम जानकारी: ImageAnalysis Analyzer के तरीके को लागू करने के दौरान, मिली हुई इमेज का इस्तेमाल करने के बाद, image.close() को कॉल करना ज़रूरी है. ऐसा न करने पर, हो सकता है कि आपको नई इमेज न मिलें या बैक प्रेशर की सेटिंग के आधार पर कैमरा रुक जाए. ज़्यादा जानकारी के लिए, रेफ़रंस दस्तावेज़ देखें.

  • ImageAnalysis ImageReaderMode को अब बैकप्रेशर रणनीति intdef में बदल दिया गया है.

  • ImageProxy.getImage() को एक्सपेरिमेंट के तौर पर मार्क किया गया है. ऐप्लिकेशन को इस्तेमाल के बारे में जानकारी देनी चाहिए. उदाहरण के लिए, @androidx.camera.core.ExperimentalGetImage के ज़रिए

  • Analyzer के लिए, UIThread एनोटेशन की ज़रूरी शर्त हटा दी गई है.

  • किसी ऐनलाइज़र को हटाने के लिए, ImageAnalysis.clearAnalyzer() फ़ंक्शन जोड़ा गया है.

  • जिन श्रोताओं के पास एक से ज़्यादा तरीके हैं उनका नाम बदलकर कॉलबैक कर दिया गया है:

    • ImageCapture.OnImageCapturedListener अब ImageCapture.OnImageCapturedCallback हो गया है
    • ImageCapture.OnImageSavedListener अब ImageCapture.OnImageSavedCallback हो गया है
    • VideoCapture.OnVideoSavedListener अब VideoCapture.OnVideoSavedCallback हो गया है
  • Enums को IntDef में बदल दिया गया है

  • ज़ूम करने की सेटिंग जोड़ी गई हैं:

    • CameraControl.setLinearZoom()
    • CameraControl.setZoomRatio()
    • CameraInfo.getLinearZoom()
    • CameraInfo.getMaxZoomRatio()
    • CameraInfo.getZoomRatio()
  • CameraInfo.hasFlashUnit() को यह पता लगाने के लिए जोड़ा जाता है कि डिवाइस में फ़्लैश/टॉर्च हार्डवेयर मौजूद है या नहीं.

  • CameraInfo.isFlashAvailable() को हटा दिया गया है. टॉर्च, फ़्लैश की सुविधा को बदल देती है. ज़्यादा जानकारी के लिए, रेफ़रंस दस्तावेज़ देखें.

  • ImageCapture.Metadata फ़ील्ड को get/set/is ऐक्सेसर से बदल दिया गया है.

  • startFocusMetering और cancelFocusMetering अब ListenableFutures दिखाते हैं. यह कॉल के एसिंक्रोनस ऑपरेशन को दिखाता है.

  • MeteringPoints अब मीटरिंग की कार्रवाइयों के लिए हैंडल के तौर पर काम कर रहे हैं. इन्हें फ़ैक्ट्रियां बनाती हैं. ऐप्लिकेशन को कस्टम फ़ैक्ट्रियों के बजाय, मौजूदा फ़ैक्ट्रियों का इस्तेमाल करना चाहिए.

ठीक की गई समस्याएं

  • कैमरे को फिर से चालू करने पर, फ़ोटो लेने में आ रही समस्या को ठीक किया गया है. यह समस्या तब आती थी, जब कैमरे को पहले बंद कर दिया गया हो और फ़ोटो लेने की प्रोसेस पूरी न हुई हो.
  • ज्ञात समस्या: CameraControl.enableTorch() फ़ंक्शन काम कर रहा है, लेकिन इससे मिलने वाला ListenableFuture<Void> हमेशा complete(success) होता है. भले ही, फ़्लैश यूनिट न हो. आने वाले वर्शन में, इस समस्या को ठीक कर दिया जाएगा. इसके बाद, फ़्लैश यूनिट न होने पर, enableTorch(true) तुरंत काम करना बंद कर देगा (CaptureSession को अनुरोध नहीं भेजेगा). साथ ही, TorchState बंद रहेगा.
  • ज्ञात समस्या: startFocusAndMetering और cancelFocusAndMetering, फ़ोकस मीटरिंग को शुरू और रद्द करते हैं. हालांकि, ये तुरंत completed (success) फ़्यूचर दिखाते हैं, जो दस्तावेज़ में बताए गए व्यवहार के मुताबिक नहीं होता. ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering() से मिला FocusMeteringResult एक फ़र्ज़ी नतीजा है, जो isFocusSuccessful() है. यह हमेशा "गलत" होता है. यह, तय किए गए और दस्तावेज़ में बताए गए व्यवहार से अलग होता है.
  • ज्ञात समस्या: PreviewView टच इवेंट के साथ इस्तेमाल करने के लिए, मीटरिंग पॉइंट फ़ैक्ट्री डेवलप की जा रही है. फ़िलहाल, कस्टम मैनेज की गई सतहों से कनेक्ट होने वाले ऐप्लिकेशन, मौजूदा मीटरिंग पॉइंट फ़ैक्ट्रियों का इस्तेमाल कर सकते हैं. इसके अलावा, PreviewView के लिए टच फ़ोकस करने की कोई सुविधा उपलब्ध नहीं है.

Camera-Camera2 और Camera-Core वर्शन 1.0.0-alpha06

9 अक्टूबर, 2019

androidx.camera:camera-camera2:1.0.0-alpha06 और androidx.camera:camera-core:1.0.0-alpha06 रिलीज़ हो गए हैं. ये camera-camera2:1.0.0-alpha06 में शामिल कमिट हैं और ये camera-core:1.0.0-alpha06 में शामिल कमिट हैं.

नई सुविधाएं

आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) सेट करने में बदलाव:

  • setTargetAspectRatioMode() को जोड़ा गया है और यह enum आर्ग्युमेंट स्वीकार करता है. इससे आसपेक्ट रेशियो मोड सेट हो जाता है. इसमें, मनमुताबिक आसपेक्ट रेशियो के बजाय RATIO_4_3 या RATIO_16_9 के विकल्प मिलते हैं. इससे यह पता चलता है कि कैमरे से सिर्फ़ कुछ आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) मिलते हैं, न कि कोई भी रेशियो.
    • फ़िलहाल, सिर्फ़ 16:9 और 4:3 के आसपेक्ट रेशियो उपलब्ध हैं. 1:1 के मामले में, सिर्फ़ कुछ डिवाइसों पर कैमरे से यह सुविधा उपलब्ध है. साथ ही, यह सुविधा सिर्फ़ सीमित रिज़ॉल्यूशन पर उपलब्ध है. जिन ऐप्लिकेशन को 1:1 इंटरफ़ेस डिज़ाइन करना है या प्रोसेसिंग करनी है उन्हें 16:9 या 4:3 के ज़्यादा फ़्लेक्सिबल विकल्पों का इस्तेमाल करना चाहिए. साथ ही, डिसप्ले को काटना चाहिए या किसी सबरीजन को प्रोसेस करना चाहिए.
    • इन आसपेक्ट रेशियो का इस्तेमाल, सेंसर के ज़्यादा से ज़्यादा हिस्से को इस्तेमाल करने के लिए किया जाता है.
  • getTargetAspectRatio() को इस्तेमाल के उदाहरण के कॉन्फ़िगरेशन एपीआई में जोड़ा गया है. इससे, इस्तेमाल के उदाहरण के आउटपुट के लिए टारगेट किए गए आसपेक्ट रेशियो की जानकारी मिलती है.
  • ImageCapture के लिए, setTargetAspectRatio(Rational aspectRatio) तरीके को बदलकर setTargetAspectRatioCustom(Rational aspectRatio) कर दिया गया है. इस विकल्प को सेट करने पर, ImageCapture का आउटपुट उसी के हिसाब से काट दिया जाता है.

एक्ज़ीक्यूटर एपीआई

  • नीचे दिए गए फ़ंक्शन, एक्ज़ीक्यूटर पैरामीटर स्वीकार करते हैं. इससे ऐप्लिकेशन को यह कंट्रोल करने की अनुमति मिलती है कि फ़ंक्शन किस एक्ज़ीक्यूटर पर चलता है.
    • Preview.setOnPreviewOutputUpdateListener() एपीआई. अगर उस फ़ंक्शन के लिए एक्ज़ीक्यूटर मौजूद नहीं है, तो यह मुख्य थ्रेड पर एक्ज़ीक्यूट होता है.
    • Preview.setOnPreviewOutputUpdateListener
    • FocusMeteringAction.Builder.setAutoFocusCallback
    • ImageAnalysis.setAnalyzer
    • ImageCapture.takePicture
    • CameraView.takePicture
    • CameraView.startRecording
    • VideoCapture.startRecording

CameraInfo में, Flash Available और Sensor Rotation API की जांच करने की सुविधा जोड़ी गई

  • CameraInfo और getCameraInfo तरीका जोड़ा गया है. इससे ऐप्लिकेशन यह देख सकते हैं कि CameraInfo का सामना करने वाला लेंस उपलब्ध है या नहीं. साथ ही, यह भी देख सकते हैं कि उस कैमरे पर फ़्लैश उपलब्ध है या नहीं. उदाहरण के लिए:

    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);
    }
    
  • CameraInfo.getSensorRotationDegrees() को जोड़ा गया. यह डिवाइस के नैचुरल ओरिएंटेशन के हिसाब से, कैमरा सेंसर के ओरिएंटेशन की जानकारी देता है. इसके अलावा, यह Surface रोटेशन के हिसाब से भी जानकारी देता है. Surface रोटेशन, नैचुरल ओरिएंटेशन के हिसाब से ओरिएंटेशन की जानकारी देता है.

एपीआई में बदलाव और गड़बड़ियां ठीक की गईं

  • आस्पेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात): इस्तेमाल के हर तरीके के लिए, ऐप्लिकेशन को सिर्फ़ setTargetResolution() या setTargetAspectRatio() में से किसी एक को कॉल करना चाहिए. एक ही बिल्डर पर दोनों को कॉल करने पर गड़बड़ी होती है.
    • आम तौर पर, ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) डिज़ाइन के आधार पर, setTargetAspectRatio() का इस्तेमाल करने का सुझाव दिया जाता है. समस्या हल करने के तरीके, इस्तेमाल के उदाहरण पर आधारित होते हैं. उदाहरण के लिए, प्रीव्यू की सुविधा स्क्रीन रिज़ॉल्यूशन के हिसाब से काम करती है. वहीं, इमेज कैप्चर करने की सुविधा से हाई रिज़ॉल्यूशन वाली इमेज मिलती हैं. ज़्यादा जानकारी के लिए, अपने-आप ठीक होने वाली गड़बड़ियों की टेबल देखें.
    • ज़्यादा खास मामलों के लिए setTargetResolution() का इस्तेमाल करें. जैसे, जब कम से कम (कैलकुलेशन सेव करने के लिए) या ज़्यादा से ज़्यादा रिज़ॉल्यूशन (जानकारी प्रोसेस करने के लिए) की ज़रूरत हो.
  • Executor API: इस्तेमाल के उदाहरण के कॉन्फ़िगरेशन वाले एपीआई से setCallbackHandler() कॉल को हटा दिया गया है. इसके बजाय, ऐप्लिकेशन, एक्ज़ीक्यूटर को उन अन्य एपीआई में पैरामीटर के तौर पर सेट कर सकते हैं जो कॉलबैक सेट करते हैं.
  • कई फ़ंक्शन के लिए, शून्य एनोटेशन अपडेट किए गए हैं.
  • कैमरा खोलने पर, java.lang.IllegalStateException at Camera$StateCallback.onError दिखने की समस्या को ठीक किया गया है.
  • हमने उस समस्या को ठीक कर दिया है जिसमें ऐप्लिकेशन के बड़े या डिफ़ॉल्ट रिज़ॉल्यूशन का अनुरोध करने पर, बहुत छोटे रिज़ॉल्यूशन (640x480 से कम) चुने जाते थे. इससे, झलक वाली इमेज धुंधली या पिक्सलेट हो जाती थी. जिन ऐप्लिकेशन को खास तौर पर कम रिज़ॉल्यूशन की ज़रूरत होती है वे इसके लिए अनुरोध कर सकते हैं.
  • उस समस्या को ठीक किया गया है जिसमें किसी ऐसे इंटेंट से वापस आने पर कैमरा काली स्क्रीन दिखाता था जिसने किसी अन्य कैमरा ऐप्लिकेशन को लॉन्च किया था.
  • उस बग को ठीक कर दिया गया है जिसकी वजह से, ऐप्लिकेशन को बार-बार शुरू या बंद करने पर यह गड़बड़ी दिखती थी; java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
  • ImageAnalysis की सुविधा बंद करने पर होने वाली इस गड़बड़ी को ठीक किया गया है: java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
  • कैमरा डिसकनेक्ट करने के फ़्लो के लिए, अतिरिक्त टेस्ट जोड़े गए.
  • कैमरे की लगातार जांच करने पर, टेस्ट सिस्टम की मज़बूती को बेहतर बनाया गया है.

Camera-Camera2 और Camera-Core वर्शन 1.0.0-alpha05

5 सितंबर, 2019

androidx.camera:camera-camera2:1.0.0-alpha05 और androidx.camera:camera-core:1.0.0-alpha05 रिलीज़ हो गए हैं. ये camera-camera2:1.0.0-alpha05 में शामिल कमिट हैं और ये camera-core:1.0.0-alpha05 में शामिल कमिट हैं.

  • एपीआई में बदलाव: इस्तेमाल के उदाहरण से जुड़ी गड़बड़ी वाले वैरिएबल के नाम बदले गए:

    • ImageCapture.UseCaseError का नाम बदलकर ImageCapture.ImageCaptureError कर दिया गया है
    • VideoCapture.UseCaseError का नाम बदलकर VideoCapture.VideoCaptureError कर दिया गया है
  • CameraControl एपीआई को टैप-टू-फ़ोकस एपीआई के साथ जोड़ा गया

    • कैमरे के लिए CameraX से CameraControl पाने के लिए एपीआई जोड़ा गया. इसे लेंस के हिसाब से चुना जाता है:

      CameraX.getCameraControl(LensFacing lensFacing)

    • टैप करके फ़ोकस करने की सुविधा को चालू करने के लिए, MeteringPointFactory, MeteringPoint, MeteringMode, और FocusMeteringAction को जोड़ा गया:

      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();
      
    • फ़ोकस मीटरिंग शुरू करने और रद्द करने के लिए, CameraControl के लिए एपीआई जोड़ा गया:

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

    • मीटरिंग पॉइंट फ़ैक्ट्रियों के लिए एपीआई जोड़े गए हैं. ये एपीआई, व्यू क्लास के आधार पर टैप कोऑर्डिनेट को सेंसर कोऑर्डिनेट में बदलने में मदद करते हैं:

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

  • यह मुख्य (यूआई) थ्रेड पर, यहां दिए गए तरीकों को लागू करता है. अगर ऐसा नहीं होता है, तो IllegalStateException दिखाता है. आने वाले वर्शन में, इसका इस्तेमाल अन्य थ्रेड पर किया जा सकेगा. साथ ही, यह भी पक्का किया जा सकेगा कि यह क्रम से काम करे.

    • CameraX.bindToLifecycle()
    • CameraX.unbind()
    • CameraX.unbindAll()
    • ImageAnalysis.setAnalyzer()
    • ImageAnalysis.getAnalyzer()
    • ImageAnalysis.removeAnalyzer()
    • Preview.removePreviewOutputListener()
    • Preview.getOnPreviewOutputUpdateListener()
    • Preview.setOnPreviewOutputUpdateListener()
  • कॉन्फ़िगरेशन की अलग-अलग सेटिंग अब शून्य पैरामीटर स्वीकार करती हैं. साथ ही, उनसे जुड़े गेटर शून्य वैल्यू दिखा सकते हैं.

  • उन इम्यूलेटर पर टेस्टिंग के दौरान आने वाली समस्या को ठीक किया गया है जो AF/AE/AWB सेटिंग के साथ काम नहीं करते.

  • इमेज का विश्लेषण करते समय, डिवाइस को घुमाने पर क्रैश होने वाली गड़बड़ी को ठीक किया गया है.

  • उस बग को ठीक किया गया है जिसकी वजह से, रोटेशन के बाद या फ़्रंट और बैक कैमरे के बीच स्विच करने पर, कैमरे का डेटा न होने की वजह से झलक काली दिखती थी.

  • एक साथ कई इमेज का विश्लेषण करने के इस्तेमाल के उदाहरणों के लिए, टेस्टिंग की सुविधा हटा दी गई है. यह पक्का करने के लिए कि ऐप्लिकेशन, इमेज विश्लेषण की सुविधा के साथ काम करता है, उसे सिर्फ़ एक इमेज विश्लेषण का इस्तेमाल करना चाहिए.

  • कैमरा-टेस्टिंग सुइट में, फ़ेक कैमरे के लिए शुरुआती रोबोटिक टेस्ट जोड़े गए (WIP).

  • Camera2Inititalizer टेस्ट को हटा दिया गया है, क्योंकि इसकी कवरेज साफ़ तौर पर नहीं बताई गई थी/गुमराह करने वाली थी.

Camera-Camera2 और Camera-Core वर्शन 1.0.0-alpha04

7 अगस्त, 2019

androidx.camera:camera-camera2:1.0.0-alpha04 और androidx.camera:camera-core:1.0.0-alpha04 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha04 में ये कमिट शामिल हैं.

नई सुविधाएं

आस्पेक्ट रेशियो और रिज़ॉल्यूशन चुनने की सुविधा में हुए बदलाव

CameraX का मकसद, कैमरा सेशन को सही तरीके से शुरू करना है. इसका मतलब है कि CameraX, डिवाइस की क्षमता के आधार पर रिज़ॉल्यूशन/आस्पेक्ट रेशियो से समझौता करता है, ताकि कैप्चर सेशन शुरू किया जा सके. इसलिए, हो सकता है कि सटीक अनुरोधों को पूरा न किया जा सके. ऐसा इन वजहों से हो सकता है:

  • ऐसे डिवाइस जिन पर अनुरोध किया गया रिज़ॉल्यूशन काम नहीं करता
  • डिवाइस के साथ काम न करने से जुड़ी समस्याएं. जैसे, लेगसी डिवाइसों पर कुछ रिज़ॉल्यूशन का इस्तेमाल करना ज़रूरी होता है, ताकि वे ठीक से काम कर सकें
  • कुछ डिवाइसों पर, कुछ फ़ॉर्मैट सिर्फ़ कुछ आसपेक्ट रेशियो में उपलब्ध होते हैं
  • JPEG या वीडियो एन्कोडिंग के लिए, “nearest mod16” को प्राथमिकता दी जाती है. CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP देखें

CameraX, सेशन बनाता है और उसे मैनेज करता है. हालांकि, आपको हमेशा अपने कोड में, इस्तेमाल के उदाहरण के आउटपुट पर दिखाई गई इमेज के साइज़ की जांच करनी चाहिए. साथ ही, उसके हिसाब से बदलाव करना चाहिए.

एपीआई को ज़्यादा साफ़ तौर पर समझने के लिए, रिज़ॉल्यूशन और आसपेक्ट रेशियो सेट करने से जुड़े कुछ बदलाव किए गए हैं:

  • अगर झलक दिखाने की सुविधा के लिए कोई आसपेक्ट रेशियो सेट नहीं किया गया है, तो अब इसे डिफ़ॉल्ट रूप से 4:3 आसपेक्ट रेशियो में माना जाएगा.
  • जब CameraX, डिवाइस की क्षमता के आधार पर, अनुरोध किए गए रिज़ॉल्यूशन और आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) में बदलाव करता है, तो वह सबसे पहले उसी आसपेक्ट रेशियो को बनाए रखने की कोशिश करता है जिसे setTargetAspectRatio या setTargetResolution कॉल से तय किया गया है
  • रिज़ॉल्यूशन के “Nearest mod16” वर्शन को एक ही आसपेक्ट रेशियो माना जाता है.

ImageAnalysis Non-Blocking Mode

  • ImageReaderMode.ACQUIRE_LATEST_IMAGE का व्यवहार अब नॉन-ब्लॉकिंग है. यह इमेज को क्यू में सबसे ऊपर रखता है. हालांकि, यह इस्तेमाल न की गई इमेज को लगातार हटाता रहता है, ताकि कैमरा पाइपलाइन को ब्लॉक होने से बचाया जा सके.
  • विश्लेषण करने वाला टूल, पाइपलाइन को रोके बिना किसी इमेज को हमेशा के लिए सेव कर सकता है.
  • अगर ऐप्लिकेशन, एक्ज़ीक्यूटर उपलब्ध कराता है और वह ब्लॉक हो जाता है, तो ImageAnalysis का इस्तेमाल नहीं किया जा सकता.
  • डिफ़ॉल्ट रूप से सेट किया गया एक्ज़ीक्यूटर, इंटरनल तौर पर नॉन-ब्लॉकिंग एक्ज़ीक्यूटर के तौर पर काम करता है.

गड़बड़ियां ठीक की गईं

  • ऑटो-फ़ोकस, ऑटो एक्सपोज़र, और ऑटो-व्हाइटबैलेंस की सुविधा के बिना काम करने वाले डिवाइसों पर इमेज कैप्चर करते समय, 3A कन्वर्जेंस के लिए इंतज़ार करने से जुड़ी टाइमआउट की समस्याओं को ठीक किया गया
  • ImageCapture की मदद से तेज़ी से फ़ोटो लेने पर होने वाली समस्या को ठीक किया गया. गड़बड़ी ठीक की गई: java.lang.IllegalStateException: maxImages (2) has already been acquired
  • उस समस्या को ठीक किया गया है जिसमें इस्तेमाल के उदाहरण के लिए setLensFacing को कॉल नहीं किया गया था. इस वजह से, java.lang.IllegalArgumentException: Unable to get camera ID for use case की समस्या आ रही थी.
  • उस समस्या को ठीक किया गया है जिसमें LEGACY डिवाइस के लिए, ज़्यादा से ज़्यादा JPEG रिज़ॉल्यूशन के तौर पर खास आसपेक्ट रेशियो की ज़रूरत होती थी
  • कैमरा चालू होने के दौरान ऐप्लिकेशन को बैकग्राउंड में ले जाने पर आने वाली समस्या को ठीक किया गया है
  • एपीआई < 25 पर समस्या ठीक कर दी गई है. गड़बड़ी checkAndUpdateEglState: invalid current EGLDisplay को हटाया जा रहा है
  • एक्सटेंशन चालू करने और शुरू करने के बाद, झलक को अनबाइंड करने से जुड़ी समस्या ठीक की गई
  • कैमरा-व्यू और कैमरा-एक्सटेंशन के लिए, बिल्ड आर्टफ़ैक्ट अब ऐल्फ़ा वर्शन के तौर पर पब्लिश किए गए हैं

Camera-Camera2 और Camera-Core वर्शन 1.0.0-alpha03

2 जुलाई, 2019

androidx.camera:camera-core:1.0.0-alpha03 और androidx.camera:camera-camera2:1.0.0-alpha03 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha03 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • setTarget कॉन्फ़िगरेशन कॉल में “target” के लिए, javadoc की जानकारी जोड़ी गई

Camera-Core

  • तेज़ी से खोलने/बंद करने या बाइंड/अनबाइंड करने पर, कॉन्फ़िगर नहीं किए गए इनपुट/आउटपुट सर्फ़ेस के क्रैश होने की समस्या ठीक की गई
  • फ़्यूचर्स के नए वर्शन पर माइग्रेट करना
  • बेहतर टेस्टिंग के लिए, समस्याओं को ठीक करने वाले टेस्ट
  • कोर इंटिग्रेशन टेस्ट में अब फ़ोटो कैप्चर करने का समय दिखता है
  • एक्ज़ीक्यूटर के लिए इंटरनल कंपैट क्लास डेवलप की गई
  • टाइमिंग टेस्ट ऐप्लिकेशन, इमेज कैप्चर करने से पहले पिछली इमेज के कैप्चर होने का इंतज़ार करता है. साथ ही, यह ज़्यादा स्थिर होता है

एक्सटेंशन

  • वर्शन की जांच करने की सुविधा जोड़ी गई
  • टेस्ट कवरेज के बारे में ज़्यादा जानकारी - एक्सटेंशन इवेंट कॉलबैक
  • आंतरिक तौर पर इमेज और मेटा-डेटा को बेहतर बनाया गया है
  • टेस्ट ऐप्लिकेशन में मोड स्विच करने से जुड़ी समस्याएं ठीक की गईं

Camera-Camera2 और Camera-Core वर्शन 1.0.0-alpha02

5 जून, 2019

androidx.camera:camera-core:1.0.0-alpha02 और androidx.camera:camera-camera2:1.0.0-alpha02 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha02 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एम्युलेटर का इस्तेमाल करते समय, शून्य से भाग देने की समस्या को ठीक किया गया
  • कुछ डिवाइसों पर, फ़ोटो लेने के लिए इस्तेमाल किए जाने वाले फ़ंक्शन को तेज़ी से अनबाइंड और रीबाइंड करते समय, NullPointerException/Surface Abandoned गड़बड़ी को ठीक किया गया.
  • आंतरिक समस्या को ठीक किया गया है, ताकि कैप्चर अनुरोध से जुड़े अपडेट सभी प्लैटफ़ॉर्म पर एक जैसा असर डालें
  • ऐप्लिकेशन के नए इंस्टेंस में इस्तेमाल के उदाहरणों को फिर से शुरू करते समय, ऐप्लिकेशन क्रैश या हैंग होने से बचाने के लिए किए गए सुधार
  • एपीआई में एक्ज़ीक्यूटर की सुविधा के लिए, इंटरनल आर्किटेक्चर में बदलाव किए गए हैं
  • CameraX क्लास और लाइफ़साइकल मैनेजमेंट के बारे में Javadoc में अतिरिक्त जानकारी
  • Antelope परफ़ॉर्मेंस टेस्ट ऐप्लिकेशन के लिए, इंस्ट्रुमेंटेड टेस्टिंग की सुविधा जोड़ी गई
  • ऐप्लिकेशन के Proguard कॉन्फ़िगरेशन में, '-keepattributes Signature' की ज़रूरत को हटाना

Camera-Camera2 और Camera-Core 1.0.0-alpha01

7 मई, 2019

androidx.camera:camera-core:1.0.0-alpha01 और androidx.camera:camera-camera2:1.0.0-alpha01 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha01 में ये कमिट शामिल हैं.

Camera-Lifecycle Version 1.0.0-beta11

14 अक्टूबर, 2020

androidx.camera:camera-lifecycle:1.0.0-beta11 रिलीज़ हो गया है. वर्शन 1.0.0-beta11 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • <UseCase>.getTargetRotation(), Surface.ROTATION_0 दिखाता है. ऐसा तब होता है, जब इसे Camera इंस्टेंस से अटैच करने से पहले कॉल किया जाता है. हालांकि, ऐसा तब नहीं होता, जब Builder या UseCase पर targetRotation सेट किया गया हो. (I80fcd)

Camera-Lifecycle वर्शन 1.0.0-beta10

23 सितंबर, 2020

androidx.camera:camera-lifecycle:1.0.0-beta10 रिलीज़ हो गया है. वर्शन 1.0.0-beta10 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ किया गया

Camera-Lifecycle Version 1.0.0-beta09

16 सितंबर, 2020

androidx.camera:camera-lifecycle:1.0.0-beta09 रिलीज़ हो गया है. वर्शन 1.0.0-beta09 में ये कमिट शामिल हैं.

Camera-Lifecycle Version 1.0.0-beta08

19 अगस्त, 2020

androidx.camera:camera-lifecycle:1.0.0-beta08 रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Context.getApplicationContext() से Application ऑब्जेक्ट को वापस नहीं भेजने वाले Context का इस्तेमाल करने पर, अब इनिशियलाइज़ेशन क्रैश नहीं होना चाहिए. (I3d3c9, b/160817073)

Camera-Lifecycle Version 1.0.0-beta07

22 जुलाई, 2020

androidx.camera:camera-lifecycle:1.0.0-beta07 रिलीज़ हो गया है. वर्शन 1.0.0-beta07 में ये कमिट शामिल हैं.

Camera-Lifecycle Version 1.0.0-beta06

24 जून, 2020

androidx.camera:camera-lifecycle:1.0.0-beta06 रिलीज़ हो गया है. वर्शन 1.0.0-beta06 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • अब CameraX को ProcessCameraProvider#getInstance() को कॉल करने से पहले, ProcessCameraProvider#configureInstance() के साथ कॉन्फ़िगर किया जा सकता है. इससे CameraXConfig को पसंद के मुताबिक बनाया जा सकता है. इसके लिए, ऐप्लिकेशन की Application क्लास में CameraXConfig.Provider को लागू करने की ज़रूरत नहीं होती. (Ia1a8d)

Camera-Lifecycle वर्शन 1.0.0-beta05

10 जून, 2020

androidx.camera:camera-lifecycle:1.0.0-beta05 रिलीज़ हो गया है. वर्शन 1.0.0-beta05 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • फ़ोन के 'परेशान न करें' मोड में होने पर, CameraX को शुरू करते समय ऐप्लिकेशन के क्रैश होने की समस्या ठीक की गई. ऐप्लिकेशन क्रैश होने के बजाय, InitializationException में मौजूद CameraUnavailableException को, शुरू होने के नतीजे के ListenableFuture पर सेट किया जाएगा. (I9909a, b/149413835)

Camera-Lifecycle Version 1.0.0-beta04

27 मई, 2020

androidx.camera:camera-lifecycle:1.0.0-beta04 रिलीज़ हो गया है. वर्शन 1.0.0-beta04 में ये कमिट शामिल हैं.

Camera-Lifecycle Version 1.0.0-beta03

15 अप्रैल, 2020

androidx.camera:camera-lifecycle:1.0.0-beta03 रिलीज़ हो गया है. वर्शन 1.0.0-beta03 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • beta03 में हुई रिग्रेशन की समस्या को ठीक किया गया है. इस समस्या में, शून्य UseCase के साथ bindToLifecycle() को कॉल करने पर थ्रोन अपवाद होता था. इस कुकी का इस्तेमाल, UseCase को बाइंड किए बिना Camera को वापस पाने से रोकने के लिए किया जाता है.
  • camera-core को रिलीज़ करने के लिए, गड़बड़ियों को ठीक किया गया

Camera-Lifecycle Version 1.0.0-beta01

26 फ़रवरी, 2020

androidx.camera:camera-lifecycle:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • दस्तावेज़ में यह जानकारी जोड़ी गई है कि ProcessCameraProvider को शुरू करते समय, डिफ़ॉल्ट कॉन्फ़िगरेशन का इस्तेमाल किया जाता है. साथ ही, Application को बढ़ाना ज़रूरी नहीं है. (I5e395)

Camera-Lifecycle Version 1.0.0-beta02

1 अप्रैल, 2020

androidx.camera:camera-lifecycle:1.0.0-beta02 रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • camera-camera2:1.0.0-beta02 और camera-core:1.0.0-beta02 आर्टफ़ैक्ट में गड़बड़ियां ठीक करने के लिए, इसे अपडेट किया गया है.

Camera-Lifecycle Version 1.0.0-alpha10

10 फ़रवरी, 2020

androidx.camera:camera-lifecycle:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • BindToLifecycle, unbind, और unbindAll तरीकों में @MainThread एनोटेशन जोड़ा गया. (I990d2)

Camera-Lifecycle Version 1.0.0-alpha03

22 जनवरी, 2020

androidx.camera:camera-lifecycle:1.0.0-alpha03 रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये कमिट शामिल हैं.

अपडेट

  • Camera Core और Camera2 में हुए बदलावों के साथ काम करने के लिए, कई सुधार और अपडेट किए गए हैं.

Camera-Lifecycle वर्शन 1.0.0-alpha02

18 दिसंबर, 2019

androidx.camera:camera-lifecycle:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये कमिट शामिल हैं.

डिपेंडेंसी में बदलाव

  • androidx.camera:camera-core:1.0.0-alpha08 का इस्तेमाल करने के लिए अपडेट किया गया.

Camera-Lifecycle वर्शन 1.0.0-alpha01

4 दिसंबर, 2019

androidx.camera:camera-lifecycle:1.0.0-alpha01 रिलीज़ हो गया है. camera-lifecycle के वर्शन 1.0.0-alpha01 में ये कमिट शामिल हैं

एपीआई से जुड़ी जानकारी

  • कैमरा-लाइफ़साइकल आर्टफ़ैक्ट जोड़ा गया है. यह LifeCycleCameraProvider इंटरफ़ेस और ProcessCameraProvider नाम का एक लागू करने का तरीका उपलब्ध कराता है. यह कोर में, पिछली CameraX क्लास के कई फ़ंक्शन उपलब्ध कराता है. इसे getInstance() तरीके से हासिल किया जाता है.
  • CameraX का इस्तेमाल करने के लिए, ऐप्लिकेशन में कैमरा-लाइफ़साइकल लाइब्रेरी शामिल होनी चाहिए.
  • ProcessCameraProvider का इस्तेमाल करके CameraX को शुरू करने का तरीका जानने के लिए, camera-core सेक्शन में दिए गए नोट देखें.

Camera-Extensions और Camera-View वर्शन 1.0.0

वर्शन 1.0.0-alpha32

15 दिसंबर, 2021

androidx.camera:camera-extensions:1.0.0-alpha32 और androidx.camera:camera-view:1.0.0-alpha32 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha32 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • अंदरूनी क्लास/इंटरफ़ेस से, गैर-ज़रूरी @RequiresApi(21) एनोटेशन हटा दिए गए हैं. (I8e286, b/204917951)
  • कैमरा-एक्सटेंशन आर्टफ़ैक्ट के लिए एपीआई फ़ाइलें अपडेट करें. (If683a, b/161377155)

गड़बड़ियां ठीक की गईं

  • VideoCapture को बाइंड करते समय, ऐप्लिकेशन को एक्सटेंशन मोड चालू करने की अनुमति न दें. CameraX Extensions सिर्फ़ ImageCapture और Preview के साथ काम करते हैं. फ़िलहाल, VideoCapture का इस्तेमाल नहीं किया जा सकता. अगर ऐप्लिकेशन, VideoCapture को बाइंड करता है और किसी एक्सटेंशन मोड को चालू करता है, तो एक IllegalArgumentException थ्रो किया जाएगा. (I0d87b)
  • नतीजों का सेट खाली होने पर, CameraSelector#filter अब IllegalArgumentException नहीं दिखाता है. (I27804)
  • ExtensionsManager#getInstance एपीआई का नाम बदलकर getInstanceAsync कर दिया गया है, क्योंकि यह ListenableFuture दिखाता है. फ़ंक्शन के नाम में Async सफ़िक्स से यह साफ़ तौर पर पता चलता है कि यह एक एसिंक फ़ंक्शन है. (I279d2)
  • ExtensionsManager#getEstimatedCaptureLatencyRange एपीआई से रिज़ॉल्यूशन पैरामीटर हटाएं. ऐसा इसलिए, क्योंकि उपयोगकर्ताओं को यह नहीं पता चल पाता कि ImageCapture के इस्तेमाल के लिए कौनसे साइज़ काम करते हैं. साथ ही, वे यह भी नहीं जान पाते कि जवाब में मिली लेटेंसी की जानकारी, कैप्चर किए गए आउटपुट के ज़्यादा से ज़्यादा साइज़ के लिए है या इनपुट रिज़ॉल्यूशन पैरामीटर के लिए. (I74bb2)
  • ExtensionsManager फ़ंक्शन के CameraProvider पैरामीटर को getInstance() API में ले जाएं. इससे उपयोगकर्ताओं को ExtensionsManager फ़ंक्शन कॉल करते समय, हर बार CameraProvider पैरामीटर डालने की ज़रूरत नहीं पड़ती. (Ic7e48)

वर्शन 1.0.0-alpha31

17 नवंबर, 2021

androidx.camera:camera-extensions:1.0.0-alpha31 और androidx.camera:camera-view:1.0.0-alpha31 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha31 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • CameraSelector#filter को सार्वजनिक एपीआई में जोड़ा गया है, ताकि CameraSelector के आधार पर CameraInfos की सूची को फ़िल्टर किया जा सके. (I105d0)

गड़बड़ियां ठीक की गईं

  • कुछ डिवाइसों पर एक्सटेंशन मोड को तेज़ी से स्विच करने पर होने वाली क्रैश की समस्या को ठीक किया गया है. (Iebbef)

वर्शन 1.0.0-alpha30

13 अक्टूबर, 2021

androidx.camera:camera-extensions:1.0.0-alpha30 और androidx.camera:camera-view:1.0.0-alpha30 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha30 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • सभी CameraX क्लास में @RequiresApi(21) एनोटेशन जोड़ा गया है. साथ ही, AndroidManifest.xml से minSdkVersion हटा दिया गया है. इससे camera-core को उन ऐप्लिकेशन में आसानी से इंटिग्रेट किया जा सकेगा जिनमें minSdkVersion 21 से कम है. हालांकि, वे एपीआई 21 और उसके बाद के वर्शन पर निर्भर करने वाले कोड पाथ का इस्तेमाल कुछ शर्तों के साथ करना चाहते हैं. minSdkVersion 21 या उसके बाद के वर्शन वाले किसी भी ऐप्लिकेशन के लिए, इस बदलाव को लागू करने के लिए कोई कार्रवाई करने की ज़रूरत नहीं है. (Ie7f2e, b/200599470)

गड़बड़ियां ठीक की गईं

  • AbstractMethodError की समस्या को ठीक किया गया है. यह समस्या तब होती है, जब proguard चालू होता है. (Iae468, b/201177844)

वर्शन 1.0.0-alpha29

29 सितंबर, 2021

androidx.camera:camera-extensions:1.0.0-alpha29 और androidx.camera:camera-view:1.0.0-alpha29 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha29 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • एपीआई के एक्सपेरिमेंटल वर्शन के बंद होने के बाद, ExperimentalUseCaseGroup एनोटेशन को हटा दिया गया है. (I01ef5)
  • RotationProvider#removeAllListeners() को हटाएं. इसके बजाय, कृपया RotationProvider#removeListener(...) का इस्तेमाल करें. (Id9d4a)
  • RotationReceiver क्लास को अपडेट किया गया है: set/clear Listener को add/remove/removeAll में बदला गया है. साथ ही, setListener के उस वर्शन को हटाया गया है जो डिफ़ॉल्ट रूप से मुख्य थ्रेड का इस्तेमाल करता है. इसके अलावा, तरीकों का एनोटेशन जोड़ा गया है. (Ib1669)

गड़बड़ियां ठीक की गईं

  • ExtensionMode#BEAUTY का नाम बदलकर FACE_RETOUCH कर दिया गया है, ताकि एक्सटेंशन मोड के काम को सही तरीके से दिखाया जा सके. (I61f54, b/198515274)
  • एक ही गतिविधि में कई CameraController और PreviewView का इस्तेमाल करने पर, कैमरा अपने-आप बंद हो जाने की समस्या ठीक कर दी गई है. (Ibfd18, b/197539358)

वर्शन 1.0.0-alpha28

18 अगस्त, 2021

androidx.camera:camera-extensions:1.0.0-alpha28 और androidx.camera:camera-view:1.0.0-alpha28 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha28 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • ExperimentalUseCaseGroupLifecycle एनोटेशन को हटा दिया गया है, क्योंकि अब एपीआई एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. (I17b85)
  • RotationListener को रीफ़ैक्टर किया गया है और इसका नाम बदलकर RotationProvider कर दिया गया है. यह सुविधा अब भी उपलब्ध है, लेकिन इसके लिए एपीआई थोड़ा अलग है. (Idffc5)
  • TAP_TO_FOCUS_UNSUCCESSFUL का नाम बदलकर TAP_TO_FOCUS_NOT_FOCUSED और TAP_TO_FOCUS_SUCCESSFUL का नाम बदलकर TAP_TO_FOCUS_FOCUSED कर दिया गया है. OutputSize को फ़ाइनल बनाया गया (I099fa)

गड़बड़ियां ठीक की गईं

  • लेगसी हो चुकी <EffectName><UseCase>Extender क्लास, ExtensionsErrorListener, और इनसे जुड़े ExtensionsManager API हटा दिए गए हैं. (I3b8c3)

वर्शन 1.0.0-alpha27

21 जुलाई, 2021

androidx.camera:camera-extensions:1.0.0-alpha27 और androidx.camera:camera-view:1.0.0-alpha27 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha27 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • व्यूपोर्ट एपीआई को एक्सपेरिमेंटल से प्रमोट किया गया. एपीआई की एक्सपेरिमेंटल एनोटेशन को हटाएं. (I717ea)
  • CoordinateTransform#getTransform का नाम बदलकर CoordinateTransform#transform किया गया और JavaDoc अपडेट किया गया (I864ae)

गड़बड़ियां ठीक की गईं

  • Compose UI के साथ PreviewView PERFORMANCE मोड का इस्तेमाल करने पर, स्ट्रेच होने की समस्या को ठीक किया गया है. (Ie1137, b/183864890)

वर्शन 1.0.0-alpha26

30 जून, 2021

androidx.camera:camera-extensions:1.0.0-alpha26 और androidx.camera:camera-view:1.0.0-alpha26 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha26 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • एक नया तरीका CameraController#getTapToFocusState() जोड़ें, जो टैप-टू-फ़ोकस के सबसे नए नतीजे को दिखाता है. (Iaccb0)
  • CameraController में कैमरा-कोर की ज़्यादा सुविधाएं जोड़ी गई हैं: टारगेट ऐस्पेक्ट रेशियो, टारगेट रिज़ॉल्यूशन, कैप्चर मोड, CameraControl, और कस्टम एक्ज़ीक्यूटर के लिए गेटर/सेटर. (Iea8f2)
  • RotationReceiver क्लास जोड़ें, ताकि Surface के रोटेशन में होने वाले बदलावों की जानकारी मिल सके. इसका इस्तेमाल, डिवाइस के फ़िक्स्ड पोर्ट्रेट/लैंडस्केप मोड में होने पर टारगेट रोटेशन सेट करने के लिए किया जा सकता है. (Ib278f)
  • ExtensionsManager क्लास में, getEstimatedCaptureLatencyRange के नए सार्वजनिक एपीआई को बिना अनुमति के सार्वजनिक किया गया है. (I6a8ec)
  • Deprecated ExtensionsErrorListener. फ़िलहाल, इस इंटरफ़ेस का इस्तेमाल सिर्फ़ यह मॉनिटर करने के लिए किया जाता है कि एक्सटेंशन मोड चालू करते समय, Preview या ImageCapture की कमी तो नहीं है. CameraX, एक्सटेंशन के फ़ंक्शन को बेहतर तरीके से काम करने के लिए, Preview या ImageCapture को अपने-आप जोड़ देगा. इसके बाद, इस इंटरफ़ेस के ज़रिए कोई गड़बड़ी रिपोर्ट नहीं की जाएगी. (I47d9e)
  • ExtensionsManager के नए getInstance, isExtensionAvailable, और getExtensionEnabledCameraSelector पब्लिक एपीआई उपलब्ध कराए गए हैं. साथ ही, पुरानी <EffectName><UseCase>Extender क्लास और उनसे जुड़े एपीआई बंद कर दिए गए हैं. (I329e6)

वर्शन 1.0.0-alpha25

2 जून, 2021

androidx.camera:camera-extensions:1.0.0-alpha25 और androidx.camera:camera-view:1.0.0-alpha25 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha25 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • ExperimentalCameraFilter API अब एक्सपेरिमेंटल स्टेज से बाहर आ गए हैं और फ़ॉर्मल एपीआई बन गए हैं. इनका इस्तेमाल, एनोटेट किए गए OptIn के बिना किया जा सकता है. (I4bc94)
  • एक ऐसी सुविधा जोड़ें जो इस्तेमाल के उदाहरणों के बीच निर्देशांकों को बदलती है. इस्तेमाल का उदाहरण: ImageAnalysis के इस्तेमाल के उदाहरण में पता लगाए गए कोऑर्डिनेट को बदलना और झलक में पता लगाए गए ऑब्जेक्ट को हाइलाइट करना. (I63ab1, b/137515129)
  • CameraView को हटा दिया गया है. CameraView की जगह अब CameraController ने ले ली है. माइग्रेट करने का तरीका जानने के लिए, कृपया माइग्रेशन गाइड देखें.: (Id5005)

गड़बड़ियां ठीक की गईं

  • ExperimentalUseCaseGroupLifecycle को ExperimentalUseCaseGroup से बदला गया. (I3b2ef, b/159033688)

वर्शन 1.0.0-alpha24

21 अप्रैल, 2021

androidx.camera:camera-extensions:1.0.0-alpha24 और androidx.camera:camera-view:1.0.0-alpha24 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha24 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई के लिए, एनोटेशन @Experimental को @RequiresOptIn से बदला गया. एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई को कॉल करने के लिए, बंद किए गए androidx.annotation.experimental.UseExperimental के बजाय androidx.annotation.OptIn का इस्तेमाल करें. (Iff226)
  • Samsung J5 Prime पर PreviewView के स्ट्रेच होने की समस्या को ठीक किया गया (Ib10b6)

Camera Extensions & View 1.0.0-alpha23

24 मार्च, 2021

androidx.camera:camera-extensions:1.0.0-alpha23 और androidx.camera:camera-view:1.0.0-alpha23 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha23 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

गड़बड़ियां ठीक की गईं

  • कैमरे के पिन किए गए व्यू की डिपेंडेंसी, 1.0.0 आर्टफ़ैक्ट पर निर्भर करती हैं. camera-view पर निर्भर रहने की वजह से, Gradle की डिपेंडेंसी रिज़ॉल्यूशन सुविधा, camera-core, camera-camera2, और camera-lifecycle को अपने-आप 1.1.0 वर्शन पर अपग्रेड नहीं करेगी. हालांकि, अगर इन आर्टफ़ैक्ट को 1.1.0 वर्शन का इस्तेमाल करने के लिए साफ़ तौर पर सेट किया जाता है, तो camera-view अब भी इनके साथ काम करेगा. (Ic8fa1, b/181599852)
  • PreviewView में, Samsung A3 पर स्ट्रेच की गई झलक की समस्या ठीक की गई. (Iacb30, b/180121821)
  • उस समस्या को ठीक किया गया है जिसमें कैमरे को शुरू करने से पहले, कैमरा सिलेक्टर को सेट नहीं किया जा सकता था. (Ic8bd0)

Camera Extensions & View 1.0.0-alpha22

24 फ़रवरी, 2021

androidx.camera:camera-extensions:1.0.0-alpha22 और androidx.camera:camera-view:1.0.0-alpha22 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha22 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • CameraController में CameraInfo getter जोड़ें. (Ib8138, b/178251727)

गड़बड़ियां ठीक की गईं

  • सिर्फ़ Preview या ImageCapture के बाइंड होने पर गड़बड़ियों की सूचना देने के लिए, ExtensionsErrorListener को ठीक किया गया है. (I5ae39)

Camera Extensions & View Version 1.0.0-alpha21

27 जनवरी, 2021

androidx.camera:camera-extensions:1.0.0-alpha21 और androidx.camera:camera-view:1.0.0-alpha21 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha21 में ये कमिट शामिल हैं.

इसे अन्य कैमरा लाइब्रेरी आर्टफ़ैक्ट के साथ काम करने के लिए रिलीज़ किया जा रहा है.

Camera Extensions & View Version 1.0.0-alpha20

16 दिसंबर, 2020

androidx.camera:camera-extensions:1.0.0-alpha20 और androidx.camera:camera-view:1.0.0-alpha20 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha20 में ये कमिट शामिल हैं.

इसे अन्य कैमरा लाइब्रेरी आर्टफ़ैक्ट के साथ काम करने के लिए रिलीज़ किया जा रहा है.

Camera-Extensions & Camera-View Version 1.0.0-alpha19

11 नवंबर, 2020

androidx.camera:camera-extensions:1.0.0-alpha19 और androidx.camera:camera-view:1.0.0-alpha19 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha19 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • @ExperimentalVideo एनोटेशन को कैमरा व्यू में जोड़ा गया. इस एनोटेशन से उन एपीआई को मार्क किया जाता है जो एक्सपेरिमेंट के तौर पर उपलब्ध वीडियो फ़ंक्शनैलिटी को दिखाते हैं. इन सुविधाओं के पूरी तरह से डेवलप होने पर, इनमें बदलाव हो सकता है. इन एपीआई का इस्तेमाल करने वाले किसी भी तरीके में, @UseExperimental एनोटेशन का इस्तेमाल किया जाना चाहिए. साथ ही, ExperimentalVideo को markerClass के तौर पर इस्तेमाल किया जाना चाहिए. (I6d729)

Camera-Extensions Version 1.0.0-alpha18

14 अक्टूबर, 2020

androidx.camera:camera-extensions:1.0.0-alpha18 रिलीज़ हो गया है. वर्शन 1.0.0-alpha18 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • CameraX को शुरू करने और bindToLifecycle को कॉल करने में लगने वाले समय को कम किया गया है (I61dc5)
  • <UseCase>.getTargetRotation(), Surface.ROTATION_0 दिखाता है. ऐसा तब होता है, जब इसे Camera इंस्टेंस से अटैच करने से पहले कॉल किया जाता है. हालांकि, ऐसा तब नहीं होता, जब Builder या UseCase पर targetRotation सेट किया गया हो. (I80fcd)

Camera-View Version 1.0.0-alpha18

14 अक्टूबर, 2020

androidx.camera:camera-view:1.0.0-alpha18 रिलीज़ हो गया है. वर्शन 1.0.0-alpha18 में ये कमिट शामिल हैं.

इसे अन्य कैमरा लाइब्रेरी आर्टफ़ैक्ट के साथ काम करने के लिए रिलीज़ किया जा रहा है.

Camera-Extensions वर्शन 1.0.0-alpha17

23 सितंबर, 2020

androidx.camera:camera-extensions:1.0.0-alpha17 रिलीज़ हो गया है. वर्शन 1.0.0-alpha17 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ किया गया

Camera-View वर्शन 1.0.0-alpha17

23 सितंबर, 2020

androidx.camera:camera-view:1.0.0-alpha17 रिलीज़ हो गया है. वर्शन 1.0.0-alpha17 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ किया गया

Camera-Extensions Version 1.0.0-alpha16

16 सितंबर, 2020

androidx.camera:camera-extensions:1.0.0-alpha16 रिलीज़ हो गया है. वर्शन 1.0.0-alpha16 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ExtensionsManager में एक तरीका जोड़ा गया है, ताकि Extensions ऑब्जेक्ट मिल सके इसका इस्तेमाल, कैमरा इंस्टेंस (I4fb7e) पर एक्सटेंशन चालू करने और उनसे जुड़ी क्वेरी करने के लिए किया जाता है

Camera-View वर्शन 1.0.0-alpha16

16 सितंबर, 2020

androidx.camera:camera-view:1.0.0-alpha16 रिलीज़ हो गया है. वर्शन 1.0.0-alpha16 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • PreviewView#setDeviceRotationForRemoteDisplayMode() और PreviewView#getDeviceRotationForRemoteDisplayMode() को हटाया गया. ये दोनों तरीके, झलक रोटेशन को पसंद के मुताबिक बनाने के लिए हैं.ऐसा तब किया जाता है, जब डिसप्ले रोटेशन के बजाय किसी और तरह का रोटेशन इस्तेमाल करना हो. जैसे, रिमोट डिसप्ले. अब डिसप्ले नहीं होने वाली झलक के रोटेशन को मैनेज करने के लिए, Preview#setTargetRotation() और हाल ही में जोड़े गए PreviewView#getViewPort(targetRotation) की मदद से, रोटेशन सेट करें. (Ib62cc)
  • createSurfaceProvider() का नाम बदलकर getSurfaceProvider() कर दिया गया. यह तरीका हमेशा Preview.SurfaceProvider का एक ही इंस्टेंस दिखाता है. (Iff83c)

गड़बड़ियां ठीक की गईं

  • अगर एक्सटेंशन इफ़ेक्ट चालू है और वेंडर लाइब्रेरी को आउटपुट सर्फ़ेस पर कोई खास प्रोसेस करनी है, तो TextureView का इस्तेमाल करने के लिए, PreviewView को फ़ोर्स किया जाता है. (I0c3cc)
  • झलक देखने के लिए, टारगेट को किसी भी तरह से घुमाने की अनुमति दें. बदलाव की जानकारी का हिसाब लगाया जाता है और उपयोगकर्ता को तुरंत भेज दिया जाता है. इसके लिए, नए TranformationInfoListener कॉलबैक का इस्तेमाल किया जाता है. (I21470)

ऐसी समस्याएं जिनके बारे में जानकारी पहले से है

  • PreviewView में, असली उपयोगकर्ता के PreviewView पर क्लिक करने पर OnClickListener#onClick() शुरू नहीं होता. टच इवेंट को गलती से PreviewView#onTouchEvent() ने इस्तेमाल कर लिया है. इस समस्या को अगले रिलीज़ में ठीक कर दिया जाएगा.
  • अगर ViewPort का इस्तेमाल PreviewView के साथ किया जाता है, तो PreviewView#getMeteringPointFactory() से मिला MeteringPoint गलत हो सकता है.

Camera-Extensions Version 1.0.0-alpha15

19 अगस्त, 2020

androidx.camera:camera-extensions:1.0.0-alpha15 रिलीज़ हो गया है. वर्शन 1.0.0-alpha15 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ExtensionsManager.init() वाला तरीका अब 0 आर्ग्युमेंट के बजाय, कॉन्टेक्स्ट को पैरामीटर के तौर पर लेता है. (Ife754)
  • Context.getApplicationContext() से Application ऑब्जेक्ट वापस न करने वाले Context का इस्तेमाल करने पर, अब इनिशियलाइज़ेशन क्रैश नहीं होना चाहिए. (I3d3c9, b/160817073)

    Camera-View वर्शन 1.0.0-alpha15

    19 अगस्त, 2020

androidx.camera:camera-view:1.0.0-alpha15 रिलीज़ हो गया है. वर्शन 1.0.0-alpha15 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • DisplayOrientedMeteringPointFactory, CameraSelector के बजाय CameraInfo इंस्टेंस लेता है. इसलिए, यह सीधे तौर पर मैप करता है कि फ़ैक्ट्री किस कैमरे के लिए पॉइंट जनरेट करेगी. DisplayOrientedMeteringPointFactory का इस्तेमाल करने वाली सभी क्लास, CameraSelector के बजाय CameraInfo इंस्टेंस का इस्तेमाल करती हैं. (I400c1)
  • TextureViewMeteringPointFactory को हटा दिया गया है. PreviewView एक सार्वजनिक एपीआई (createMeteringPointFactory()) उपलब्ध कराता है. इससे, मीटरिंग पॉइंट फ़ैक्ट्री बनाई जा सकती है. इससे कोई फ़र्क़ नहीं पड़ता कि वह TextureView या SurfaceView का इस्तेमाल कर रही है या नहीं. (Ide693)
  • PreviewView के SURFACE_VIEW/TEXTURE_VIEW लागू करने के मोड का नाम बदलकर PERFORMANCE/COMPATIBLE कर दिया गया है. PERFORMANCE, पुराना SURFACE_VIEW मोड है और COMPATIBLE, पुराना TEXTURE_VIEW मोड है. (I0edc2)
  • इमेज कैप्चर करने के लिए, कैमरे की दिशा के आधार पर मेटाडेटा में, फ़्लिप हॉरिज़ॉन्टल फ़्लैग को बदलें. (I28499)

Camera-Extensions Version 1.0.0-alpha14

22 जुलाई, 2020

androidx.camera:camera-extensions:1.0.0-alpha14 रिलीज़ हो गया है. वर्शन 1.0.0-alpha14 में ये कमिट शामिल हैं.

Camera-View Version 1.0.0-alpha14

22 जुलाई, 2020

androidx.camera:camera-view:1.0.0-alpha14 रिलीज़ हो गया है. वर्शन 1.0.0-alpha14 में ये कमिट शामिल हैं.

Camera-Extensions Version 1.0.0-alpha13

24 जून, 2020

androidx.camera:camera-extensions:1.0.0-alpha13 रिलीज़ हो गया है. वर्शन 1.0.0-alpha13 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • कैमरा आईडी और CameraCharacteristics के हिसाब से कैमरों को फ़िल्टर करने के लिए, एक्सपेरिमेंटल इंटरफ़ेस जोड़े गए. (I28f61)

Camera-View वर्शन 1.0.0-alpha13

24 जून, 2020

androidx.camera:camera-view:1.0.0-alpha13 रिलीज़ हो गया है. वर्शन 1.0.0-alpha13 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • CameraView अब IllegalArgumentException के साथ क्रैश नहीं होता है. ऐसा तब होता है, जब इसे ऐसे LifecycleOwner से बाइंड किया जाता है जिसका Lifecycle, बाइंड होने के कुछ समय बाद DESTROYED स्टेट में ट्रांज़िशन करता है. DESTROYED स्टेट में लाइफ़साइकल को बाइंड करने पर, कैमरा खोलने की कोशिश नहीं की जाएगी. (I7c2b8)
  • PreviewView StreamState अब CameraView.getPreviewStreamState() (I21a2b) के ज़रिए उपलब्ध है

Camera-Extensions Version 1.0.0-alpha12

10 जून, 2020

androidx.camera:camera-extensions:1.0.0-alpha12 रिलीज़ हो गया है. वर्शन 1.0.0-alpha12 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • फ़ोन के 'परेशान न करें' मोड में होने पर, CameraX को शुरू करते समय ऐप्लिकेशन के क्रैश होने की समस्या ठीक की गई. ऐप्लिकेशन क्रैश होने के बजाय, InitializationException में मौजूद CameraUnavailableException को, शुरू होने के नतीजे के ListenableFuture पर सेट किया जाएगा. (I9909a, b/149413835)

Camera-View Version 1.0.0-alpha12

10 जून, 2020

androidx.camera:camera-view:1.0.0-alpha12 रिलीज़ हो गया है. वर्शन 1.0.0-alpha12 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • PreviewView#getBitmap() एपीआई जोड़ें. यह एपीआई, झलक दिखाने वाले प्लैटफ़ॉर्म पर दिखाए गए कॉन्टेंट का बिटमैप वर्शन दिखाता है. (I9b500, b/157659818)

Camera-Extensions Version 1.0.0-alpha11

27 मई, 2020

androidx.camera:camera-extensions:1.0.0-alpha11 रिलीज़ हो गया है. वर्शन 1.0.0-alpha11 में ये कमिट शामिल हैं.

Camera-View Version 1.0.0-alpha12

10 जून, 2020

androidx.camera:camera-view:1.0.0-alpha12 रिलीज़ हो गया है. वर्शन 1.0.0-alpha12 में ये कमिट शामिल हैं.

नई सुविधाएं

एपीआई में हुए बदलाव

गड़बड़ियां ठीक की गईं

  • PreviewView#getBitmap() एपीआई जोड़ें. यह एपीआई, झलक दिखाने वाले प्लैटफ़ॉर्म पर दिखाए गए कॉन्टेंट का बिटमैप वर्शन दिखाता है. (I9b500, b/157659818)

Camera-View Version 1.0.0-alpha11

27 मई, 2020

androidx.camera:camera-view:1.0.0-alpha11 रिलीज़ हो गया है. वर्शन 1.0.0-alpha11 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • PreviewView#getPreviewStreamState एपीआई जोड़ें. इससे ऐप्लिकेशन को यह पता चल पाएगा कि झलक स्ट्रीम की जा रही है या नहीं. जब PreviewView, TEXTURE_VIEW मोड में होता है, तब STREAMING स्थिति यह भी पक्का करती है कि झलक वाली इमेज दिखे. (Ic0906, b/154652477)
  • अगर ऐप्लिकेशन रिमोट डिसप्ले मोड में चल रहा है, तो ट्रांसफ़ॉर्म कैलकुलेशन के लिए डिवाइस रोटेशन की सुविधा देने वाला PreviewView#setDeviceRotationForRemoteDisplayMode() एपीआई जोड़ा गया. (I59b95, b/153514525)

गड़बड़ियां ठीक की गईं

  • Android 7.0 और इससे पहले के वर्शन पर काम करने वाले FULL/LIMITED/LEVEL_3 कैमरों में, झलक के खराब दिखने की समस्या को ठीक किया गया है. Android का वर्शन 7.0 या इससे पहले का होने पर, ImplementationMode#TEXTURE_VIEW मोड का इस्तेमाल करना ज़रूरी है. (I83e30, b/155085307)
  • CameraInfo पैरामीटर को PreviewView#createSurfaceProvider() से हटा दिया गया है. अब PreviewView, इसे SurfaceRequest से अंदरूनी तौर पर वापस पाता है. (If18f0, b/154652477)
  • CameraView में, VideoCapture के डिफ़ॉल्ट आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) को 16:9 पर सेट किया गया है. (Ie6a7b, b/153237864)
  • PreviewView फ़्रैगमेंट को स्वाइप करके बाहर निकालने Preview और फिर ViewPager2 में वापस स्वाइप करने पर, PreviewView काली स्क्रीन की समस्याओं Preview को ठीक किया गया. removeView(previewview) और फिर addView(previewView) पर क्लिक करने पर होने वाली समस्या को भी ठीक किया गया है. (Iab555, b/149877652, b/147354615)
  • CameraView#takePicture() एपीआई को अपडेट करें, ताकि इमेज को Uri और OutputStream में सेव किया जा सके. कैननिकल उदाहरण के तौर पर Uri का इस्तेमाल करने के लिए, टेस्ट ऐप्लिकेशन को अपडेट करें. (Ia2459, b/153607583)
  • ScaleType एट्रिब्यूट सेट करके, एक्सएमएल लेआउट से PreviewView का स्केल टाइप सेट किया जा सकता है. (I08565, b/153015659)
  • CameraView.ScaleType को हटा दिया गया है. इसके बजाय, CameraView के साथ स्केल टाइप को सेट/पाने के लिए, PreviewView.ScaleType का इस्तेमाल करें. (Ia8974, b/153014831)
  • अगर PreviewView में पहले से कोई बैकग्राउंड कलर नहीं है, तो डिफ़ॉल्ट रूप से बैकग्राउंड कलर सेट करें. इससे, प्रीव्यू स्ट्रीम शुरू होने से पहले, इसके पीछे मौजूद कॉन्टेंट नहीं दिखता. (I09fad)

Camera-Extensions Version 1.0.0-alpha10

15 अप्रैल, 2020

androidx.camera:camera-extensions:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Camera-Core की रिलीज़ के लिए सुधार किए गए हैं

Camera-View Version 1.0.0-alpha10

15 अप्रैल, 2020

androidx.camera:camera-view:1.0.0-alpha010 रिलीज़ हो गया है. वर्शन 1.0.0-alpha010 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • इस वर्शन में, पिछली जानी-पहचानी समस्या को ठीक किया गया है. इस समस्या में, PreviewView का surfaceView, कुछ डिवाइसों पर ठीक से काम नहीं कर रहा था. साथ ही, झलक को फिर से शुरू करने के बाद, ऐप्लिकेशन क्रैश हो जाता था. (I5ed6b)

Camera-Extensions वर्शन 1.0.0-alpha09

1 अप्रैल, 2020

androidx.camera:camera-extensions:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • camera-camera2:1.0.0-beta02, camera-core:1.0.0-beta02, और camera-lifecycle:1.0.0-beta02 आर्टफ़ैक्ट में गड़बड़ियां ठीक करने के लिए अपडेट किया गया

Camera-View वर्शन 1.0.0-alpha09

1 अप्रैल, 2020 androidx.camera:camera-view:1.0.0-alpha09 को रिलीज़ किया गया. वर्शन 1.0.0-alpha09 में ये कमिट शामिल हैं.

ऐसी समस्याएं जिनके बारे में जानकारी पहले से है

  • PreviewView के साथ PreviewView का इस्तेमाल करने पर, हो सकता है कि यह कुछ डिवाइसों पर ठीक से काम न करे. ऐसा इसलिए होता है, क्योंकि जिस विंडो में SurfaceView का इस्तेमाल किया जाता है उसका लाइफ़साइकल बंद होने पर, SurfaceView का इस्तेमाल नहीं किया जा सकता. जब विंडो फिर से चालू होती है, तो कैमरा फिर से खुल जाता है. ऐसा हो सकता है कि SurfaceView का इस्तेमाल फिर से शुरू होने से पहले ही, कैमरा झलक दिखाने की कोशिश करे.ImplementationMode.SURFACE_VIEW फ़िलहाल, आपको ImplementationMode.TEXTURE_VIEW का इस्तेमाल करना चाहिए.

एपीआई में हुए बदलाव

  • PreviewView.setImplementationMode() का नाम बदलकर PreviewView.setPreferredImplementationMode() कर दिया गया.
  • PreviewView.getImplementationMode() का नाम बदलकर PreviewView.getPreferredImplementationMode() कर दिया गया.
  • PreviewView.getSurfaceProvider() को PreviewView.createSurfaceProvider(CameraInfo) से बदल दिया गया है. यह एक ऐसा इंस्टेंस है जिसमें शून्य वैल्यू हो सकती है. इसका इस्तेमाल, ImplementationMode.SURFACE_VIEW का इस्तेमाल करके झलक को ऑप्टिमाइज़ करने के लिए किया जाता है.CameraInfo अगर कोई शून्य इंस्टेंस पास किया जाता है या आपने पसंदीदा तरीके को ImplementationMode.TEXTURE_VIEW पर सेट किया है, तो ImplementationMode.TEXTURE_VIEW का इस्तेमाल अंदरूनी तौर पर किया जाता है.
  • यहां दिए गए कोड सैंपल में दिखाया गया है कि PreviewView के साथ, झलक देखने की सुविधा का इस्तेमाल कैसे किया जाता था.

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

    फ़िलहाल, ये प्रॉम्प्ट लिखे जा सकते हैं:

    val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
    previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW
    preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))
    
  • @UiThread एनोटेशन को PreviewView.getSurfaceProvider() में जोड़ा गया है. इसका मतलब है कि इसे मुख्य थ्रेड से कॉल किया जाना चाहिए. (I192f3)

  • PreviewView.setScaleType() जोड़ा गया है. इससे झलक का स्केल टाइप सेट किया जा सकता है. यह PreviewView.ScaleType में दी गई वैल्यू में से किसी एक को स्वीकार करता है. इसकी डिफ़ॉल्ट वैल्यू PreviewView.ScaleType.FILL_CENTER होती है.

  • PreviewView.getScaleType() को जोड़ा गया.

  • एक्सएमएल लेआउट में implementationMode एट्रिब्यूट का इस्तेमाल करके, PreviewView के लिए लागू करने का मोड सेट करने की सुविधा हटा दी गई है.

  • createMeteringPointFactory() API को PreviewView में जोड़ें, ताकि PreviewView में (x, y) को MeteringPoint में बदला जा सके. (Ib36d7)

गड़बड़ियां ठीक की गईं

  • उन मामलों को ठीक किया गया है जिनमें PreviewView का साइज़ बदलने के बाद, गलत झलक दिखती है. (I71101)

Camera-Extensions वर्शन 1.0.0-alpha08

26 फ़रवरी, 2020

androidx.camera:camera-extensions:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये कमिट शामिल हैं.

Camera-View वर्शन 1.0.0-alpha08

26 फ़रवरी, 2020

androidx.camera:camera-view:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • SurfaceRequest.provideSurface() पर मौजूद ListenableFuture को Executor और Callback से बदला गया. इससे एपीआई का इस्तेमाल करना आसान हो जाता है. अब provideSurface() पर अपवादों को मैनेज करने की ज़रूरत नहीं होती. साथ ही, यह भी पक्का किया जाता है कि provideSurface() कॉलबैक को रद्द नहीं किया जा सकता. ऐसा इसलिए किया गया है, ताकि पुराने डिवाइसों पर क्रैश होने की समस्या न हो. यह समस्या, समय से पहले सर्फ़ेस रिलीज़ करने की वजह से होती है. SurfaceRequest.Result ऑब्जेक्ट का इस्तेमाल अब यह ट्रैक करने के लिए किया जाता है कि SurfaceRequest, दिए गए Surface का इस्तेमाल कैसे करता है. (I7854b)
  • SurfaceRequest.setSurface(Surface) का नाम बदलकर SurfaceRequest.provideSurface(Surface) और SurfaceRequest.setWillNotComplete() का नाम बदलकर SurfaceRequest.willNotProvideSurface() किया गया. (I224fe)
  • ProGuard चालू होने पर, ऐप्लिकेशन के वैरिएंट के इनिशियलाइज़ेशन की समस्या ठीक की गई. ऐसा, CameraXConfig की डिफ़ॉल्ट सेवा देने वाली कंपनी को सेट करने वाले फ़्लैग को सुरक्षित रखकर किया गया. (I2d6c1)

Camera-Extensions Version 1.0.0-alpha07

10 फ़रवरी, 2020

androidx.camera:camera-extensions:1.0.0-alpha07 रिलीज़ हो गया है. वर्शन 1.0.0-alpha07 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ImageCapture.OnImageSavedCallback.onError() और ImageCapture.OnImageCapturedCallback.onError() में पहले पास किए गए आर्ग्युमेंट को अब एक ही आर्ग्युमेंट ImageCaptureException से बदल दिया गया है. इसमें अब भी वह सारी जानकारी शामिल है जो पहले पास की गई थी.
  • ImageCapture.OnImageSavedCallback.onImageSaved() में पहले पास किए गए फ़ाइल आर्ग्युमेंट को हटा दिया गया है. (I750d2)

Camera-View Version 1.0.0-alpha07

10 फ़रवरी, 2020

androidx.camera:camera-view:1.0.0-alpha07 रिलीज़ हो गया है. वर्शन 1.0.0-alpha07 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • PreviewView को लागू करने पर, अब TextureView का साइज़, कैमरा सेंसर के आउटपुट साइज़ पर सेट हो जाता है. इसके बाद, इसे स्केल करके पैरंट PreviewView के साइज़ के बराबर कर दिया जाता है.TextureView अगर आपको कैमरा प्रीव्यू को यूज़र इंटरफ़ेस (यूआई) के किसी हिस्से (जैसे कि पूरी स्क्रीन) में दिखाना है, तो आपको PreviewView का साइज़ तय नहीं करना चाहिए. इसके अलावा, आपको PreviewView के कॉन्टेंट को रैप नहीं करना चाहिए. इसके लिए, "wrap_content" एट्रिब्यूट का इस्तेमाल किया जा सकता है. ऐसा करने से, कैमरा प्रीव्यू सिर्फ़ PreviewView के कुछ हिस्से में दिख सकता है. ऐसा तब होता है, जब कैमरा सेंसर का आउटपुट साइज़ छोटा होता है. इसके बजाय, आपको PreviewView को उसके पैरंट जितना बड़ा सेट करना चाहिए. उदाहरण के लिए, "match_parent" एट्रिब्यूट का इस्तेमाल करके. (1204869)

गड़बड़ियां ठीक की गईं

  • ImageCapture को अपडेट किया गया है, ताकि इमेज को Uri और OutputStream में सेव किया जा सके. takePicture के ज़्यादा इस्तेमाल किए गए तरीकों को एक में मिला दिया गया है. Uri को कैननिकल उदाहरण के तौर पर इस्तेमाल करने के लिए, टेस्ट ऐप्लिकेशन को अपडेट किया गया. (Ia3bec)
  • Preview.PreviewSurfaceProvider का नाम बदलकर Preview.SurfaceProvider कर दिया गया है. SurfaceProvider के लिए, अब डेवलपर को अपना ListenableFuture बनाने की ज़रूरत नहीं है. साथ ही, Surface देने का काम अब नए SurfaceRequest ऑब्जेक्ट के ज़रिए किया जाता है. Preview.getPreviewSurfaceProvider() तरीके को हटा दिया गया है, क्योंकि Preview को PreviewView जैसी अन्य क्लास के साथ जोड़ने पर, इसका गलत इस्तेमाल किया जा सकता है. (I20105)
  • ImageCapture.OnImageSavedCallback.onError() और ImageCapture.OnImageCapturedCallback.onError() में पहले पास किए गए आर्ग्युमेंट को अब एक ही आर्ग्युमेंट ImageCaptureException से बदल दिया गया है. इसमें अब भी वह सारी जानकारी शामिल है जो पहले पास की गई थी.
  • ImageCapture.OnImageSavedCallback.onImageSaved() में पहले पास किए गए फ़ाइल आर्ग्युमेंट को हटा दिया गया है. (I750d2)
  • एपीआई को अपडेट किया गया है. इसमें CameraInfo के getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio(), और getLinearZoom() तरीकों को getZoomState() में मर्ज किया गया है. इससे ZoomState इंस्टेंस मिलता है. (Ib19fe)

Camera-Extensions वर्शन 1.0.0-alpha06

22 जनवरी, 2020

androidx.camera:camera-extensions:1.0.0-alpha06 रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये कमिट शामिल हैं.

अपडेट

  • Camera Core और Camera2 में हुए बदलावों के साथ काम करने के लिए, कई सुधार और अपडेट किए गए हैं.

Camera-View वर्शन 1.0.0-alpha06

22 जनवरी, 2020

androidx.camera:camera-view:1.0.0-alpha06 रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये कमिट शामिल हैं.

अपडेट

  • Camera Core और Camera2 में हुए बदलावों के साथ काम करने के लिए, कई सुधार और अपडेट किए गए हैं.

Camera-Extensions Version 1.0.0-alpha05

18 दिसंबर, 2019

androidx.camera:camera-extensions:1.0.0-alpha05 रिलीज़ हो गया है. वर्शन 1.0.0-alpha05 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • इसे Camera Core के इंटरनल एपीआई से मेल खाने के लिए अपडेट किया गया है.

Camera-View वर्शन 1.0.0-alpha05

18 दिसंबर, 2019

androidx.camera:camera-view:1.0.0-alpha05 रिलीज़ हो गया है. वर्शन 1.0.0-alpha05 में ये कमिट शामिल हैं.

ऐसी समस्याएं जिनके बारे में जानकारी पहले से है

  • PreviewView का इस्तेमाल करते समय, आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) गलत हो सकता है (b/146215202).

नई सुविधाएं

  • PreviewView.TextureViewImplementation नाम की एक नई क्लास लागू की गई है. यह क्लास, SurfaceTexture के लाइफ़साइकल को TextureView के सर्फ़ेस के लिए कैमरे के इस्तेमाल के साथ सिंक करती है.

Camera-Extensions वर्शन 1.0.0-alpha04

4 दिसंबर, 2019

androidx.camera:camera-extensions:1.0.0-alpha04 रिलीज़ हो गया है. camera-extensions के वर्शन 1.0.0-alpha04 में ये कमिट शामिल हैं

एपीआई में हुए बदलाव

  • किसी एक्सटेंशन की उपलब्धता और उसे चालू करने की जांच करने के लिए, अब CameraSelector को इनपुट पैरामीटर के तौर पर इस्तेमाल किया जाता है. यह वही CameraSelector होना चाहिए जिसका इस्तेमाल, इस्तेमाल के उदाहरण को बाइंड करने के लिए किया जाता है.

    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)
    
  • एक्सटेंशन लाइब्रेरी का इस्तेमाल करने से पहले, आपको एक्सटेंशन शुरू करने होंगे.

    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 वर्शन 1.0.0-alpha04

4 दिसंबर, 2019

androidx.camera:camera-view:1.0.0-alpha04 रिलीज़ हो गया है. camera-view के वर्शन 1.0.0-alpha04 में ये कमिट शामिल हैं

एपीआई में हुए बदलाव

  • किसी ऐप्लिकेशन में, झलक देखने की सुविधा का इस्तेमाल करके आसानी से आउटपुट दिखाने के लिए, PreviewView क्लास उपलब्ध कराई जाती है.
  • लेआउट में PreviewView शामिल किए जा सकते हैं:

    <androidx.camera.view.PreviewView
      android:id="@+id/preview_view"
       />
    
  • PreviewView, झलक देखने की सुविधा को आसानी से कनेक्ट करने के लिए PreviewSurfaceProvider उपलब्ध कराता है

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • एपीआई के नाम में “ZoomLevel” को अब “ZoomRatio” के तौर पर इस्तेमाल किया जाता है

  • कुछ तरीके के पैरामीटर में, नल वैल्यू स्वीकार करने की सुविधा में बदलाव किया गया है

Camera-Extensions और Camera-View वर्शन 1.0.0-alpha03

9 अक्टूबर, 2019

androidx.camera:camera-extensions:1.0.0-alpha03 और androidx.camera:camera-view:1.0.0-alpha03 रिलीज़ हो गए हैं. ये camera-extensions:1.0.0-alpha03 में शामिल कमिट हैं और ये camera-view:1.0.0-alpha03 में शामिल कमिट हैं.

नई सुविधाएं

  • एक्सटेंशन के लिए, कॉन्टेक्स्ट इनिशियलाइज़र जोड़ा गया. एक्सटेंशन का वर्शन 1.1.0 पर अपडेट किया गया

Camera-Extensions और Camera-View वर्शन 1.0.0-alpha02

5 सितंबर, 2019

androidx.camera:camera-extensions:1.0.0-alpha02 और androidx.camera:camera-view:1.0.0-alpha02 रिलीज़ हो गए हैं. ये camera-extensions:1.0.0-alpha02 में शामिल कमिट हैं और ये camera-view:1.0.0-alpha02 में शामिल कमिट हैं.

  • PreviewImageProcessorImpl ने टाइमस्टैंप को सही तरीके से लागू किया है या नहीं, इसकी पुष्टि करने के लिए टेस्ट जोड़े गए.
  • Nexus 5 (एपीआई लेवल 21) पर ExtensionTest टेस्ट के काम न करने की समस्या ठीक की गई. साथ ही, यह पक्का किया गया कि झलक उपलब्ध हो.

Camera-Extensions और Camera-View वर्शन 1.0.0-alpha01

7 अगस्त, 2019

androidx.camera:camera-extensions:1.0.0-alpha01 और androidx.camera:camera-view:1.0.0-alpha01 रिलीज़ हो गए हैं. ये camera-extensions:1.0.0-alpha01 में शामिल कमिट हैं और ये camera-view:1.0.0-alpha01 में शामिल कमिट हैं

  • आने वाले समय में, कैमरा एक्सटेंशन के लिए नई लाइब्रेरी उपलब्ध कराई जाएगी. इससे, उन डिवाइसों पर इफ़ेक्ट ऐक्सेस किए जा सकेंगे जिन पर ये एक्सटेंशन काम करते हैं. इस लाइब्रेरी पर अभी काम चल रहा है.
  • Camera View क्लास की नई सुविधा. इस लाइब्रेरी पर अभी काम चल रहा है.