CameraX

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

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

सह-प्रॉडक्ट रिलीज़ किया गया जांचा और परखा हुआ वर्शन रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
camera-camera2 1.4.1 - - 1.5.0-alpha04
camera-core 1.4.1 - - 1.5.0-alpha04
camera-compose - - - 1.5.0-alpha04
camera-effects 1.4.1 - - 1.5.0-alpha04
camera-extensions 1.4.1 - - 1.5.0-alpha04
camera-feature-combination-query - - - 1.5.0-alpha04
camera-feature-combination-query-play-services - - - 1.5.0-alpha04
camera-lifecycle 1.4.1 - - 1.5.0-alpha04
camera-mlkit-vision 1.4.1 - - 1.5.0-alpha04
camera-view 1.4.1 - - 1.5.0-alpha04
camera-viewfinder - - 1.3.0-beta02 1.4.0-alpha07
camera-video 1.4.1 - - 1.5.0-alpha04
इस लाइब्रेरी को आखिरी बार 11 दिसंबर, 2024 को अपडेट किया गया था

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

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

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

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

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

Groovy

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

Kotlin

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

सुझाव

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

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

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

कैमरा व्यूफ़ाइंडर कॉम्पोज़ वर्शन 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 का नेटिव व्यूफ़ाइंडर कॉम्पोज़ेबल शामिल है. इसका इस्तेमाल CameraX और Camera2 के साथ किया जा सकता है. कंपोज किए जा सकने वाले व्यूफ़ाइंडर में अलग-अलग आसपेक्ट रेशियो और टच इवेंट को हैंडल करने की सुविधा होती है.

कैमरा व्यूफ़ाइंडर का वर्शन 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 के ImplementationMode एनोम के नाम बदलें, ताकि लागू किए गए एनोम को बेहतर तरीके से दिखाया जा सके. साथ ही, TransformationInfo.sourceRotation के लिए फ़िक्स की गई कॉन्स्टेंट जोड़ें. (Ic6149)
  • ज़ूम जेस्चर की स्थितियों को कैप्सुलेट करने के लिए, ZoomGestureDetector.ZoomEvent जोड़ा गया. (I84cdf)

कैमरा वर्शन 1.5

