CameraX
इस टेबल में, 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 |
डिवाइस की जांच करना
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 के बाद किए गए अहम बदलाव
- वीडियो से जुड़ी सुविधाएं, जैसे कि 10-बिट एचडीआर, काट-छांट करना, मिरर/नॉन-मिरर, म्यूट/अन-म्यूट करना, फ़्रेम रेट सेट करना वगैरह.
- एक साथ दो कैमरे से वीडियो रिकॉर्ड करना
- इफ़ेक्ट लाइब्रेरी
- रिज़ॉल्यूशन चुनने के लिए बटन
- अल्ट्रा-वाइड और टेलिस्कोपिक कैमरे को चुनना
- वीडियो रिकॉर्डिंग के दौरान कैमरे को स्विच करना (प्रयोग के तौर पर उपलब्ध सुविधा)
वर्शन 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) - एक साथ दो कैमरे इस्तेमाल करने के लिए सार्वजनिक एपीआई जोड़े गए हैं. इनमें ये शामिल हैं
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
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-Core 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-Core 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 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- CameraView अब काम नहीं करेगा. इसके बजाय, कृपया
LifecycleCameraController
का इस्तेमाल करें. डेटा को दूसरी जगह भेजने से जुड़ी गाइड (Idac2c) देखें - setLinearZoom() में FloatRange एनोटेशन जोड़ा गया (I69971)
गड़बड़ियां ठीक की गईं
- 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-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़
Camera-View का वर्शन 1.0.0-alpha17
23 सितंबर, 2020
androidx.camera:camera-view:1.0.0-alpha17
रिलीज़ हो गया है. 1.0.0-alpha17 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़
Camera-Extensions का वर्शन 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 में शामिल कमिट हैं
- आने वाले समय में, कैमरा एक्सटेंशन के लिए नई लाइब्रेरी. इससे, उन डिवाइसों पर इफ़ेक्ट ऐक्सेस किए जा सकेंगे जिन पर यह सुविधा काम करती है. इस लाइब्रेरी पर काम जारी है.
- नई कैमरा व्यू क्लास. इस लाइब्रेरी पर काम जारी है.