वर्शन 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 देने होते हैं. पहला, RAW इमेज के लिए और दूसरा, JPEG इमेज के लिए. (Ib0f3d)

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

  • VideoCapture चालू होने पर, TCL डिवाइसों पर झलक और वीडियो के अंडर-एक्सपोज़र की समस्या को ठीक किया गया. (Id7a64)
  • PreviewView.getMeteringPointFactory के साथ startFocusMetering को चालू करने पर, सेंसर के सही निर्देशांक न मिलने की समस्या को ठीक किया गया. ऐसा तब होता है, जब कोई इफ़ेक्ट चालू हो या चार इस्तेमाल के उदाहरण (स्ट्रीम शेयर करना) बाउंड हों. (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 में ये कमिट शामिल हैं.

नई सुविधाएं

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

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

  • लेगसी लेवल वाले डिवाइसों पर, 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 इमेज को सेव कर सकता है. इसके अलावा, अगर इन डिवाइसों पर ImageProxy.toBitmap() फ़ंक्शन को कॉल करते समय, JPEG इमेज के मेटाडेटा से जुड़ी गड़बड़ी होती है, तो सही Bitmap ऑब्जेक्ट दिखाए जा सकते हैं. (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 में ये कमिट शामिल हैं.

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

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

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

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

कैमरा वर्शन 1.4

वर्शन 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-बिट एचडीआर:

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

अन्य शानदार सुविधाएं:

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

वर्शन 1.4.0-rc04

16 अक्टूबर, 2024

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

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

  • PreviewView.getMeteringPointFactory के साथ startFocusMetering को चालू करने पर, सेंसर के सही निर्देशांक न मिलने की समस्या को ठीक किया गया. ऐसा तब होता है, जब कोई इफ़ेक्ट चालू हो या चार इस्तेमाल के उदाहरण (स्ट्रीम शेयर करना) बाउंड हों. (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 में ये कमिट शामिल हैं.

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

  • bindToLifecycle को नष्ट किए गए LifecycleOwner के साथ लागू करने पर क्रैश होने की समस्या को ठीक किया गया है. (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)

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

  • जिन मामलों में ScreenFlashView को साफ़ तौर पर नहीं जोड़ा गया है उनके लिए PreviewView.getScreenFlash और PreviewView.setScreenFlashOverlayColor एपीआई जोड़े गए हैं. (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 की तरह ही, झलक के इस्तेमाल के उदाहरण के लिए 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 पर, झलक की सुविधा का इस्तेमाल करके फ़ोटो लेने पर क्रैश होने की समस्या को ठीक किया गया. 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() एपीआई जोड़ें. मैट्रिक, कैमरे के सेंसर के निर्देशांकों को PreviewView के निर्देशांकों में बदलने की प्रोसेस को दिखाती है. इसका इस्तेमाल, निर्देशांकों को एक 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() फ़ंक्शन को कॉल करते समय, सही Bitmap ऑब्जेक्ट दिखाए जा सकते हैं. (I8d6eb, b/309005680)
  • अगर कैप्चर की गई इमेज 10 एमबी से बड़ी है, तो अमान्य JPEG डेटा की जांच को सभी Samsung डिवाइसों पर लागू करें. इससे, Samsung डिवाइसों पर इमेज का साइज़ बहुत ज़्यादा होने की समस्या ठीक हो सकती है. (Ic2a65, b/288828159)
  • CameraX एक्सटेंशन पर ImageAnalysis की सुविधा हटा दी गई है. ऐसा इसलिए किया गया है, क्योंकि कई OEM के एक्सटेंशन, 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 अनबाउंड होने या कैमरा बंद होने पर, ImageCapture#ScreenFlash#clear इवेंट तुरंत ट्रिगर हो जाता है. साथ ही, कुछ गड़बड़ियों को ठीक करता है, जिनमें इन स्थितियों में कैप्चर ठीक से पूरा न होने की वजह से, इवेंट कभी ट्रिगर नहीं होता. (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)
  • झलक UseCase में PreviewCapabitlity क्वेरी के लिए एपीआई को एक्सपोज़ करें. (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 इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में, ग़ैर-ज़रूरी 0 का पैडिंग डेटा शामिल होता है. इस वजह से, कैप्चर की गई इमेज का फ़ाइल साइज़ बहुत ज़्यादा हो जाता है. कैप्चर की गई इमेज का साइज़ सामान्य रखने के लिए, अतिरिक्त 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, रिज़ॉल्यूशन चुनने का ज़्यादा बेहतर तरीका है. यह camera-core API के साथ काम करता है. (I93abd, b/286801438)

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

  • Samsung Galaxy S23 Ultra 5G पर, पीछे के कैमरे पर ImageAnalysis के साथ एक्सटेंशन बोकेह या फ़ेस-रीटच की सुविधा चालू होने पर, झलक के काले होने की समस्या को ठीक किया गया है. (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 का पैडिंग डेटा शामिल होता है. इस वजह से, कैप्चर की गई इमेज का फ़ाइल साइज़ बड़ा हो जाता है. कैप्चर की गई इमेज का साइज़ सामान्य रखने के लिए, अतिरिक्त 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)
  • FRAME_RATE_RANGE_UNSPECIFIED के साथ setTargetFrameRate को कॉल करते समय, फ़्रेम रेट को कम वैल्यू पर सेट होने की समस्या को ठीक किया गया. (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 में पसंदीदा रिज़ॉल्यूशन के साथ सीधे ResolutionSelector सेट करें और उससे मैच करने वाला AspectRatioStrategy सेट करें. (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 और झलक, दोनों के साथ स्ट्रीम शेयर करने पर होने वाली क्रैश की समस्या को ठीक किया गया है. स्ट्रीम शेयर करने की सुविधा चालू होने पर, लेगसी डिवाइसों पर ब्लैक स्क्रीन दिखने की समस्या को भी ठीक किया गया है.
  • Samsung S7 (SM-G930T, SM-G930V) सीरीज़ के डिवाइसों पर, बड़ी JPEG इमेज कैप्चर करने से जुड़ी समस्या को ठीक किया गया. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में, ग़ैर-ज़रूरी 0 का पैडिंग डेटा शामिल होता है. इस वजह से, कैप्चर की गई इमेज का फ़ाइल साइज़ बड़ा हो जाता है. कैप्चर की गई इमेज का साइज़ सामान्य रखने के लिए, अतिरिक्त 0 के पैडिंग डेटा को हटा दिया जाएगा. (I407b0, b/288828159)
  • Samsung S22 (SM-S901B, SM-S901B/DS) और S22+ (SM-S906B) सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या को ठीक किया गया. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में, अतिरिक्त 0 का पैडिंग डेटा शामिल होता है. इस वजह से, S22 SM-S901B/DS डिवाइस पर कैप्चर की गई इमेज का फ़ाइल साइज़ करीब 13 एमबी हो जाता है. कैप्चर की गई इमेज का साइज़ सामान्य रखने के लिए, अतिरिक्त 0 के पैडिंग डेटा को हटा दिया जाएगा. (I73be9, b/288828159)
  • Samsung A5, A52, A70, और A72 सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या को ठीक किया गया. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में, अतिरिक्त 0 का पैडिंग डेटा शामिल होता है. इस वजह से, कैप्चर की गई इमेज का फ़ाइल साइज़ बहुत ज़्यादा हो जाता है. जैसे, 32 एमबी या 96 एमबी. कैप्चर की गई इमेज का साइज़ सामान्य रखने के लिए, अतिरिक्त 0 के पैडिंग डेटा को हटा दिया जाएगा. (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 इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में, अतिरिक्त 0 का पैडिंग डेटा शामिल होता है. इस वजह से, कैप्चर की गई इमेज का फ़ाइल साइज़ करीब 32 एमबी हो जाता है. कैप्चर की गई इमेज का साइज़ सामान्य रखने के लिए, अतिरिक्त 0 के पैडिंग डेटा को हटा दिया जाएगा. (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 के इस्तेमाल के उदाहरण को झलक और 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)
  • झलक के इस्तेमाल के उदाहरण (If4f22) के लिए, टारगेट फ़्रेम रेट को सेट और फिर से पाने के लिए, नए एपीआई Preview#getTargetFrameRate और Preview.Builder#setTargetFrameRate जोड़े गए हैं
  • जब Recording ऑब्जेक्ट, गै़रबेज कलेक्शन की वजह से रुक जाता है, तो VideoRecordEvent.Finalize अब गड़बड़ी कोड ERROR_RECORDING_GARBAGE_COLLECTED के साथ पूरा होगा. (Iba974)

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

  • StreamConfigurationMapCompat में कैश मेमोरी में सेव किए गए आउटपुट के साइज़ शून्य होने पर, NullPointerException को ठीक किया गया. (Idf124, b/282025204)
  • एक्सटेंशन में झलक को रोकने से जुड़ी समस्या को ठीक किया गया (Ia903e)Preview.setSurfaceProvider(null)
  • 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} बाउंड किए जा सकते हैं. ज़्यादा से ज़्यादा रिज़ॉल्यूशन 720p या 1440p है. ज़्यादा जानकारी के लिए, इस लिंक पर जाएं और CameraManager#getConcurrentCameraIds() देखें
  • पेश है ResolutionSelector API का नया वर्शन, जिसमें ये सुविधाएं शामिल हैं:
    • ऐप्लिकेशन, आसपेक्ट रेशियो और रिज़ॉल्यूशन की रणनीतियों के बारे में बता सकते हैं, ताकि वे अपनी ज़रूरतों के हिसाब से सबसे अच्छा रिज़ॉल्यूशन चुन सकें.
    • सभी साइज़ और आसपेक्ट रेशियो पैरामीटर, कैमरा डिवाइस सेंसर के निर्देशांक में दिखाए जाते हैं.
    • ऐप्लिकेशन, कस्टम रिज़ॉल्यूशन फ़िल्टर लागू कर सकते हैं, ताकि इस्तेमाल किए जा सकने वाले साइज़ को पसंद के क्रम में लगाया जा सके.
    • ऐप्लिकेशन, हाई रिज़ॉल्यूशन वाली इमेज पाने के लिए, हाई रिज़ॉल्यूशन कैप्चर करने की सुविधा भी चालू कर सकते हैं. हालांकि, कृपया ध्यान दें कि ज़्यादा रिज़ॉल्यूशन का इस्तेमाल करने पर, फ़ोटो खींचने में ज़्यादा समय लग सकता है.
    • VideoCapture मिररिंग एपीआई जोड़े गए. VideoCapture से रिकॉर्ड किए गए वीडियो, डिफ़ॉल्ट रूप से मिरर नहीं होते. हालांकि, सामने वाले कैमरे पर कैमरे की झलक डिफ़ॉल्ट रूप से मिरर की जाती है. VideoCapture मिररिंग एपीआई की मदद से, सामने वाले कैमरे का इस्तेमाल करते समय, कैमरे की झलक को अलाइन किया जा सकता है. तीन MirrorMode, OFF, ON, और ON_FRONT_ONLY हैं. कैमरे की झलक को अलाइन करने के लिए, ON_FRONT_ONLY का इस्तेमाल करने का सुझाव दिया जाता है. इसका मतलब है कि रीयर कैमरे के लिए, मिररिंग की सुविधा चालू नहीं है, लेकिन फ़्रंट कैमरे के लिए चालू है.

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

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

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

  • 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 को टारगेट करने वाले इफ़ेक्ट, झलक और VideoCapture स्ट्रीम में कॉपी करने से पहले, शेयर की गई स्ट्रीम पर लागू होंगे. (Iee6f3)

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

  • कैमरा 1.2.2: Pixel (I90aa2) जैसे कुछ डिवाइसों पर ProGuard चालू होने पर, CameraX एक्सटेंशन ठीक से काम न करने की समस्या ठीक की गई है
  • 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 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

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

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

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

  • 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)
  • CameraController में #setEffect() जोड़ें, ताकि कैमरे के आउटपुट में इफ़ेक्ट जोड़े जा सकें. (I1d21f)
  • SurfaceRequest में invalidate() तरीका जोड़ें. सर्वर की सेवा देने वाली कंपनी यह सूचना दे सकती है कि पहले दिया गया सर्वर अब मान्य नहीं है. (Idc649)
  • ImageProcessor एपीआई जोड़ें. यह इंटरफ़ेस, ImageCapture पाइपलाइन में पोस्ट-प्रोसेसिंग इफ़ेक्ट इंजेक्ट करने के लिए है. (I575c6)
  • एपीआई Recorder.Builder.setAspectRatio() जोड़ा गया है. इसे QualitySelector के साथ जोड़कर, ज़्यादा वीडियो रिज़ॉल्यूशन इस्तेमाल किए जा सकते हैं. (I8a082)
  • टारगेट वीडियो एन्कोडिंग BitRate सेट करने के लिए Recorder.Builder#setTargetVideoEncodingBitRate और टारगेट वीडियो एन्कोडिंग बिटरेट पाने के लिए 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 क्लास हटाएं. इनका इस्तेमाल, वीडियो कैप्चर करने वाले नए API को लागू करने के बाद नहीं किया जाता. (I38cd8)
  • नया वीडियो कैप्चर एपीआई लागू करें. getVideoCaptureTargetSize और setVideoCaptureTargetSize तरीकों को getVideoCaptureTargetQuality और setVideoCaptureTargetQuality तरीकों से बदल दिया गया है, क्योंकि setTargetResolution अब काम नहीं करता. (I2a1d5)

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

  • बंद किए गए core.VideoCapture एपीआई को हटाएं. (I531e0)
  • स्टोरेज की अनुमति के बिना फ़ोटो लेने पर, onError कॉलबैक को न कॉल करने की समस्या को ठीक किया गया.(I936db, b/244807669)
  • कैमरा एक्सटेंशन की क्वालिटी और भरोसेमंदता को बेहतर बनाना. Motorola डिवाइसों पर Camera Extensions v1.1.0 और उससे पहले के वर्शन का इस्तेमाल करने पर, Camera Extensions की सुविधा बंद हो जाती है. ऐसा, बोकेह मोड, इमेज कैप्चर करने, और झलक देखने की सुविधा के काम न करने की वजह से होता है. (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 एक्सटेंशन ठीक से काम न करने की समस्या ठीक की गई है

वर्शन 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 को नए एपीआई के तौर पर जोड़ा गया है.
  • एक्सपेरिमेंट के तौर पर उपलब्ध, शटर लैग को कम करने वाला नया एपीआई. इमेज की अच्छी क्वालिटी को बनाए रखते हुए, इंतज़ार का समय कम करने के लिए कैप्चर पाइपलाइन को ऑप्टिमाइज़ करता है. कैप्चर मोड को 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() किया गया.
  • सेव किए गए वीडियो में जगह की जानकारी का मेटाडेटा सेट करने के लिए एपीआई जोड़ा गया.
  • VideoCapture और 16:9 आसपेक्ट रेशियो वाले प्रीव्यू के इस्तेमाल के उदाहरणों का इस्तेमाल करते समय, फ़्रेम रेट कम होने की समस्या को ठीक किया गया
  • सैमसंग के कुछ डिवाइसों पर BOKEH एक्सटेंशन चालू होने और उपयोगकर्ता के कैमरे स्विच करने पर, झलक के काले दिखने की समस्या को ठीक किया गया है.
  • Samsung J7 Prime (SM-G610M) और J7 (SM-J710MN) Preview/VideoCapture के लिए, एपीआई लेवल 27 वाले डिवाइसों पर स्ट्रेच की समस्या को ठीक किया गया.
  • Samsung Android T पर, सामने वाले कैमरे के ऑटोफ़ोकस (एएफ़) क्षेत्र को हॉरिज़ॉन्टल तौर पर फ़्लिप करने के लिए, गड़बड़ी को ठीक करने के बाद, गड़बड़ी को ठीक करने के लिए इस्तेमाल किए जाने वाले तरीके को बंद कर दिया गया है

वर्शन 1.2.0-rc01

24 अक्टूबर, 2022

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

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

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

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

  • एपीआई लेवल 27 वाले डिवाइसों पर, Samsung J7 Prime (SM-G610M) और J7 (SM-J710MN) Preview/VideoCapture की स्ट्रेच की गई समस्या को ठीक किया गया. 1920x1080 रिज़ॉल्यूशन की वजह से, Preview/VideoCapture इमेज स्ट्रेच हो जाती हैं. इमेज के स्ट्रेच होने की समस्या से बचने के लिए, झलक या VideoCapture के लिए 1920x1080 रिज़ॉल्यूशन न चुनने का तरीका जोड़ा गया है. (I0e04e)
  • कुछ Huawei डिवाइसों पर, VideoCapture और झलक के इस्तेमाल के उदाहरणों के साथ 16:9 आसपेक्ट रेशियो का इस्तेमाल करने पर, फ़्रेम रेट कम होने की समस्या को ठीक किया गया है. (If8c88, b/223643510)
  • झलक देखने की सुविधा के 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 को MLKit की कई सुविधाओं के साथ आसानी से इंटिग्रेट करें. इन सुविधाओं में, बारकोड स्कैनिंग, चेहरे की पहचान करने, टेक्स्ट की पहचान करने वगैरह की सुविधाएं शामिल हैं. सैंपल कोड यहां देखें.
  • एक्सपेरिमेंट के तौर पर उपलब्ध नया 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 मिलीसेकंड जोड़ा गया है. अगर FocusMeteringAction रद्द नहीं किया जाता है और ऑटो फ़ोकस की प्रोसेस पूरी नहीं होती है, तो isFocusSuccessful को 'गलत' के तौर पर सेट कर दिया जाएगा. (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} बाउंड है या फ़्लैश मोड बंद नहीं है या OEM एक्सटेंशन चालू है, तो यह मोड अपने-आप बंद हो जाएगा. (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)
  • ImageCapture.takePicture() को NullPointerException पर ठीक किया गया. (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 के बाद किए गए अहम बदलाव

  • लैंडेड व्यू, एक्सटेंशन, और वीडियो कैप्चर लाइब्रेरी के आरसी वर्शन. 1.1.0-beta01 से, सभी CameraX लाइब्रेरी एक ही वर्शन नंबर के साथ अलाइन होंगी. इससे डेवलपर को वर्शन को आसानी से ट्रैक करने में मदद मिलेगी. साथ ही, वर्शन के साथ काम करने वाले बड़े मैट्रिक्स को आसानी से मैनेज किया जा सकेगा.
  • नए सार्वजनिक एपीआई और सुविधाएं लॉन्च की गईं. इनमें ये शामिल हैं:
  • वीडियो कैप्चर के इस्तेमाल के उदाहरणों के साथ काम करने के लिए, आधिकारिक कैमरा-वीडियो लाइब्रेरी जोड़ें.
  • YUV से आरजीबी में बदलने और रोटेशन की सुविधा (ImageAnalysis.Builder.setOutputImageRotationEnabled और setOutputImageFormat)
  • मल्टी-विंडो मोड के साथ काम करने की सुविधा. इससे, जब किसी दूसरे ऐप्लिकेशन की वजह से कैमरे का इस्तेमाल रुक जाता है और फ़ोकस वापस आ जाता है, तब CameraX ऐप्लिकेशन को कैमरे का इस्तेमाल फिर से शुरू करने की अनुमति मिलती है.
  • झलक देखने से जुड़ी कुछ समस्याओं को ठीक करके, यह पक्का किया गया है कि फ़ोल्ड किए जा सकने वाले डिवाइसों में CameraX अच्छी तरह से काम करे.
  • CameraState एपीआई जोड़ा गया है. इसे CameraInfo के ज़रिए एक्सपोज़ किया जाएगा.
  • उपलब्ध कैमरों की जानकारी सीधे तौर पर पाने के लिए, एपीआई ProcessCameraProvider.getAvailableCameraInfos() जोड़ा गया
  • एक्सटेंशन चालू होने पर, ImageCapture#OnImageCapturedCallback के लिए JPEG फ़ॉर्मैट में आउटपुट.
  • CameraInfo में एक एपीआई isFocusMeteringSupported जोड़ा गया है. इससे ऐप्लिकेशन यह पता लगा सकते हैं कि दिया गया FocusMeteringAction, मौजूदा कैमरे पर काम करता है या नहीं.
  • झलक, ImageCapture, और ImageAnalysis के लिए रिज़ॉल्यूशन की जानकारी देने के लिए, getResolutionInfo एपीआई को एक्सपोज़ किया गया.
  • फ़ोटो खींचते समय, आउटपुट 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 एपीआई
  • एक्सपोज़र कंपंसेशन के लिए एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई.
  • camera-core, camera-lifecycle, और camera-video के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध UseCaseGroup API का प्रमोशन किया. व्यूपोर्ट को पसंद के मुताबिक बनाने के लिए, ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection, और ViewPort.Builder#setScaleType जोड़े गए.
  • ExperimentalUseCaseGroupLifecycle को आधिकारिक सार्वजनिक एपीआई के तौर पर प्रमोट किया.
  • मौजूदा एपीआई में होने वाले बदलाव
  • Renamed MediaStoreOutputOptions.getCollection से MediaStoreOutputOptions.getCollectionUri.
  • ActiveRecording का नाम बदलकर "रिकॉर्डिंग" कर दिया गया है, ताकि कम शब्दों में जानकारी दी जा सके.
  • QualitySelector क्रिएटर एपीआई को सूची पर आधारित एपीआई में बदल दिया गया

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

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

वर्शन 1.1.0-rc02

1 जून, 2022

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

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

  • ImageCapture.takePicture() को NullPointerException पर ठीक किया गया. (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 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • camera-video, camera-view, और camera-extension के लिए आरसी वर्शन रिलीज़ करना

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

  • एक समस्या को ठीक किया गया है. इसमें VideoCapture<Recorder> को अनबाउंड करने पर, वीडियो कोडेक रिलीज़ नहीं होता था. इस वजह से, MediaCodec.CodecException की मदद से रिकॉर्डिंग करने के लिए, VideoCapture<Recorder> का इस्तेमाल नहीं किया जा सकता था. खास तौर पर, एपीआई 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)
  • Samsung के कुछ डिवाइसों पर, एपीआई 29 से पहले के वर्शन में, वीडियो रोकने और फिर से चलाने के बाद, ऑडियो/वीडियो सिंक न होने की समस्या को ठीक किया गया है. (I64622, b/202798609, b/202798572)
  • Sony G3125 पर, वीडियो रोकने और फिर से चलाने के बाद, ऑडियो/वीडियो सिंक न होने की समस्या को ठीक किया गया. (I2a1a5, b/202799148)
  • रिकॉर्डर में InvalidConfigException की समस्या आने पर क्रैश होने की समस्या को ठीक किया गया. हालांकि, इस तरीके से ऐप्लिकेशन क्रैश होने से रोका जा सकता है, लेकिन InvalidConfigException की समस्या हल नहीं होती. अगर Recorder को अब भी कॉन्फ़िगर नहीं किया जा सकता, तो रिकॉर्डिंग शुरू होने पर ऐप्लिकेशन को गड़बड़ी का कॉलबैक मिलेगा. (I89c29, b/213617227)

बाहरी योगदान

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

वर्शन 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 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

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

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

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

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

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

वर्शन 1.1.0-alpha11

17 नवंबर, 2021

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

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

  • CameraSelector के आधार पर CameraInfos की सूची को फ़िल्टर करने के लिए, सार्वजनिक एपीआई में CameraSelector#filter जोड़ा गया है. (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} से दूसरे में मैप करने के लिए किया जा सकता है. उदाहरण के लिए, ImageAnalysis की मदद से पहचाने गए चेहरे के कोऑर्डिनेट को झलक में मैप करना. (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 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • वीडियो के लिए, androidx.camera:camera-video:1.1.0-alpha10 को आधिकारिक तौर पर पहला अल्फा वर्शन के तौर पर रिलीज़ किया गया. आने वाले वर्शन में, पहले से पता चली कुछ समस्याओं को ठीक किया जाएगा.

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

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

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

  • CameraCharacteristics बनाते समय होने वाली AssertionError को ऐप्लिकेशन आसानी से मैनेज कर सके, इसके लिए InitializationException को थ्रो करें. (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 को बाउंड करने पर, फ़ोटो खींचते समय झलक देखने की सुविधा कुछ समय के लिए रुकने की समस्या को ठीक किया गया है. (I56197, b/193864120)
  • इससे ImageAnalysis को 1080 पिक्सल से ज़्यादा का रिज़ॉल्यूशन चुनने की अनुमति मिलती है. सीमित-लेवल से ऊपर के डिवाइस पर, ImageAnalysis के लिए रिकॉर्ड किए गए आकार का रिज़ॉल्यूशन काम कर सकता है. हालांकि, इसके लिए ज़रूरी है कि डिवाइस पर Preview और ImageCapture भी काम कर रहे हों. हालांकि, इसके लिए यह ज़रूरी है कि ImageCapture के लिए चुना गया रिज़ॉल्यूशन, रिकॉर्ड किए जाने वाले वीडियो के रिज़ॉल्यूशन के बराबर हो. ImageAnalysis के लिए रिकॉर्ड का साइज़ और रिज़ॉल्यूशन चुनने के लिए, ImageCapture और ImageAnalysis, दोनों पर रिकॉर्ड का साइज़ और रिज़ॉल्यूशन सेट होना चाहिए. इससे पता चलता है कि ऐप्लिकेशन, ज़्यादा से ज़्यादा रिज़ॉल्यूशन वाली इमेज कैप्चर करने के बजाय, ImageAnalysis के लिए ज़्यादा रिज़ॉल्यूशन का इस्तेमाल करना चाहता है. रिकॉर्ड, ज़्यादा से ज़्यादा साइज़, और ज़्यादा जानकारी की परिभाषाओं के लिए, 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 वर्शन में ये बदलाव शामिल हैं.

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

  • camera-core (I08ee8) के लिए, एक्सपेरिमेंटल एक्सपोज़र कम्पेंसेशन एपीआई का प्रमोशन करना
  • CameraInfo में isFocusMeteringSupported एपीआई जोड़ा गया है. इससे ऐप्लिकेशन यह पता लगा सकते हैं कि दिए गए FocusMeteringAction का इस्तेमाल मौजूदा कैमरे पर किया जा सकता है या नहीं. (Ib45ae, b/188606490)
  • 'झलक', 'इमेज कैप्चर', और 'इमेज का विश्लेषण' के लिए रिज़ॉल्यूशन की जानकारी देने के लिए, 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)
  • camera-core, camera-lifecycle, और camera-video के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध 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 एपीआई अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं और ये आधिकारिक एपीआई बन गए हैं. इनका इस्तेमाल, एनोटेट किए गए ऑप्ट-इन के बिना किया जा सकता है. (I4bc94)
  • कैमरे की स्थिति बताने वाला एपीआई जोड़ा गया है. इसे CameraInfo#getCameraState() के ज़रिए एक्सपोज़ किया जाता है. (Ia86b4)
  • एक्सपेरिमेंट के तौर पर एपीआई CameraInfo#getCameraSelector() जोड़ा गया, जो अपने कैमरे (I77f9f) के लिए यूनीक CameraSelector दिखाता है

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

  • setZoomRatio और setLinearZoom में ListenableFuture की वजह से हुई समस्या को ठीक किया गया. यह समस्या, Android 11 वाले कुछ डिवाइसों (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 वर्शन में ये बदलाव शामिल हैं.

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

  • एक ही कलेक्शन को एक साथ कई थ्रेड ऐक्सेस करने की वजह से, मेमोरी लीक होने की समस्या को ठीक किया गया. मेमोरी लीक की वजह से, झलक वाले इंस्टेंस में ऐक्टिविटी या फ़्रैगमेंट सेव रह सकता है. (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)
  • "फ़ाइल" टाइप के 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 वर्शन में ये बदलाव शामिल हैं.

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

  • setZoomRatio और setLinearZoom में दिखाया गया ListenableFuture, कुछ 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, झलक, इमेज कैप्चर, और विश्लेषण की सुविधाओं के साथ काम करता है
  • CameraX, आसानी से इस्तेमाल किए जा सकने वाले एपीआई में कैमरे के लाइफ़साइकल को मैनेज करता है
  • CameraX का मकसद, Android कैमरा नेटवर्क में कई समस्याओं को ठीक करने वाली संगतता लेयर उपलब्ध कराना है

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

वर्शन 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)
  • "फ़ाइल" टाइप के 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 वर्शन में ये कमिट शामिल हैं.

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

  • जब झलक के लिए इस्तेमाल किए जा सकने वाले सभी साइज़ 640x480 से छोटे हों और डिसप्ले साइज़ 640x480 से बड़ा हो, तब IllegalArgumentException की समस्या आती है. इसे ठीक कर दिया गया है. (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 वर्शन में ये कमिट शामिल हैं.

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

  • CameraInfo को शामिल करने के लिए, CameraFilter और Camera2Filter को बदला गया. (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, और लाइफ़साइकल वर्शन 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 डिवाइसों पर ऑटो फ़्लैश AE मोड से फ़ोटो लेने पर ऐप्लिकेशन क्रैश होने की समस्या ठीक की जा सके. (Ia5fe3, b/157535165)
  • Android L (एपीआई लेवल 21 और 22) पर चलने वाले Nexus 4 डिवाइसों पर, झलक को स्ट्रेच होने से रोकने की समस्या को ठीक किया गया. (I4d407, b/158749159)
  • OnImageCapturedCallback#onCaptureSuccess बेस क्लास के लागू होने से, इमेज अब बंद नहीं होती. ऐसा करने से, डेवलपर को ऐप्लिकेशन के गलत व्यवहार से बचाया जा सकता है. डेवलपर को इमेज बंद करने के लिए, super.onCaptureSuccess पर भरोसा नहीं करना चाहिए. (Ifbf9c)
  • Kotlin के साथ समानता देने के लिए, एक्सपेरिमेंटल एनोटेशन के androidx वैरिएंट को बंद कर दिया गया है. इसे RequiresOptIn एनोटेशन से बदल दिया गया है. साथ ही, Java के लिए लिंटर को अपडेट किया गया है, ताकि वह नए Kotlin एनोटेशन और नए androidx वैरिएंट, दोनों के साथ काम कर सके. (I52495, b/151331381)

Camera-Camera2 वर्शन 1.0.0-beta11

14 अक्टूबर, 2020

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

नई सुविधाएं

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

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

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

23 सितंबर, 2020

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

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

Camera-Camera2 वर्शन 1.0.0-beta09

16 सितंबर, 2020

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

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

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

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

  • टैबलेट डिवाइसों पर टारगेट आसपेक्ट रेशियो की समस्या ठीक की गई. टारगेट आसपेक्ट रेशियो को AspectRatio.RATIO_16_9 के तौर पर सेट करने पर, 16:9 साइज़ को चुना जाना चाहिए. (Ib7fcf, b/151969438)
  • CameraCharacteristics बनाते समय होने वाली AssertionError को ऐप्लिकेशन आसानी से मैनेज कर सके, इसके लिए InitializationException का इस्तेमाल करें. (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 पर व्यूपोर्ट को नॉन-नल के तौर पर मार्क करने वाली गड़बड़ी को ठीक किया गया. डेवलपर को व्यूपोर्ट सेट किए बिना भी व्यूपोर्ट बनाने की सुविधा मिलनी चाहिए. (Ie3d2e)
  • ExposureCompensation (If96c7) के लिए, प्रयोग के तौर पर इंटरफ़ेस जोड़े गए
  • झलक के लिए, टारगेट को अपनी पसंद के मुताबिक घुमाने की अनुमति दें. ट्रांसफ़ॉर्मेशन की जानकारी का हिसाब लगाया जाता है और उसे नए TranformationInfoListener कॉलबैक की मदद से, उपयोगकर्ता को तुरंत दिखाया जाता है. (I21470)

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

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

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

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

Camera-Camera2 वर्शन 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() से कोई ऐप्लिकेशन ऑब्जेक्ट नहीं दिखाता. (I3d3c9, b/160817073)

Camera-Camera2 वर्शन 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)

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

  • startFocusAndMetering फ़ंक्शन की वजह से, Samsung Galaxy S7 पर फ़ोकस करने में आ रही समस्या को ठीक किया गया. (If3be7, b/159039233)
  • ऐप्लिकेशन बंद करने के बाद, कैमरा बंद न होने की समस्या को ठीक किया गया. (I7a7b3)
  • PreviewView के SurfaceView को लागू करते समय, बार-बार कैमरा स्विच करने से झलक में रुकावट आने की समस्या को ठीक करना (I920ce)
  • अगर दिए गए किसी भी 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#getInstance() को कॉल करने से पहले, ProcessCameraProvider#configureInstance() के साथ कॉन्फ़िगर किया जा सकता है. इससे, ऐप्लिकेशन की ऐप्लिकेशन क्लास में CameraXConfig.Provider को लागू किए बिना, CameraXConfig को पसंद के मुताबिक बनाया जा सकता है. (Ia1a8d)
  • अगर दिए गए किसी भी CameraControl#startFocusAndMetering के लिए, मेज़रमेंट के लिए सही रेक्टैंगल जनरेट नहीं हो पाते, तो यह फ़ंक्शन काम नहीं करेगा. (Id53ce)

Camera-Camera2 वर्शन 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)
  • CONTROL_AF_STATE के लिए वैल्यू null होने पर, startFocusAndMetering को कॉल करने पर क्रैश होने की समस्या को ठीक किया गया. (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 वर्शन 1.0.0-beta04

27 मई, 2020

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

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

  • ऐप्लिकेशन को Camera2Interop की मदद से, कैमरा2 कैप्चर रिक्वेस्ट पैरामीटर सेट करने की अनुमति दी गई, ताकि ऐप्लिकेशन क्रैश न हो. कृपया ध्यान दें कि पैरामीटर को बदलने की वजह से, अगर कोई समस्या आती है, तो 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 वर्शन 1.0.0-beta04

27 मई, 2020

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

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

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

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

  • ImageReaderProxy बंद होने के बाद, ImageProxy को ऐक्सेस करने पर ImageAnalysis में क्रैश होने की समस्या को ठीक किया गया है. इससे यह भी तय होता है कि ImageReaderProxy को बंद करने से पहले, Analyzer को मिले सभी ImageProxy को बंद कर दिया जाना चाहिए. (I4b299, b/145956416, b/154155377, b/156357269)
  • PreviewView#createSurfaceProvider() से CameraInfo पैरामीटर हटा दिया गया है. अब 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 सेटिंग से, पहले अनुरोध किए गए प्लैटफ़ॉर्म को रिलीज़ न करने की वजह से, ऐप्लिकेशन के बार-बार क्रैश होने की समस्या को ठीक किया गया. “java.lang.IllegalStateException: Camera surface session should only fail with request cancellation” (I8e4e7, b/155936225)

Camera-Camera2 वर्शन 1.0.0-beta03

15 अप्रैल, 2020

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

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

  • camera-core को रिलीज़ करने से जुड़ी समस्याएं ठीक करना

Camera-Core वर्शन 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 वर्शन 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.setSurfaceProvider() को एक से ज़्यादा बार कॉल करने के बाद, झलक दिखाने वाला प्लैटफ़ॉर्म बदलने पर, Preview के इस्तेमाल के उदाहरण का कैप्चर सेशन अपडेट नहीं हो रहा था. इस समस्या को ठीक कर दिया गया है.

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

10 फ़रवरी, 2020

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

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

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

Camera-Core वर्शन 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)
  • ImageAnalysis में getTargetRotation(), getBackpressureStrategy(), और getImageQueueDepth() जोड़े गए. (I9d6d9)
  • ImageCapture() में getTargetRotation() और getCaptureMode() जोड़े गए (I5bc17)
  • ImageCapture.OnImageSavedCallback.onError() और ImageCapture.OnImageCapturedCallback.onError() में पहले पास किए गए आर्ग्युमेंट को अब एक आर्ग्युमेंट ImageCaptureException से बदल दिया गया है. इसमें अब भी वह सारी जानकारी मौजूद है जो पहले पास की गई थी.
  • ImageCapture.OnImageSavedCallback.onImageSaved() में पहले पास की गई फ़ाइल आर्ग्युमेंट को हटा दिया गया है. (I750d2)
  • Preview और ImageCapture क्लास को अब फ़ाइनल के तौर पर मार्क कर दिया गया है. (I2500b)
  • अपडेट किया गया एपीआई, जिसमें CameraInfo को getZoomState() में मर्ज करने के लिए getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio(), और getLinearZoom() तरीके दिए गए हैं. इससे ZoomState इंस्टेंस मिलता है. (Ib19fe)
  • CameraXConfig से एपीआई फ़ील्ड OPTION_TARGET_CLASS और OPTION_TARGET_NAME को हटा दिया गया है, क्योंकि इनका इस्तेमाल सिर्फ़ इंटरनल लाइब्रेरी के लिए किया जाता है. CameraXConfig.Builder के लिए कन्स्ट्रक्टर हटाया गया. (I96912)
  • CameraX को शुरू करने के लिए, ऐप्लिकेशन को Application एक्सटेंशन का इस्तेमाल करना ज़रूरी नहीं है. जब तक ऐप्लिकेशन के build.gradle में camera-camera2 आर्टफ़ैक्ट शामिल होगा, तब तक 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 का इस्तेमाल करने वाले ऐप्लिकेशन में, आसपेक्ट रेशियो की झलक गलत हो सकती है. ऐसा Pixel2 जैसे कुछ फ़ुल डिवाइसों पर, वीडियो को रोकने या फिर से चलाने के बाद होता है.

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

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

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

  • IntDef को छिपा दिया गया है और 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 इंटरऑपरेबिलिटी की सुविधा को अब एक्सपेरिमेंटल के तौर पर मार्क कर दिया गया है. साथ ही, इसे एक अलग पैकेज में ले जाया गया है, 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.getInstance() का इस्तेमाल करके, हर प्रोसेस के लिए ProcessCameraProvider का एक इंस्टेंस, एसिंक्रोनस तरीके से मिलता है. यह एक ऐसा फ़्यूचर होता है जिसे सुनने के लिए इंतज़ार करना पड़ता है. यह फ़्यूचर पूरा होने पर, 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 व्यू क्लास का इस्तेमाल करें.

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

  • अहम जानकारी: ImageAnalysis ऐनालाइज़र का तरीका लागू करने के बाद, इमेज का इस्तेमाल करने के बाद, उन्हें 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() जोड़ा गया है और यह एक एनम आर्ग्युमेंट स्वीकार करता है. इससे, आसपेक्ट रेशियो मोड को किसी भी आसपेक्ट रेशियो के बजाय, 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 आउटपुट को उसी हिसाब से काटता है.

Executor APIs

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

CameraInfo को फ़्लैश उपलब्ध है और सेंसर रोटेशन एपीआई की जांच करने के साथ जोड़ा गया

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

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

  • आसपेक्ट रेशियो: इस्तेमाल के हर उदाहरण के लिए, ऐप्लिकेशन को 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()
  • अलग-अलग कॉन्फ़िगरेशन सेटिंग अब शून्य पैरामीटर स्वीकार करती हैं और उनसे जुड़े गेट्टर शून्य दिखा सकते हैं.

  • एएफ़/एई/एडब्ल्यूबी सेटिंग के साथ काम न करने वाले एमुलेटर पर टेस्ट करते समय आने वाली समस्या को ठीक किया गया.

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

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

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

  • कैमरा टेस्टिंग सुइट में, नकली कैमरे के लिए शुरुआती रोबोलेक्ट्रिक टेस्ट जोड़े गए हैं. हालांकि, इस पर अभी काम जारी है.

  • 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 का नॉन-ब्लॉकिंग मोड

  • 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 दिखता था.
  • उस समस्या को ठीक किया गया है जिसमें लेगसी डिवाइस के लिए, JPEG फ़ॉर्मैट में ज़्यादा से ज़्यादा रिज़ॉल्यूशन के तौर पर खास आसपेक्ट रेशियो की ज़रूरत होती है
  • कैमरा चालू करते समय, ऐप्लिकेशन को बैकग्राउंड में ले जाने से जुड़ी समस्या को ठीक किया गया
  • एपीआई 25 से पहले के वर्शन में आ रही समस्या को ठीक किया गया. साथ ही, गड़बड़ी checkAndUpdateEglState: invalid current EGLDisplay को हटाया गया
  • एक्सटेंशन चालू करने और शुरू करने के बाद, झलक को अनबाइंड करने से जुड़ी समस्या को ठीक किया गया
  • camera-view और camera-extensions के लिए, आर्टफ़ैक्ट अब ऐल्फ़ा वर्शन के तौर पर पब्लिश किए गए हैं

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

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

एक्सटेंशन

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

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

14 अक्टूबर, 2020

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

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

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

Camera-Lifecycle वर्शन 1.0.0-beta10

23 सितंबर, 2020

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

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

Camera-Lifecycle वर्शन 1.0.0-beta09

16 सितंबर, 2020

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

Camera-Lifecycle वर्शन 1.0.0-beta08

19 अगस्त, 2020

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

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

  • अब ऐसे कॉन्टेक्स्ट का इस्तेमाल करने पर, शुरू करने की प्रोसेस क्रैश नहीं होनी चाहिए जो Context.getApplicationContext() से कोई ऐप्लिकेशन ऑब्जेक्ट नहीं दिखाता. (I3d3c9, b/160817073)

Camera-Lifecycle वर्शन 1.0.0-beta07

22 जुलाई, 2020

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

Camera-Lifecycle वर्शन 1.0.0-beta06

24 जून, 2020

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

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

  • अब CameraX को, ProcessCameraProvider#getInstance() को कॉल करने से पहले, ProcessCameraProvider#configureInstance() के साथ कॉन्फ़िगर किया जा सकता है. इससे, ऐप्लिकेशन की Application क्लास में CameraXConfig.Provider को लागू किए बिना, CameraXConfig को पसंद के मुताबिक बनाया जा सकता है. (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 वर्शन 1.0.0-beta04

27 मई, 2020

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

Camera-Lifecycle वर्शन 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 वर्शन 1.0.0-beta01

26 फ़रवरी, 2020

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

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

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

Camera-Lifecycle वर्शन 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 वर्शन 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 का वर्शन 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 वर्शन में ये कमिट शामिल हैं

एपीआई के बारे में अहम जानकारी

  • camera-lifecycle आर्टफ़ैक्ट जोड़ा गया है, जो 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)
  • camera-extensions आर्टफ़ैक्ट के लिए, एपीआई फ़ाइलें अपडेट करें. (If683a, b/161377155)

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

  • VideoCapture को बाइंड करते समय, ऐप्लिकेशन को एक्सटेंशन मोड चालू करने से रोकें. CameraX एक्सटेंशन सिर्फ़ ImageCapture और Preview के साथ काम करते हैं. VideoCapture फ़िलहाल काम नहीं कर रहा है. अगर ऐप्लिकेशन VideoCapture को बांधता है और कोई एक्सटेंशन मोड चालू करता है, तो IllegalArgumentException को ट्रिगर किया जाएगा. (I0d87b)
  • नतीजा सेट खाली होने पर, CameraSelector#filter अब IllegalArgumentException नहीं दिखाता. (I27804)
  • ExtensionsManager#getInstance एपीआई का नाम बदलकर getInstanceAsync कर दिया गया, क्योंकि यह ListenableFuture दिखाता है. फ़ंक्शन के नाम के आखिर में मौजूद Async से साफ़ तौर पर पता चलता है कि यह एक असाइनिक फ़ंक्शन है. (I279d2)
  • ExtensionsManager#getEstimatedCaptureLatencyRange एपीआई से रिज़ॉल्यूशन पैरामीटर हटाएं, क्योंकि उपयोगकर्ताओं को यह नहीं पता होता कि ImageCapture के इस्तेमाल के उदाहरण के लिए कौनसे साइज़ काम करते हैं. साथ ही, यह भी नहीं पता होता कि रिटर्न की गई इंतज़ार की अवधि की जानकारी, कैप्चर के ज़्यादा से ज़्यादा आउटपुट साइज़ के लिए है या इनपुट रिज़ॉल्यूशन पैरामीटर के लिए. (I74bb2)
  • ExtensionsManager फ़ंक्शन के CameraProvider पैरामीटर को getInstance() एपीआई में ले जाएं. इससे, उपयोगकर्ताओं को 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 के आधार पर CameraInfos की सूची को फ़िल्टर करने के लिए, सार्वजनिक एपीआई में CameraSelector#filter जोड़ा गया है. (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 क्लास को अपडेट किया गया: 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 यूज़र इंटरफ़ेस (यूआई) के साथ 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)
  • अब काम नहीं करने वाला ExtensionsErrorListener. फ़िलहाल, इस इंटरफ़ेस का इस्तेमाल सिर्फ़ यह देखने के लिए किया जाता है कि एक्सटेंशन मोड चालू करते समय, झलक या इमेज कैप्चर करने की सुविधा काम कर रही है या नहीं. एक्सटेंशन फ़ंक्शन को बेहतर तरीके से काम करने के लिए, CameraX अपने-आप एक और झलक या 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 अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं और ये आधिकारिक एपीआई बन गए हैं. इनका इस्तेमाल, एनोटेट किए गए ऑप्ट-इन के बिना किया जा सकता है. (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 (Ib10b6) पर, PreviewView के स्ट्रेच होने की समस्या को ठीक किया गया

कैमरा एक्सटेंशन और व्यू का वर्शन 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)

कैमरा एक्सटेंशन और व्यू वर्शन 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)

कैमरा एक्सटेंशन और व्यू का वर्शन 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 वर्शन में ये कमिट शामिल हैं.

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

कैमरा एक्सटेंशन और व्यू वर्शन 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 का वर्शन 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 का वर्शन 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 दिखाएगा. ऐसा तब तक होगा, जब तक कि बिल्डर या UseCase पर targetRotation सेट नहीं किया जाता. (I80fcd)

Camera-View का वर्शन 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-View का वर्शन 1.0.0-alpha17

23 सितंबर, 2020

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

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

Camera-Extensions का वर्शन 1.0.0-alpha16

16 सितंबर, 2020

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

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

  • Extensions ऑब्जेक्ट पाने के लिए, ExtensionsManager में एक तरीका जोड़ा गया है. इसका इस्तेमाल, कैमरे के इंस्टेंस (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)

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

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

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

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

Camera-Extensions का वर्शन 1.0.0-alpha15

19 अगस्त, 2020

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

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

  • ExtensionsManager.init() का तरीका अब 0 आर्ग्युमेंट के बजाय, पैरामीटर के तौर पर एक कॉन्टेक्स्ट लेता है. (Ife754)
  • अब ऐसे Context का इस्तेमाल करने पर, शुरू करने की प्रोसेस क्रैश नहीं होनी चाहिए जो Context.getApplicationContext() से कोई Application ऑब्जेक्ट नहीं दिखाता. (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 का वर्शन 1.0.0-alpha14

22 जुलाई, 2020

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

Camera-View वर्शन 1.0.0-alpha14

22 जुलाई, 2020

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

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

Camera-Extensions का वर्शन 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 वर्शन 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 वर्शन 1.0.0-alpha11

27 मई, 2020

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

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

Camera-Extensions वर्शन 1.0.0-alpha10

15 अप्रैल, 2020

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

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

  • Camera-Core की रिलीज़ के साथ काम करने के लिए सुधार

Camera-View वर्शन 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 के साथ ImplementationMode.SURFACE_VIEW का इस्तेमाल करने पर, कुछ डिवाइसों पर यह ठीक से काम न करे. इसकी वजह यह है कि झलक देखने के लिए इस्तेमाल किया जाने वाला SurfaceView, उस विंडो के लाइफ़साइकल के बंद होने पर अपने प्लैटफ़ॉर्म को अमान्य कर देता है. विंडो के फिर से शुरू होने पर, कैमरा फिर से खुल जाता है और SurfaceView के प्लैटफ़ॉर्म के फिर से मान्य होने से पहले, झलक देखने की सुविधा फिर से शुरू हो सकती है. फ़िलहाल, आपको ImplementationMode.TEXTURE_VIEW का इस्तेमाल करना चाहिए.

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

  • PreviewView.setImplementationMode() का नाम बदलकर PreviewView.setPreferredImplementationMode() किया गया.
  • PreviewView.getImplementationMode() का नाम बदलकर PreviewView.getPreferredImplementationMode() किया गया.
  • PreviewView.getSurfaceProvider() को PreviewView.createSurfaceProvider(CameraInfo) से बदला गया, जो CameraInfo का ऐसा इंस्टेंस लेता है जिसमें वैल्यू न होने पर भी काम चलता है. इसका इस्तेमाल, जब भी हो सके ImplementationMode.SURFACE_VIEW का इस्तेमाल करके प्रीव्यू को ऑप्टिमाइज़ करने के लिए किया जाता है. अगर कोई शून्य इंस्टेंस पास किया जाता है या लागू करने का पसंदीदा मोड 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 के लिए लागू करने का मोड सेट करने की सुविधा हटा दी गई है.

  • PreviewView में (x, y) को MeteringPoint में बदलने के लिए, PreviewView में createMeteringPointFactory() API जोड़ें. (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 वर्शन 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 वर्शन 1.0.0-alpha07

10 फ़रवरी, 2020

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

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

  • PreviewView के TextureView को लागू करने के बाद, 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)
  • अपडेट किया गया एपीआई, जिसमें getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio(), और getLinearZoom() तरीके से CameraInfo को 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 का वर्शन 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 में शामिल कमिट हैं

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