CameraX
इस टेबल में, androidx.camera ग्रुप में मौजूद सभी आर्टफ़ैक्ट की सूची दी गई है.
| सह-प्रॉडक्ट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| camera-camera2 | 1.6.1 | - | - | 1.7.0-alpha01 |
| camera-core | 1.6.1 | - | - | 1.7.0-alpha01 |
| camera-compose | 1.6.1 | - | - | 1.7.0-alpha01 |
| camera-effects | 1.6.1 | - | - | 1.7.0-alpha01 |
| camera-extensions | 1.6.1 | - | - | 1.7.0-alpha01 |
| camera-feature-combination-query | - | - | - | 1.5.0-alpha06 |
| camera-feature-combination-query-play-services | - | - | - | 1.5.0-alpha06 |
| camera-lifecycle | 1.6.1 | - | - | 1.7.0-alpha01 |
| camera-mlkit-vision | 1.6.1 | - | - | 1.7.0-alpha01 |
| camera-view | 1.6.1 | - | - | 1.7.0-alpha01 |
| camera-viewfinder | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
| camera-video | 1.6.1 | - | - | 1.7.0-alpha01 |
डिवाइस की जांच करना
CameraX की जांच हमारे लैब में कई डिवाइसों पर की जाती है. लैब में मौजूद डिवाइसों की सूची देखने के लिए, CameraX की लैब में जांच किए गए डिवाइस देखें.
डिपेंडेंसी का एलान करना
CameraX पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
Groovy
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.7.0-alpha01" // 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.7.0-alpha01" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation("androidx.camera:camera-core:${camerax_version}") implementation("androidx.camera:camera-camera2:${camerax_version}") // If you want to additionally use the CameraX Lifecycle library implementation("androidx.camera:camera-lifecycle:${camerax_version}") // If you want to additionally use the CameraX VideoCapture library implementation("androidx.camera:camera-video:${camerax_version}") // If you want to additionally use the CameraX View class implementation("androidx.camera:camera-view:${camerax_version}") // If you want to additionally add CameraX ML Kit Vision Integration implementation("androidx.camera:camera-mlkit-vision:${camerax_version}") // If you want to additionally use the CameraX Extensions library implementation("androidx.camera:camera-extensions:${camerax_version}") }
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
Camera Viewfinder Compose Version 1.0
वर्शन 1.0.0-alpha02
12 जून, 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-alpha01
14 मई, 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 रिलीज़ हो गया है. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- नई लाइब्रेरी. इस लाइब्रेरी में, Compose का नेटिव Viewfinder कंपोज़ेबल शामिल है. इसका इस्तेमाल CameraX और Camera2 के साथ किया जा सकता है. कंपोज़ेबल Viewfinder, अलग-अलग आसपेक्ट रेशियो और टच इवेंट को हैंडल करने की सुविधा देता है.
Camera Viewfinder का वर्शन 1.4
वर्शन 1.4.0-alpha07
12 जून, 2024
androidx.camera:camera-viewfinder:1.4.0-alpha07 और androidx.camera:camera-viewfinder-core:1.4.0-alpha07 रिलीज़ हो गए हैं. वर्शन 1.4.0-alpha07 में ये बदलाव शामिल हैं.
वर्शन 1.4.0-alpha06
14 मई, 2024
androidx.camera:camera-viewfinder:1.4.0-alpha06 और androidx.camera:camera-viewfinder-core:1.4.0-alpha06 रिलीज़ हो गए हैं. वर्शन 1.4.0-alpha06 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ViewfinderकेImplementationModeEnum का नाम बदलें ताकि वे बेहतर तरीके से लागू हो सकें, औरTransformationInfo.sourceRotationके लिए निश्चित कॉन्स्टेंट जोड़ें. (Ic6149)- ज़ूम करने के जेस्चर की स्थितियों को शामिल करने के लिए,
ZoomGestureDetector.ZoomEventजोड़ा गया. (I84cdf)
वर्शन 1.7
वर्शन 1.7.0-alpha01
11 मार्च, 2026
androidx.camera:camera-*:1.7.0-alpha01 रिलीज़ हो गया है. वर्शन 1.7.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
CameraController.setSessionConfig()एपीआई को सार्वजनिक किया गया है. इससे,CameraControllerके ज़रिए सीधे तौर पर उपलब्ध न कराए गए ऐडवांसUseCaseकॉन्फ़िगरेशन के लिए, कस्टमSessionConfigउपलब्ध कराया जा सकता है. जबSessionConfigचालू होता है, तोCameraControllerपर कॉन्फ़िगरेशन के अन्य तरीके बंद हो जाते हैं.(I35cf1, b/448525636)
गड़बड़ियां ठीक की गईं
- लाइब्रेरी को Java 11 टारगेट का इस्तेमाल करने के लिए ले जाता है. इसका मतलब है कि जनरेट किया गया बाइटकोड, Java 11 (क्लास फ़ाइल वर्शन 55) होगा. साथ ही, लाइब्रेरी का इस्तेमाल करने के लिए, इसे डीसुगर करने की ज़रूरत पड़ सकती है (If4c2a, b/457821470)
ImageAnalysisमें मौजूद उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, आउटपुट इमेज रोटेशन चालू होने और शुरुआती रिलेटिव रोटेशन 0 डिग्री होने पर, इमेज सही तरीके से रोटेट नहीं हो रही थीं. (Id46c2, b/487160584)
कैमरे का वर्शन 1.6
वर्शन 1.6.1
6 मई, 2026
androidx.camera:camera-*:1.6.1 रिलीज़ हो गया है. वर्शन 1.6.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- CameraX 1.6.0 का इस्तेमाल करते समय, "क्लास
ListenableFutureको ऐक्सेस नहीं किया जा सकता" कंपाइल करने से जुड़ी गड़बड़ी को ठीक किया गया. (Ic8cba, b/497571473)
वर्शन 1.6.0
25 मार्च, 2026
androidx.camera:camera-*:1.6.0 रिलीज़ हो गया है. वर्शन 1.6.0 में ये बदलाव शामिल हैं.
1.5.0 के बाद हुए अहम बदलाव:
1. बेहतर परफ़ॉर्मेंस वाले, यूनिफ़ाइड कैमरा स्टैक पर माइग्रेट किया गया
- CameraX अब
CameraPipeका इस्तेमाल करता है. यह वही मॉडर्न और हाई-परफ़ॉर्मेंस स्टैक है जो Pixel कैमरे को बेहतर बनाता है. इस ट्रांज़िशन से, आर्किटेक्चर की परफ़ॉर्मेंस बेहतर होती है. साथ ही, डेवलपर के नेटवर्क में कंप्यूटेशनल फ़ोटोग्राफ़ी की बेहतर सुविधाएं लाने के लिए, एक स्केलेबल फ़ाउंडेशन मिलता है.
2. Media3 Muxer इंटिग्रेशन
- CameraX अब VideoCapture एपीआई में डिफ़ॉल्ट रूप से Media3 Muxer को इंटिग्रेट करता है. इस माइग्रेशन के कई फ़ायदे हैं:
- बेहतर परफ़ॉर्मेंस: वीडियो को ज़्यादा बेहतर तरीके से प्रोसेस और मक्स किया जाता है.
- क्रैश होने पर भी डेटा सुरक्षित रहना: वीडियो फ़ाइल के खराब होने से बेहतर सुरक्षा मिलती है. इससे यह पक्का होता है कि रिकॉर्डिंग के दौरान ऐप्लिकेशन क्रैश होने पर भी डेटा सुरक्षित रहे.
3. फ़ीचर ग्रुप में सुधार
- Feature Group API अब वीडियो स्टेबलाइज़ेशन और 4K रिकॉर्डिंग के साथ काम करता है.
GroupableFeaturesमेंVIDEO_STABILIZATIONऔरUHD_RECORDINGशामिल हैं, ताकि ऐप्लिकेशन इन्हें अन्य सुविधाओं के साथ चालू कर सकें. सुविधा ग्रुप चालू होने पर,SessionConfigमेंCameraEffectऔरImageAnalysisका इस्तेमाल किया जा सकता है.
4. Stabilized SessionConfig API
SessionConfig, एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई से बदलकर, सार्वजनिक तौर पर उपलब्ध एपीआई बन गया है. इसमेंSessionConfigऔरHighSpeedVideoSessionConfigभी शामिल हैं. CameraX Extensions को अब नएExtensionSessionConfigएपीआई के साथ लागू किया जा सकता है. एक नयाisSessionConfigSupportedएपीआई लॉन्च किया गया है. इससे डेवलपर, लाइफ़साइकल से बाइंड करने से पहले यह क्वेरी कर सकते हैं कि इस्तेमाल के खास उदाहरणों और सुविधाओं (जैसे कि एचडीआर, स्टेबलाइज़ेशन, खास रिज़ॉल्यूशन, CameraX एक्सटेंशन या स्लो मोशन) का कोई खास कॉम्बिनेशन, डिवाइस पर काम करता है या नहीं.
गड़बड़ियां ठीक की गईं
- Android 17 (एपीआई 37) या इसके बाद के वर्शन वाले कुछ डिवाइसों पर ऐप्लिकेशन के क्रैश होने की समस्या को ठीक किया गया है. जब ये डिवाइस, नई डाइनैमिक रेंज प्रोफ़ाइलें (जैसे, STANDARD_SMPTE_2094_50(ID 8192)) दिखाते हैं, तो CameraX 1.5.1 और इससे पहले के वर्शन को इनके बारे में पता नहीं होता.इस वजह से, लाइब्रेरी इन आईडी को ठीक से हैंडल नहीं कर पाती थी.इससे
ProcessCameraProvider.bindToLifecycle()के दौरानNullPointerExceptionयाIllegalArgumentExceptionकी समस्या आती थी. इस फ़िक्स की मदद से, CameraX को ऐसी डाइनैमिक रेंज प्रोफ़ाइलों को अनदेखा करने की अनुमति मिलती है जिन्हें वह पहचान नहीं पाता. इससे ऐप्लिकेशन क्रैश नहीं होता और आगे के वर्शन के साथ काम करता रहता है. कृपया CameraX की डिपेंडेंसी को 1.5.2 या 1.6.0 (या इसके बाद के वर्शन) पर अपडेट करें, ताकि इन नई प्रोफ़ाइलों को दिखाने वाले डिवाइसों पर यह समस्या न हो. ज़्यादा जानकारी के लिए, समस्या 519796838 देखें. (Ibd7b5) - अब फ़ीचर ग्रुप एपीआई,
VideoCaptureके साथPREVIEW_STABILIZATIONका इस्तेमाल करने पर एक जैसे नतीजे देता है. इस अपडेट में, उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, 'झलक देखें' सुविधा के चालू न होने पर, नतीजे अलग-अलग दिखते थे. (Ifed82, b/449913903) - उन सुविधाओं को गलत तरीके से उपलब्ध कराने की समस्या को ठीक किया गया है जो काम नहीं करती हैं. इस्तेमाल के ज़रूरी उदाहरणों को पूरा न करने पर, सुविधाओं को अब सही तरीके से फ़िल्टर किया जाता है. (I38db8, b/449532342)
- Samsung Galaxy S6 पर वीडियो के नतीजे में गड़बड़ी ठीक की गई. (I612d9, b/235127608)
- हमने उस समस्या को ठीक कर दिया है जिसमें क्वेरी में मौजूद
SessionConfigको पहले से ही अन्य सुविधाओं के साथ कॉन्फ़िगर किए जाने पर,CameraInfo#isFeatureGroupSupported,PREVIEW_STABILIZATIONके लिए गलत तरीके से 'सही है' वैल्यू दिखाता था. (I2c355c, b/437816469) - Samsung Z Fold 4 डिवाइस से, समस्या पैदा करने वाले YUV फ़ॉर्मैट के आउटपुट साइज़ को हटाया गया. आउटपुट के इन साइज़ का इस्तेमाल करने पर, मिली हुई इमेज में गड़बड़ी है. (I776bf, b/460322307)
- Samsung A53 पर डिवाइस से जुड़ी एक समस्या को ठीक किया गया है. इस समस्या में, टॉर्च चालू होने पर इमेज कैप्चर करने की सुविधा कभी-कभी काम नहीं करती थी. ऐसा तब होता था, जब
VideoCaptureइस्तेमाल का उदाहरण बाइंड किया गया हो. (I0f183, b/458197367) - कुछ डिवाइसों पर, अल्ट्रा-वाइड कैमरे के साथ फ़्लैश का इस्तेमाल करने पर, इमेज में रोशनी कम होने की समस्या को ठीक किया गया है. (Ib7530, b/444590340)
ExifInterfaceडिपेंडेंसी को अपडेट किया गया है. इसमें0xFFपैडिंग के साथ JPEG पार्स करने की समस्या को ठीक किया गया है. इससे उन डिवाइसों पर इमेज कैप्चर करने की समस्याएं ठीक हो जाती हैं जहां JPEG एन्कोडर, मार्कर से पहले फ़िल बाइट जोड़ता है. (I0eb49)
वर्शन 1.6.0-rc01
25 फ़रवरी, 2026
androidx.camera:camera-*:1.6.0-rc01 रिलीज़ हो गया है. वर्शन 1.6.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.6.0-beta02
11 फ़रवरी, 2026
androidx.camera:camera-*:1.6.0-beta02 रिलीज़ हो गया है. वर्शन 1.6.0-beta02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ImageCaptureOUTPUT_FORMAT_RAW_JPEG in-memory captureIllegalArgumentExceptionसे जुड़ी समस्या ठीक की गई. (Id4eec, b/479990902)- AndroidX Media3 muxer पर माइग्रेट किया गया. इस अपडेट में, इन समस्याओं को ठीक किया गया है: 1. अचानक रुकावट आने या ऐप्लिकेशन बंद होने के दौरान वीडियो खराब होने की समस्या और 2. वीडियो को प्रॉक्सी फ़ाइल डिस्क्रिप्टर में सेव करते समय क्रैश होने की समस्या. (I23b63, b/433649708, b/264812009, b/475750115)
वर्शन 1.6.0-beta01
28 जनवरी, 2026
androidx.camera:camera-*:1.6.0-beta01 रिलीज़ हो गया है. वर्शन 1.6.0-beta01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- CameraX 1.6.0-alpha में
CameraExtensionsInfoमौजूदा टाइप की समस्या को ठीक किया गया है. इस समस्या की वजह से, LiveData ऑब्जेक्ट को अपडेट किया गया टाइप डेटा नहीं मिल पाता था. (I2c7a5) - ExifInterface डिपेंडेंसी को अपडेट किया गया है, ताकि 0xFF पैडिंग वाले JPEG को पार्स करने की समस्या को ठीक किया जा सके. इससे उन डिवाइसों पर इमेज कैप्चर करने की समस्याओं को ठीक किया जा सकेगा जहां JPEG एन्कोडर, मार्कर से पहले फ़िल बाइट जोड़ता है. (I0eb49)
वर्शन 1.6.0-alpha02
17 दिसंबर, 2025
androidx.camera:camera-*:1.6.0-alpha02 रिलीज़ हो गया है. वर्शन 1.6.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- सेशन कॉन्फ़िगरेशन में वीडियो स्टेबलाइज़ेशन की सुविधा को दिखाने के लिए, ग्रुप की जा सकने वाली सुविधा जोड़ी गई है. डेवलपर अब वीडियो स्टेबलाइज़ेशन को ज़रूरी या पसंदीदा सुविधा के तौर पर अनुरोध कर सकते हैं. इससे इसे UHD_RECORDING, PREVIEW_STABILIZATION जैसी अन्य ग्रुप की जा सकने वाली सुविधाओं के साथ अलाइन किया जा सकता है. (Ic6757, b/419766630)
- सेशन कॉन्फ़िगरेशन में, वीडियो रिकॉर्डिंग की क्वालिटी दिखाने के लिए, ग्रुप की जा सकने वाली सुविधाएं जोड़ी गईं. डेवलपर अब किसी खास क्वालिटी (जैसे, यूएचडी, एफ़एचडी) को ज़रूरी या पसंदीदा सुविधा के तौर पर अनुरोध कर सकते हैं. इससे, एचडीआर और 60 एफ़पीएस जैसी अन्य ग्रुप की जा सकने वाली सुविधाओं के साथ इसे अलाइन किया जा सकता है. (Ib5cd3, b/437820285)
SessionConfigमें,CameraEffectऔर फ़ीचर ग्रुप एपीआई, दोनों का इस्तेमाल करने की सुविधा जोड़ी गई है. (I17f18, b/406370934)SessionConfigमें,ImageAnalysisऔर फ़ीचर ग्रुप एपीआई, दोनों का इस्तेमाल करने की सुविधा जोड़ी गई है. (I87833, b/406371720)
एपीआई में हुए बदलाव
ExtensionSessionConfig.Builderके लिएaddUseCaseसेटर फ़ंक्शन जोड़ा गया है. साथ ही,ExtensionSessionConfigके लिए ज़रूरी गेटर जोड़े गए हैं. (I71e07, b/453988621)ExtensionsManager.getInstanceएपीआई जोड़ा गया है. यहExtensionsManager.getInstanceAsyncका सस्पेंड किया गया वर्शन है (I3a0a9, b/452208792)isFeatureGroupSupportedका नाम बदलकरisSessionConfigSupportedकर दिया गया है. साथ ही, इसे किसी भी तरह केSessionConfigके साथ इस्तेमाल किया जा सकता है. (I21616, b/448781299)ExtensionsManagerको Kotlin में लागू करने के लिए बदला गया. (I73091, b/452208792)CameraProvider#getCameraInfo(CameraSelector, SessionConfig)को जोड़ा गया, ताकिCameraInfoको वापस पाया जा सके. ऐसा तब किया जाता है, जबSessionConfigसे कैमरा चुनने की सुविधा पर असर पड़ सकता है. उदाहरण के लिए,ExtensionSessionConfigका इस्तेमाल करते समय. (Ic548c, b/451891648)ExtensionSessionConfigAPI को ऐक्सेस किया गया हो. ऐप्लिकेशन अबExtensionSessionConfigबना सकते हैं और इसका इस्तेमाल एक्सटेंशन सेशन बनाने के लिए कर सकते हैं. (I6354c, b/448524373)androidx.camera.video.HighSpeedVideoSessionConfigएपीआई अब एक्सपेरिमेंटल नहीं है. यह अब पूरी तरह से भरोसेमंद सार्वजनिक एपीआई है. (I492d4, b/447558239)androidx.camera.core.SessionConfigएपीआई अब एक्सपेरिमेंटल नहीं है. यह अब पूरी तरह से भरोसेमंद सार्वजनिक एपीआई है. (Idc87a, b/447558437)
गड़बड़ियां ठीक की गईं
- Android 17 या इसके बाद के वर्शन पर,
IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object:की वजह से होने वाली क्रैश की समस्या को ठीक किया गया. (Ibd7b5, b/463465353) - Samsung Z Fold 4 डिवाइस से, समस्या पैदा करने वाले YUV फ़ॉर्मैट के आउटपुट साइज़ को हटाया गया. आउटपुट के इन साइज़ का इस्तेमाल करने पर, मिली हुई इमेज में गड़बड़ी है. (I776bf, b/460322307)
Camera2Interopएपीआई के ज़रिए सेट किए जाने पर,CaptureRequest.FLASH_MODEलागू नहीं होने की समस्या ठीक की गई. (I0004c, b/459608684)- Samsung A53 पर डिवाइस से जुड़ी एक समस्या को ठीक किया गया है. इस समस्या में, टॉर्च चालू होने पर इमेज कैप्चर करने की सुविधा कभी-कभी काम नहीं करती थी. ऐसा तब होता था, जब
VideoCaptureइस्तेमाल का उदाहरण बाइंड किया गया हो. (I0f183, b/458197367) - कुछ डिवाइसों पर, अल्ट्रा-वाइड कैमरे के साथ फ़्लैश का इस्तेमाल करने पर, इमेज में रोशनी कम होने की समस्या को ठीक किया गया है. (Ib7530, b/444590340)
वर्शन 1.6.0-alpha01
22 अक्टूबर, 2025
androidx.camera:camera-*:1.6.0-alpha01 रिलीज़ हो गया है. वर्शन 1.6.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- CameraX को एक यूनिफ़ाइड, हाई-परफ़ॉर्मेंस वाले कैमरा स्टैक पर माइग्रेट कर दिया गया है. इसका इस्तेमाल Pixel Camera ऐप्लिकेशन भी करता है.
CameraPipeके नाम से जाना जाने वाला यह नया स्टैक, CameraX और Pixel Camera टीमों के बीच एक सहयोग है. इससे यह पक्का होता है कि सभी सुधारों को शेयर किया जाए, ताकि CameraX के उपयोगकर्ताओं और Pixel कैमरा ऐप्लिकेशन, दोनों को फ़ायदा मिल सके.
एपीआई में हुए बदलाव
- कैमरे को डाइनैमिक तरीके से जोड़ने/हटाने का पता लगाने के लिए, नए एपीआई जोड़े गए. ज़्यादा जानकारी के लिए,
CameraPresenceListenerएपीआई देखें. (I41ead, b/427182232, b/419441394)
गड़बड़ियां ठीक की गईं
- अब फ़ीचर ग्रुप एपीआई,
VideoCaptureके साथPREVIEW_STABILIZATIONका इस्तेमाल करने पर एक जैसे नतीजे देता है. इस अपडेट में, उस गड़बड़ी को ठीक किया गया है जिसकी वजह से,Previewइस्तेमाल न होने पर नतीजे अलग-अलग मिलते थे. (Ifed82, b/449913903) - उन सुविधाओं को गलत तरीके से उपलब्ध कराने की समस्या को ठीक किया गया है जो काम नहीं करती हैं. इस्तेमाल के ज़रूरी उदाहरणों को पूरा न करने पर, सुविधाओं को अब सही तरीके से फ़िल्टर किया जाता है. (I38db8, b/449532342)
- Samsung Galaxy S6 पर वीडियो के नतीजे में गड़बड़ी ठीक की गई. (I612d9, b/235127608)
- हमने उस समस्या को ठीक कर दिया है जिसमें क्वेरी में मौजूद
SessionConfigको पहले से ही अन्य सुविधाओं के साथ कॉन्फ़िगर किए जाने पर,CameraInfo#isFeatureGroupSupported,PREVIEW_STABILIZATIONके लिए गलत तरीके से 'सही है' वैल्यू दिखाता था. (I2c355c, b/437816469)
कैमरे का वर्शन 1.5
वर्शन 1.5.3
28 जनवरी, 2026
androidx.camera:camera-*:1.5.3 रिलीज़ हो गया है. वर्शन 1.5.3 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- ExifInterface डिपेंडेंसी को 1.4.2 पर अपडेट किया गया है. इससे इमेज कैप्चर करने में आने वाली उस समस्या को ठीक किया जाता है जो मार्कर से पहले अतिरिक्त (और अनुमति वाले) 0xFF बाइट वाले JPEG फ़ाइलें बनाने वाले डिवाइसों पर होती है. (I16df4)
संस्करण 1.5.2
4 दिसंबर, 2025
androidx.camera:camera-*:1.5.2 रिलीज़ हो गया है. वर्शन 1.5.2 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Android 17 या इसके बाद के वर्शन पर,
IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object:की वजह से होने वाली क्रैश की समस्या को ठीक किया गया. (Ic9184) - ऐसी गड़बड़ी को ठीक किया गया है जिसकी वजह से,
PREVIEW_STABILIZATIONइस्तेमाल के उदाहरण के साथPREVIEW_STABILIZATIONसुविधा जोड़ने पर, सुविधा ग्रुप के एपीआई के नतीजे अलग-अलग मिलते थे. हालांकि,Previewइस्तेमाल के उदाहरण के बिना ऐसा होता था.VideoCapture(Ifed82) - कुछ मामलों में, पसंदीदा सुविधाओं को फ़िल्टर नहीं किया जा रहा था. ऐसा तब हो रहा था, जब सुविधाओं के काम करने के लिए ज़रूरी शर्तें पूरी नहीं की गई थीं. इस समस्या को ठीक कर दिया गया है. (I38db8)
संस्करण 1.5.1
08 अक्टूबर, 2025
androidx.camera:camera-*:1.5.1 रिलीज़ हो गया है. वर्शन 1.5.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एक साथ कई कैमरा कंपोज़िशन मोड में
CameraEffectका इस्तेमाल किया जा सकता है. इफ़ेक्ट, कंपोज़िशन के आउटपुट पर लागू होगा. कृपया ध्यान दें किVideoCaptureमेंmirrorModeको तब अनदेखा कर दिया जाएगा, जब कैमरा कंपोज़िशन मोड में इफ़ेक्ट सेट किया गया हो. (If3d00, b/425565129) - उस समस्या को ठीक किया गया है जिसमें एक साथ कई कैमरे इस्तेमाल करने की सुविधा चालू होने पर, सेकंडरी कैमरे पर
mirrorModeको सही तरीके से लागू नहीं किया जाता था. (I686cd, b/446430827) - एक साथ कई कैमरे इस्तेमाल करते समय, कंपोज़िशन मोड के अलावा अन्य मोड में
Preview,ImageCapture, औरVideoCaptureको एक साथ बाइंड करने की सुविधा. (Ib410a, b/443009871) - उस समस्या को ठीक किया गया है जिसमें
ImageCaptureऔरVideoCaptureजैसे UseCases को फिर से बनाने पर, टारगेट रोटेशन की जानकारी मिट जाती थी. अगर डिवाइस को घुमाने के बाद,imageCaptureModeजैसी कोई सेटिंग बदली जाती है, तो इससे इमेज या वीडियो का ओरिएंटेशन गलत हो सकता है. (I477c8, b/444734537) - हमने उस समस्या को ठीक कर दिया है जिसकी वजह से, Preview में 16:9 रिज़ॉल्यूशन नहीं चुना जा सकता था. साथ ही,
VideoCaptureमें QUALITY_1080P पर रिकॉर्डिंग नहीं की जा सकती थी. यह समस्या तब हुई, जब इंटरनलStreamSharingसुविधा चालू होने के दौरान, डिफ़ॉल्ट झलक रिज़ॉल्यूशन कॉन्फ़िगरेशन का इस्तेमाल किया जा रहा था. उदाहरण के लिए, जब चार UseCase एक साथ बाइंड किए गए हों. (I493cb, b/440364875) SurfaceProcessorबंद होने के बाद इफ़ेक्ट चालू करने पर, क्रैश होने की समस्या ठीक की गई (I2c450, b/414150174)CameraControllerमें मौजूद एक बग को ठीक किया गया है. इस बग की वजह से, जब शुरुआती UseCase में ज़्यादा से ज़्यादा रिज़ॉल्यूशन चुना जाता था, तबIllegalStateExceptionहोता था. इसके बाद, अन्य UseCase बाइंड नहीं हो पाते थे. (Ifb758, b/440374234)- इसमें Nokia 7 Plus के लिए, YUV_420_888 के आउटपुट साइज़ से जुड़ी समस्या को ठीक किया गया है. इस समस्या की वजह से, बिना किसी गड़बड़ी के मैसेज के, साइलेंट फ़ेल की समस्या होती है. (I3af47, b/436524501)
- उस समस्या को ठीक किया गया है जिसमें
CameraInfo#isFeatureGroupSupported,PREVIEW_STABILIZATIONसुविधा के लिए गलत तरीके से 'सही' वैल्यू दिखाता था. ऐसा कभी-कभी तब हो सकता है, जब किसी ऐसेSessionConfigसे क्वेरी की जा रही हो जिसे पहले से ही अन्य सुविधाओं के साथ कॉन्फ़िगर किया गया हो. (I2c355, b/437816469) CameraXViewfinderसे जुड़ी समस्याओं वाले पुराने एपीआई लेवल और डिवाइसों पर,CameraXViewfinderकी स्टेबिलिटी को बेहतर बनाया गया है. ऐसा इन स्थितियों में डिफ़ॉल्ट रूप सेTextureViewका इस्तेमाल करके किया गया है.SurfaceViewफ़ॉलबैक के इस तरीके को डिफ़ॉल्ट रूप से इस्तेमाल किया जाता है. हालांकि, इसे प्रोग्राम के हिसाब से बदला जा सकता है. (Ieb476, b/437496463)PreviewViewमें मेमोरी लीक की समस्या को ठीक किया गया है. इससे, इसकी गतिविधि को रीसाइकल होने से रोका जा सकता है. ऐसा तब होता है, जब पिछलेSurfaceRequestको प्रोसेस किए जाने से पहले ही कोई नयाSurfaceRequestआ जाता है. (I4aa0b,b/443112512)- Huawei P smart, Infinix Hot 40i, और Realme C53 पर हाई-स्पीड/स्लो-मोशन में रिकॉर्डिंग की सुविधा काम नहीं कर रही थी. इस समस्या को ठीक कर दिया गया है. (40a668e, b/442984200)
वर्शन 1.5.0
10 सितंबर, 2025
androidx.camera:camera-*:1.5.0 रिलीज़ हो गया है. वर्शन 1.5.0 में ये बदलाव शामिल हैं.
1.4.0 के बाद हुए मुख्य बदलाव:
- हाई-स्पीड और स्लो-मोशन रिकॉर्डिंग: कम से कम कोड का इस्तेमाल करके, हाई-स्पीड (120/240 एफ़पीएस) और स्लो-मोशन वीडियो रिकॉर्डिंग को आसानी से इंटिग्रेट करें. ज़्यादा जानकारी के लिए,
Recorder#getHighSpeedVideoCapabilities(CameraInfo)औरHighSpeedVideoSessionConfigदेखें. SessionConfigऔरFeatureGroupएपीआई: नएSessionConfigएपीआई की मदद से, कैमरा सेशन को कॉन्फ़िगर किया जा सकता है. साथ ही, एक साथ कई सुविधाओं को सुरक्षित तरीके से चालू किया जा सकता है. जैसे, HLG (एचडीआर), UltraHDR, 60 एफ़पीएस, और झलक देखने की सुविधा को स्थिर करने की सुविधा. आपके पास प्राथमिकता के साथ, पसंदीदा सुविधा ग्रुप सेट करने का विकल्प भी होता है. इससे CameraX को, सबसे सही कॉम्बिनेशन तय करने में मदद मिलती है. ज़्यादा जानकारी के लिए,SessionConfig.Builder#setPreferredFeatureGroup,SessionConfig.Builder#setRequiredFeatureGroup, औरCameraInfo#isFeatureGroupSupported(SessionConfig)देखें.- डिटरमिनिस्टिक फ़्रेम रेट एपीआई:
setTargetFrameRateकी पिछली सीमाओं को ठीक करने के लिए, क्वेरी करने के लिएCameraInfo.getSupportedFrameRateRanges(sessionConfig)और सटीक और काम करने वाले फ़्रेम रेट सेट करने के लिएSessionConfig.setExpectedFrameRateRangeका इस्तेमाल करें. - कैमरा एक्सटेंशन: अब एक्सटेंशन के साथ UltraHDR फ़ॉर्मैट का इस्तेमाल किया जा सकता है.
ImageCapture.getImageCaptureCapabilities(cameraInfo).getSupportedOutputFormats()को देखें औरImageCapture.Builder.setOutputFormatमें इसे चालू करें. एक्सटेंशन चालू होने पर, ज़ूम रेशियो और प्रीव्यू स्टेबलाइज़ेशन की सुविधाएं अब दिखती हैं. - टॉर्च की रोशनी:
CameraControl.setTorchStrengthLevelका इस्तेमाल करके, टॉर्च की रोशनी को कम या ज़्यादा करें. - कम रोशनी वाला मोड: इन एपीआई का इस्तेमाल करके, कम रोशनी वाला मोड(
CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY) चालू किया जा सकता है:CameraInfo#isLowLightBoostSupported,CameraInfo#getLowLightBoostState, औरCameraControl#enableLowLightBoostAsyncदेखें. - वीडियो कैप्चर: रिकॉर्डिंग के दौरान, ज़रूरत के मुताबिक स्टोरेज न होने पर अब
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEट्रिगर हो जाएगा.PendingRecording.withAudioEnabled(boolean initialMuted)की मदद से, ऑडियो रिकॉर्डिंग के लिए शुरुआती म्यूट स्टेट को कंट्रोल किया जा सकता है. - इमेज कैप्चर करने की सुविधा:
ImageCaptureमें DNG (RAW) और JPEG + DNG (RAW) फ़ॉर्मैट के लिए सहायता. देखें किImageCaptureCapabilities(CameraInfo).getSupportedOutputFormats()में RAW फ़ॉर्मैट में फ़ोटो सेव करने की सुविधा है या नहीं. RAW+DNG फ़ॉर्मैट में फ़ोटो कैप्चर करने के लिए, कईOutputFileOptionsके साथ ओवरलोड किए गएtakePictureएपीआई का इस्तेमाल करें. - इमेज का विश्लेषण:
ImageAnalysisमें NV21 फ़ॉर्मैट के लिए सहायता. इसेImageAnalysis.Builder.setOutputImageFormat(OUTPUT_IMAGE_FORMAT_NV21)की मदद से चालू करें.
वर्शन 1.5.0-rc01
13 अगस्त, 2025
androidx.camera:camera-*:1.5.0-rc01 रिलीज़ हो गया है. वर्शन 1.5.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- डिफ़ॉल्ट minSdk को API 21 से API 23 पर ले जाना (Ibdfca, b/380448311, b/435705964, b/435705223)
- कम रोशनी में बेहतर फ़ोटो खींचने की सुविधा वाले ऑटो-एक्सपोज़र मोड के लिए, 10-बिट आउटपुट की पाबंदी हटा दी गई है. अब ऐप्लिकेशन, इन सुविधाओं के साथ काम करने वाले डिवाइसों पर, दोनों सुविधाओं को एक साथ चालू कर सकते हैं. (I5a638)
UniSocचिपसेट वाले डिवाइसों में, इमेज कैप्चर करते समय डिवाइस के हैंग होने की समस्या को ठीक किया गया है. यह समस्या तब हुई, जबVideoCapture,Preview, औरImageCaptureका इस्तेमाल एक साथ किया गया. साथ ही, सभी स्ट्रीम को 1280x720 रिज़ॉल्यूशन पर सेट किया गया था. (Ia00c4, b/380802479)- तेज़ गति/स्लो-मोशन में रिकॉर्डिंग के लिए, तेज़ गति वाला फ़्रेम रेट सेट न होने पर, झलक की काली स्क्रीन की समस्या ठीक की गई. (cdf0ff2e9)
getViewportAspectRatioIntमें गड़बड़ी की जानकारी और लॉगिंग की सुविधा को बेहतर बनाया गया (82fca18)
वर्शन 1.5.0-beta02
16 जुलाई, 2025
androidx.camera:camera-*:1.5.0-beta02 रिलीज़ हो गया है. वर्शन 1.5.0-beta02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ज़्यादा बेहतर क्वालिटी वाली सुविधाओं के ग्रुप को ज़्यादा आसानी से और सटीक तरीके से सेट या क्वेरी करने के लिए, नए एपीआई जोड़े गए हैं. ऐसा इसलिए, क्योंकि हो सकता है कि ये सुविधाएं सभी डिवाइसों पर एक साथ काम न करें.
SessionConfigमें अब नए एपीआई शामिल हैं. इनकी मदद से, सुविधाओं के ग्रुप को ज़रूरी या पसंदीदा के तौर पर मार्क किया जा सकता है.CameraInfo.isFeatureGroupSupportedएपीआई की मदद से यह पता लगाया जा सकता है कि किसीSessionConfigको बाइंड करने से पहले, कोई सुविधा ग्रुप काम करता है या नहीं.SessionConfigसे, लिसनर को सेट करने की अनुमति भी मिलती है. इससे यह पता चलता है कि सेशन कॉन्फ़िगरेशन के बाइंड होने पर, कौनसी सुविधाएं चुनी गई हैं. (Ie4d60) - नए एपीआई
SessoinConfig.Builder.setFrameRateRange(Range<Integer>)औरCameraInfo.getSupportedFrameRateRanges(SessionConfig)जोड़े गए हैं. इनकी मदद से डेवलपर,SessionConfigके हिसाब से तय की गई गारंटी के साथ काम करने वाली फ़्रेम रेट के बारे में क्वेरी कर सकते हैं. इसके बाद,SessionConfigपर फ़्रेम रेट लागू कर सकते हैं. (Ieacf7) - नया
SessionConfigएपीआई लॉन्च किया गया है. इसमें इस्तेमाल के उदाहरण, सेशन पैरामीटर,CameraEffect,ViewPortवगैरह को कॉन्फ़िगर करने के लिए बेहतर ऐब्स्ट्रैक्शन शामिल है. किसी LifecycleOwner सेSessionConfigको बाइंड करने पर, कैमरा सेशन खुल जाता है. साथ ही, इस्तेमाल के उदाहरण और सेशन पैरामीटर का इस्तेमाल करके इसे कॉन्फ़िगर किया जाता है. इसके अलावा, तय किए गएCameraEffectऔरViewPortलागू किए जाते हैं. जब किसी नएSessionConfigको उसीLifecycleOwnerसे अपडेट किया जाता है, तो आपको पहले अनबाइंड करने याunbindAllको लागू करने की ज़रूरत नहीं होती. इसके बजाय, सीधे तौर पर एक नयाSessionconfigबाइंड किया जा सकता है. (Iedfc3) - तेज़/स्लो मोशन में वीडियो रिकॉर्ड करने के लिए, नए एपीआई जोड़े गए हैं. ज़्यादा जानकारी के लिए,
HighSpeedVideoSessionConfigएपीआई देखें. (Ia16f3)
गड़बड़ियां ठीक की गईं
ImageCaptureCapabilities#getSupportedOutputFormats()एपीआई से जुड़ी समस्या ठीक की गई है. इस समस्या की वजह से, कुछ डिवाइसों में RAW फ़ॉर्मैट को सपोर्ट करने की सुविधा दिख रही थी. हालांकि, उन डिवाइसों में RAW फ़ॉर्मैट को सपोर्ट करने की सुविधा मौजूद नहीं थी. (Ibcadb)PreviewViewका इस्तेमाल करने,CameraEffectचालू करने या चार इस्तेमाल के उदाहरणों(StreamSharing) को बाइंड करने पर होने वाली मेमोरी लीक की समस्या को ठीक किया गया है (I87468)AssertionError: Invalid internal audio state: IDLING की वजह से, वीडियो रिकॉर्डिंग क्रैश होने की समस्या ठीक की गई. (I38d4b, b/414259796)- जब ऐप्लिकेशन किसी बाहरी डिसप्ले पर लैंडस्केप मोड में चलता है, तब
PreviewViewमें मौजूद पूर्वावलोकन के स्ट्रेच होने या साइडवे में दिखने की समस्या को ठीक किया गया है (Ia917a) - उस समस्या को ठीक किया गया है जिसमें कैमरे की स्ट्रीम को Preview और VideoCapture के बीच शेयर करने पर, Preview Stabilization की सेटिंग सही तरीके से लागू नहीं होती थीं.(I5430e)
CameraXViewfinderअबViewfinderमें, सर्फ़ेस बदलने की सुविधा को सही तरीके से हैंडल करता है. इसमें ऐसे उदाहरण शामिल हैं, जैसे कि एपीआई लेवल 28 या इससे पहले के वर्शन परEXTERNALव्यूफ़ाइंडर का स्क्रीन से बाहर जाना या किसीCameraXViewfinder(किसी भीImplementationModeके साथ) काmoveableContentOf()का हिस्सा होना. अगरViewfinderSurfaceSessionको चालू नहीं रखा जा सकता, तोCameraXViewfinderमौजूदा CameraXSurfaceRequestको अमान्य कर देगा. इससे CameraX को नयाSurfaceइस्तेमाल करने की अनुमति मिल जाएगी. (I79432)- Android 10/11 में मौजूद एक समस्या को ठीक किया गया है. इस समस्या में, ट्रांसफ़ॉर्मेशन ऑपरेशन (जैसे कि स्केल या ट्रांसलेट) को बहुत पहले लागू कर दिया जाता था. इस वजह से,
EXTERNALCameraXViewfinderस्ट्रेच या गलत दिख सकता था. अब सिस्टम, लेआउट फ़ेज़ में इन ट्रांसफ़ॉर्मेशन को लागू करने से पहले, Surface के बनने का इंतज़ार करता है. इससे यह पक्का होता है कि आउटपुट सही हो. (Icc77c) - Composable
CameraXViewfinderअब ComposePagerके साथ सही तरीके से काम करता है. इस बदलाव से यह पक्का होता है किAndroidViewकेonResetकॉलबैक को लागू करके, कंपोज़ेबल को सही तरीके से रीसेट किया जा सकता है. साथ ही, यहEMBEDDEDऔरEXTERNAL, दोनों को लागू करने में मदद करता है. (I0d9be) - लाइफ़साइकल के मालिक से जुड़ी जानकारी लीक होने की समस्या ठीक की गई है. यह समस्या तब होती है, जब कैमरा प्रोवाइडर को बंद किए बिना, लाइफ़साइकल के मालिक से यूज़ केस अनबाइंड किए जाते हैं.
वर्शन 1.5.0-beta01
7 मई, 2025
androidx.camera:camera-*:1.5.0-beta01 रिलीज़ हो गया है. वर्शन 1.5.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- Kotlin 2.0 के साथ रिलीज़ किए गए प्रोजेक्ट का इस्तेमाल करने के लिए, KGP 2.0.0 या इसके बाद का वर्शन ज़रूरी है (Idb6b5)
ContentScaleऔर अलाइनमेंट का इस्तेमाल अब व्यूफ़ाइंडर में किया जा सकता है. इससे, दिखाए गए ऑब्जेक्ट को उसके कंटेनर में स्केल किया जा सकता है और उसे अपनी जगह पर रखा जा सकता है. यह सुविधा,androidx.compose.foundation.Imageकी तरह काम करती है. (Ibcea3)TransformationInfoमें अब सभी आर्ग्युमेंट के लिए डिफ़ॉल्ट वैल्यू मौजूद हैं. इससे बिना किसीTransformationInfoके व्यूफ़ाइंडर बनाए जा सकेंगे. इनमें डिफ़ॉल्ट रूप से, सोर्स रोटेशन 0 पर सेट होगा. साथ ही, सोर्स मिररिंग और क्रॉप रेक्ट नहीं होगा. (I2b1b2)LifecycleCameraProviderजोड़ा गया. यह एक कैमरा प्रोवाइडर है. इसे अलग-अलग कॉन्फ़िगरेशन के साथ इंस्टैंटिएट किया जा सकता है. जैसे, कस्टम कॉन्टेक्स्ट के साथ कॉन्फ़िगर करके वर्चुअल डिवाइस के कैमरे को ऐक्सेस करना. (Ia2992)
गड़बड़ियां ठीक की गईं
- Samsung SM-E556B डिवाइस पर,
ImageAnalysisका इस्तेमाल करने वाली किसी अन्य स्ट्रीम के साथTEMPLATE_RECORDका इस्तेमाल करने पर, झलक के रुकने की समस्या को ठीक किया गया है. (Ic0e62, b/409478042) - Samsung SM-M556B डिवाइस पर,
TEMPLATE_RECORDका इस्तेमाल करने वाली किसी अन्य स्ट्रीम के साथImageAnalysisका इस्तेमाल करने पर, झलक के रुकने की समस्या को ठीक किया गया है. (Ic1a6a, b/395822788) - Android 15 वाले Pixel डिवाइसों पर, ज़ूम करने से जुड़े ऑपरेशन करते समय, एक्सटेंशन के नाइट मोड
AssertErrorसे जुड़ी समस्या को ठीक किया गया है. (I27a5d, b/401460276) CameraControllerका इस्तेमाल करते समय, ML Kit Analyzer के गलत बाउंडिंग बॉक्स कोऑर्डिनेट की समस्या को ठीक किया गया. (Iae91b, b/409808510)
वर्शन 1.5.0-alpha06
26 फ़रवरी, 2025
androidx.camera:camera-*:1.5.0-alpha06 रिलीज़ हो गया है. वर्शन 1.5.0-alpha06 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- टॉर्च की रोशनी को पसंद के मुताबिक बनाने की सुविधा देने के लिए,
CameraInfo.getTorchStrengthLevel,CameraInfo.getMaxTorchStrengthLevel, औरCameraControl.setTorchStrengthLevelको जोड़ा गया (I00878) - एक नया एपीआई
CameraController#setTapToFocusAutoCancelDurationजोड़ा गया है, ताकि उपयोगकर्ताPreviewViewटैप-टू-फ़ोकस इवेंट के लिए, अपने-आप रद्द होने की सुविधा को कंट्रोल कर सकें. डिफ़ॉल्ट रूप से, CameraX पांच सेकंड के बाद फ़ोकस इवेंट रद्द कर देता है.इसका मतलब है कि कैमरे का फ़ोकस रीसेट हो जाता है. यह एपीआई, उस अवधि में बदलाव करने या अपने-आप रद्द होने की सुविधा को पूरी तरह से बंद करने की अनुमति देता है. (Icf59a) FLASH_STATE_READYका नाम बदलकरNOT_FIREDकर दिया गया है. साथ ही, अन्यFlashStateकॉन्स्टेंट के नाम को आसान बना दिया गया है, ताकि उन्हें आसानी से पढ़ा जा सके. (I8771d)- Low Light Boost API को ऐक्सेस करने की सुविधा जोड़ी गई. Android 15 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों पर, कम रोशनी में फ़ोटो की क्वालिटी बेहतर करने की सुविधा उपलब्ध हो सकती है. यह सुविधा, कम रोशनी में झलक, वीडियो या इमेज विश्लेषण स्ट्रीम की चमक को अपने-आप अडजस्ट कर सकती है. ऐप्लिकेशन, नए एपीआई का इस्तेमाल इन कामों के लिए कर सकते हैं: 1. सुविधा की उपलब्धता की जांच करने के लिए,
CameraInfo#isLowLightBoostSupportedका इस्तेमाल करें. 2. जब डिवाइस इस मोड के साथ काम कर सकते हैं, तब इसे चालू करने के लिएCameraControl#enableLowLightBoostAsyncका इस्तेमाल करें. 3. कम रोशनी में बेहतर फ़ोटो लेने की सुविधा की स्थिति पर नज़र रखने के लिए,CameraInfo#getLowLightBoostStateका इस्तेमाल करें. (I937ed) - कैमरे की कई सुविधाओं को एक साथ इस्तेमाल करने की कोशिश करने वाली क्वेरी में, camera2 के अलावा अन्य कैमरे से जुड़ी क्वेरी को तेज़ी से प्रोसेस करने के लिए, कंपैट क्लास जोड़ें. (Ie97ee)
CameraControllerटैप-टू-फ़ोकस इवेंट के लिए, नया एपीआईgetTapToFocusInfoState()अब टैप की पोज़िशन भी दिखाता है. इसके लिए, यहTapToFocusInfoक्लास काLiveDataदिखाता है. वहीं,getTapToFocusState()दिखाने वाले पिछलेLiveData<Integer>एपीआई को नए एपीआई के पक्ष में बंद कर दिया गया है. (I238d2)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें एक्सटेंशन के साथ प्रीव्यू स्टेबलाइज़ेशन की सुविधा चालू होने पर, प्रीव्यू स्टेबलाइज़ेशन लागू नहीं होता था. (I24ad7)
- फ़ोकस की स्थिति से जुड़े
CameraControllerइवेंट केTAP_TO_FOCUS_NOT_STARTEDपर रीसेट न होने की समस्या को ठीक किया गया है. ऐसा तब होता है, जब CameraX डिफ़ॉल्ट रूप से पांच सेकंड के बाद फ़ोकस इवेंट को अपने-आप रद्द कर देता है. (I31954) - इमेज के संसाधन रिलीज़ न होने की वजह से, कई बार इमेज कैप्चर करने के बाद, ज़ीरो शटर लैग (ज़ेडएसएल) का इस्तेमाल करते समय, झलक के रुकने की समस्या ठीक की गई. (Ic3c2a)
- उन समस्याओं को ठीक किया गया है जिनमें कुछ डिवाइसों पर,
OpenGLका इस्तेमाल करने पर यूएचडी वीडियो लाल रंग के दिखते थे. (Idcedc)
वर्शन 1.5.0-alpha05
15 जनवरी, 2025
androidx.camera:camera-*:1.5.0-alpha05 रिलीज़ हो गया है. वर्शन 1.5.0-alpha05 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
VideoCapture.getSelectedQuality()के आधार पर चुनी गई क्वालिटी जानने के लिए,VideoCapture.getSelectedQuality()जोड़ें.QualitySelector(I70508, b/204288986)ImageCapture.OnImageCapturedCallbackएपीआई की मदद से इमेज कैप्चर करने पर, अबImageProxyसे मिली ImageInfo का इस्तेमाल यह जानने के लिए किया जा सकता है कि क्या फ़्लैश को नएImageInfo.getFlashState()एपीआई के ज़रिए ट्रिगर किया गया था. (Id2c61, b/380527406)ImageAnalysisके लिए,OUTPUT_IMAGE_FORMAT_NV21आउटपुट फ़ॉर्मैट के साथ काम करने की सुविधा जोड़ी गई. (I484ab)featurecombinationqueryआर्टफ़ैक्ट (I4427f) के एक्सपेरिमेंटल एनोटेशन को हटाएं- एक्सटेंशन मोड चालू होने पर, एक्सटेंशन की खास बातों के हिसाब से,
CameraControlके लिए ज़ूम रेशियो की तय सीमा में बदलाव करें. (I85af1)
गड़बड़ियां ठीक की गईं
- Android 15 से जुड़े एपीआई का इस्तेमाल करने के लिए,
compileSdkको 35 के तौर पर अपग्रेड किया गया है. CameraX लाइब्रेरी का इस्तेमाल करने वाले ऐप्लिकेशन को भी अपनीcompileSdkकॉन्फ़िगरेशन सेटिंग अपग्रेड करनी होगी. (Ic80cd) - यह लाइब्रेरी अब JSpecify nullness annotations का इस्तेमाल करती है. ये टाइप-यूज़ होते हैं. Kotlin डेवलपर को सही इस्तेमाल के लिए, कंपाइलर के इस तर्क का इस्तेमाल करना चाहिए:
-Xjspecify-annotations=strict(यह Kotlin कंपाइलर के 2.1.0 वर्शन से डिफ़ॉल्ट रूप से शुरू होता है). (Idc6c6, b/326456246)
वर्शन 1.5.0-alpha04
11 दिसंबर, 2024
androidx.camera:camera-*:1.5.0-alpha04 रिलीज़ हो गया है. वर्शन 1.5.0-alpha04 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ImageCapture.Builder#setOutputFormatऔरImageCaptureCapabilities#getSupportedOutputFormatsको स्टेबल एपीआई (Ieb04a) के तौर पर उपलब्ध कराया गया- जब कोई
VideoCaptureकिसी लाइफ़साइकल से जुड़ा होता है, तब रिज़ॉल्यूशन की जानकारी पाने के लिएVideoCapture.getResolutionInfo()जोड़ें. (Icb478) PreviewView.getScreenFlashऔरPreviewView.setScreenFlashOverlayColorको स्टेबल एपीआई के तौर पर उपलब्ध कराया गया. (I74fee)
गड़बड़ियां ठीक की गईं
- अंधेरे में फ़्लैश के साथ फ़ोटो लेते समय, Vivo 1610 डिवाइस पर फ़ोटो कैप्चर न होने की समस्या ठीक की गई. (I366f4)
- Redmi Note 6 Pro में, इमेज कैप्चर करने के बाद टॉर्च के अचानक बंद होने की समस्या को ठीक किया गया है. (I2e0e8, b/377144569)
- Pixel के Android 15 डिवाइसों पर, एक्सटेंशन में मौजूद नाइट मोड से जुड़ी एक समस्या ठीक की गई है. इस समस्या में, कैमरा किसी आस-पास मौजूद ऑब्जेक्ट पर फ़ोकस नहीं करता था. इस वजह से, नाइट मोड में स्थिर इमेज कैप्चर नहीं हो पाती थीं. (I228d4)
- एक्सटेंशन चालू होने और
VideoCaptureएक साथ बाइंड होने पर, अब भी इमेज कैप्चर करने की सुविधा ठीक से काम करती है. (I5c745) - अगर डिवाइस पर यह सुविधा काम करती है, तो एक्सटेंशन के लिए
UltraHDRकी सुविधा चालू होने पर, अब भी इमेज कैप्चर की जा सकती है. (I48300) - TCL डिवाइसों पर,
CameraEffectटारगेटिंग की मदद से इमेज कैप्चर करने की सुविधा के साथ फ़्लैश कैप्चर करने के लिए, फ़्लैश टाइमिंग की समस्या ठीक की गई. (I7698c)
वर्शन 1.5.0-alpha03
30 अक्टूबर, 2024
androidx.camera:camera-*:1.5.0-alpha03 रिलीज़ हो गया है. वर्शन 1.5.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- RAW और RAW + JPEG
ImageCaptureके लिए आउटपुट फ़ॉर्मैट एपीआई जोड़े गए हैं. डिवाइस की क्षमता की जांचImageCaptureCapabilities#getSupportedOutputFormatsमें की जाती है.OUTPUT_FORMAT_RAWका इस्तेमाल RAW इमेज कैप्चर करने के लिए किया जाता है. यह Adobe DNG फ़ॉर्मैट में होती है. वहीं,OUTPUT_FORMAT_RAW_JPEGका इस्तेमाल RAW और JPEG इमेज एक साथ कैप्चर करने के लिए किया जाता है. नईImageCapture#takePictureएपीआई का इस्तेमाल, एक साथ इमेज कैप्चर करने के लिए किया जाता है. इसके लिए, दोOutputFileOptionsउपलब्ध कराने होते हैं. पहलाOutputFileOptions, RAW इमेज के लिए होता है और दूसराOutputFileOptions, JPEG इमेज के लिए होता है. (Ib0f3d)
गड़बड़ियां ठीक की गईं
VideoCaptureचालू होने पर, TCL डिवाइसों पर झलक और वीडियो के कम एक्सपोज़र की समस्या ठीक की गई. (Id7a64)- उस समस्या को ठीक किया गया है जिसमें किसी इफ़ेक्ट के चालू होने या चार इस्तेमाल के उदाहरणों के बाइंड होने (स्ट्रीम-शेयरिंग) पर,
startFocusMeteringकोPreviewView.getMeteringPointFactoryके साथ चालू करने पर सेंसर के सही कोऑर्डिनेट नहीं मिलते थे. (I916c5, b/345993685) - वीडियो रिकॉर्ड करते समय, स्टोरेज में ज़रूरत के मुताबिक जगह न होने पर
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEइवेंट ट्रिगर नहीं होता था. इस समस्या को ठीक कर दिया गया है. (I35779, b/356399842)
वर्शन 1.5.0-alpha02
2 अक्टूबर, 2024
androidx.camera:camera-*:1.5.0-alpha02 रिलीज़ हो गया है. वर्शन 1.5.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- डिवाइस पर काम करने वाली कैमरा सुविधाओं के बारे में क्वेरी करने के लिए नए एपीआई. उदाहरण के लिए, यह देखना कि एचडीआर और 60 एफ़पीएस की सुविधा एक साथ चालू की जा सकती है या नहीं. इसमें दो आर्टफ़ैक्ट शामिल हैं: camera-feature-combination-query और camera-feature-combination-query-play-services.
यह camera2 के
CameraManager#getCameraDeviceSetup#isSessionConfigurationSupportedएपीआई का ऐसा वर्शन है जो Google Play services के साथ काम करता है. इसमें Google Play services से मिला अतिरिक्त डेटा भी शामिल है.
गड़बड़ियां ठीक की गईं
- LEGACY लेवल वाले डिवाइसों पर,
Preview/VideoCaptureटारगेट फ़्रेम रेट की समस्या ठीक की गई.setTargetFrameRateयाCamera2Interopएपीआई के ज़रिए सेट किए गए टारगेट फ़्रेम रेट को हमेशाAeFpsRangeLegacyQuirkसे मिली वैल्यू से बदल दिया जाता था. इस फ़िक्स के बाद, CameraX लाइब्रेरी,setTargetFrameRateयाCamera2Interopएपीआई के ज़रिए सेट की गई वैल्यू का इस्तेमाल करेगी. (Ie2d32) CameraEffectकी मदद से इमेज कैप्चर करने के लिए, फ़्लैश/टॉर्च/3A की सुविधाएं जोड़ी गईं.CameraEffectके साथ कैप्चर की गई इमेज में, कैप्चर करने से पहले और बाद में की जाने वाली प्रोसेसिंग (जैसे, फ़्लैश ट्रिगर, 3A कन्वर्जेंस वगैरह) अब वैसी ही होनी चाहिए जैसीCameraEffectके बिना कैप्चर की गई इमेज में होती है. (I5ff30)- Samsung SM-A057G डिवाइस पर,
ImageAnalysisके लिए समस्या पैदा करने वाले आउटपुट साइज़ हटा दिए गए हैं. अगरImageAnalysisका रिज़ॉल्यूशन 1920x1440 या इससे ज़्यादा है, तो काली झलक दिखने की समस्या होगी. इस समस्या से बचने के लिए, SM-A057G डिवाइस परExcludedSupportedSizesQuirkलागू किया गया है. (I63dfe, b/365877975) Preview/VideoCaptureऔरVideoCaptureपर स्ट्रीम शेयर करने के लिए, स्ट्रीम शेयर करने का मैकेनिज़्म अंदरूनी तौर पर चालू होने पर,Preview/VideoCaptureके टारगेट फ़्रेम रेट से जुड़ी समस्या ठीक की गई.Preview(I4fdac)- Samsung S10e और S10+ डिवाइसों पर, JPEG इमेज के मेटाडेटा की गलत जानकारी की समस्या को ठीक करने के लिए, वर्कअराउंड चालू किया गया. इस फ़िक्स के बाद, CameraX इन डिवाइसों पर JPEG इमेज को सेव कर सकता है. इसके अलावा, अगर JPEG इमेज के मेटाडेटा से जुड़ी समस्या होती है, तो
ImageProxy.toBitmap()फ़ंक्शन को कॉल करने पर सही बिटमैप ऑब्जेक्ट वापस लाए जा सकते हैं. (Iae493, b/356428987) - Samsung A52s के बैक कैमरे के लिए एक्सटेंशन बंद कर दिए गए हैं. इस कैमरे का आईडी 0 है. ऐसा इसलिए किया गया है, क्योंकि एचडीआर इमेज कैप्चर करते समय, नेटिव क्रैश हो सकते हैं. साथ ही, BOKEH या FACE_RETOUCH मोड के लिए कैप्चर सेशन कॉन्फ़िगर नहीं हो सकते. (I03ec9, b/364152642)
- वीडियो रिकॉर्ड करते समय, स्टोरेज में ज़रूरत के मुताबिक जगह न होने पर
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEइवेंट ट्रिगर नहीं होता था. इस समस्या को ठीक कर दिया गया है. (Ia5b4f, b/356399842) - उस समस्या को ठीक कर दिया गया है जिसमें Oppo A5 (CPH1931) पर दूसरी बार वीडियो रिकॉर्ड करने की कोशिश करने पर, वीडियो रिकॉर्ड नहीं हो पाता था. (I181d6)
वर्शन 1.5.0-alpha01
4 सितंबर, 2024
androidx.camera:camera-*:1.5.0-alpha01 रिलीज़ हो गया है. वर्शन 1.5.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- CameraX Viewfinder Compose Adapter के लिए एक नया आर्टफ़ैक्ट,
camera-composeरिलीज़ किया गया है. यहcamera-coreसे CameraXSurfaceRequestसे प्रीव्यू स्ट्रीम दिखाता है. (I8666e) - एक नया कंपोज़ेबल,
CameraXViewfinderजोड़ा गया है. यह एक इडियोमैटिक कंपोज़ेबल के तौर पर काम करता है. यह कंपोज़ेबलViewfinderके लिए, CameraXSurfaceRequestको अडैप्ट करता है. (I4770f)
एपीआई में हुए बदलाव
- एक साथ दो कैमरों से वीडियो कैप्चर करने के लिए, कंपोज़िशन सेटिंग सेट करने के लिए एपीआई उपलब्ध कराएं. इन सेटिंग में, ब्लेंडिंग के लिए ऐल्फ़ा वैल्यू, x और y कोऑर्डिनेट में ऑफ़सेट, और कैमरा फ़्रेम डिसप्ले विंडो की चौड़ाई और ऊंचाई का स्केल शामिल है. ऑफ़सेट, चौड़ाई, और ऊंचाई को सामान्य किए गए डिवाइस के कोऑर्डिनेट में बताया जाता है. (Ia2b8a)
CameraProvider.getCameraInfoको एक फ़ॉर्मल एपीआई के तौर पर सार्वजनिक किया गया. (I901cd)- शुरुआती म्यूट स्थिति को कंट्रोल करने के लिए, एपीआई
PendingRecording.withAudioEnabled(boolean initialMuted)जोड़ा गया. (I635c3, b/354829267)
गड़बड़ियां ठीक की गईं
- डस्ट्रॉय किए गए
LifecycleOwnerके साथbindToLifecycleको शुरू करने पर होने वाले क्रैश की समस्या को ठीक किया गया है. (I6e6d8) - Motorola Edge 20 Fusion पर
VideoCaptureके साथ बाइंड करते समय, फ़िक्स्ड प्रीव्यू में सामने वाला कैमरा ब्लैक स्क्रीन दिखाता है. (I1fe88) PreviewViewमें ज़ूम करने के जेस्चर (हाव-भाव) का पता लगाने के लिए, कॉन्फ़िगरेशन को ऑप्टिमाइज़ किया गया है, ताकि इसे और बेहतर बनाया जा सके. (I04ffc)
कैमरे का वर्शन 1.4
वर्शन 1.4.2
26 मार्च, 2025
androidx.camera:camera-*:1.4.2 रिलीज़ हो गया है. वर्शन 1.4.2 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Samsung Galaxy M55 पर,
TEMPLATE_RECORDका इस्तेमाल करने वाली किसी दूसरी स्ट्रीम के साथImageAnalysisका इस्तेमाल करने पर, झलक के फ़्रीज़ होने की समस्या ठीक की गई. (Ic1a6a, b/395822788)
वर्शन 1.4.1
11 दिसंबर, 2024
androidx.camera:camera-*:1.4.1 रिलीज़ हो गया है. वर्शन 1.4.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Pixel के Android 15 डिवाइसों पर, एक्सटेंशन में मौजूद नाइट मोड से जुड़ी एक समस्या ठीक की गई है. इस समस्या में, कैमरा किसी आस-पास मौजूद ऑब्जेक्ट पर फ़ोकस नहीं करता था. इस वजह से, नाइट मोड में स्थिर इमेज कैप्चर नहीं हो पाती थीं. (I228d4)
- एक्सटेंशन चालू होने और
VideoCaptureएक साथ बाइंड होने पर,ImageCapture#takePictureके ठीक से काम न करने की समस्या को ठीक किया गया है. (I5c745)
वर्शन 1.4.0
30 अक्टूबर, 2024
androidx.camera:camera-*:1.4.0 रिलीज़ हो गया है. वर्शन 1.4.0 में ये बदलाव शामिल हैं.
1.3.0 के बाद हुए अहम बदलाव
CameraX 1.4.0 में कई शानदार अपडेट उपलब्ध हैं! यहां इन अपडेट की खास जानकारी दी गई है:
हेडलाइन सुविधा: 10-बिट एचडीआर:
- आसानी से शानदार एचडीआर फ़ोटो और वीडियो कैप्चर करें.
- एचएलजी और 10-बिट HEVC एन्कोडिंग के साथ काम करता है.
- 10-बिट एचडीआर की झलक देखें और डिवाइस की क्षमताओं के बारे में क्वेरी करें.
- यह सुविधा, ज़्यादा से ज़्यादा डिवाइसों पर
UltraHDRइमेज और एचडीआर वीडियो के साथ काम करती है.
अन्य बेहतरीन सुविधाएं:
- Kotlin एक्सटेंशन:
takePictureऔरawaitInstanceसस्पेंड फ़ंक्शन जोड़े गए. - रीयल-टाइम इफ़ेक्ट: वॉटरमार्क और ऑब्जेक्ट हाइलाइट करने जैसे इफ़ेक्ट लागू करें.
- CameraController API: वीडियो कैप्चर करने के कॉन्फ़िगरेशन के लिए नई सेटिंग.
- झलक की स्थिरता: डिवाइस की क्षमता के बारे में क्वेरी करना और स्टेबिलाइज़ेशन की सुविधा चालू करना.
- VideoCapture की बेहतर सुविधाएं: क्वालिटी पर बेहतर कंट्रोल और हाई रिज़ॉल्यूशन का ऐक्सेस.
- CameraX एक्सटेंशन इंटिग्रेशन:
VideoCaptureऔर नईImageCaptureसुविधाओं के साथ आसानी से इंटिग्रेट किया जा सकता है. - Shutter Sound API: इस एपीआई की मदद से, किसी देश/इलाके में शटर की आवाज़ से जुड़ी ज़रूरी शर्तों को आसानी से देखा जा सकता है.
- स्क्रीन फ़्लैश: सामने वाले कैमरे से कम रोशनी में बेहतर फ़ोटो ली जा सकती हैं.
- कैमरा एक्सटेंशन के मेटाडेटा एपीआई: ये एपीआई, एक्सटेंशन की परफ़ॉर्मेंस को अडजस्ट करने और
ExtensionMode#AUTOमें मौजूदा एक्सटेंशन मोड की सूचना पाने में मदद करते हैं. बग ठीक करने से जुड़ी ज़्यादा जानकारी के लिए, बीटा और आरसी से जुड़ी सूचनाएं देखें.
वर्शन 1.4.0-rc04
16 अक्टूबर, 2024
androidx.camera:camera-*:1.4.0-rc04 रिलीज़ हो गया है. वर्शन 1.4.0-rc04 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें किसी इफ़ेक्ट के चालू होने या चार इस्तेमाल के उदाहरणों के बाइंड होने (स्ट्रीम-शेयरिंग) पर,
startFocusMeteringकोPreviewView.getMeteringPointFactoryके साथ चालू करने पर सेंसर के सही कोऑर्डिनेट नहीं मिलते थे. (I916c5, b/345993685)
वर्शन 1.4.0-rc03
2 अक्टूबर, 2024
androidx.camera:camera-*:1.4.0-rc03 रिलीज़ हो गया है. वर्शन 1.4.0-rc03 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
CameraEffectकी मदद से इमेज कैप्चर करने के लिए, फ़्लैश/टॉर्च/3A की सुविधाएं जोड़ी गईं.CameraEffectके साथ कैप्चर की गई इमेज में, कैप्चर करने से पहले और बाद में की जाने वाली प्रोसेसिंग (जैसे, फ़्लैश ट्रिगर, 3A कन्वर्जेंस वगैरह) अब वैसी ही होनी चाहिए जैसीCameraEffectके बिना कैप्चर की गई इमेज में होती है. (I5ff30)PreviewViewमें, पिंच करके ज़ूम करने की सुविधा को बेहतर बनाया गया है (I04ffc)- अल्ट्रा एचडीआर को 10-बिट आउटपुट की सुविधा से अलग किया गया है. ऐसा इसलिए, क्योंकि अब अल्ट्रा एचडीआर की सुविधा के लिए, डिवाइसों में 10-बिट आउटपुट की सुविधा होना ज़रूरी नहीं है. (I96ff2, I0c3b3)
वर्शन 1.4.0-rc02
18 सितंबर, 2024
androidx.camera:camera-*:1.4.0-rc02 रिलीज़ हो गया है. वर्शन 1.4.0-rc02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
LifecycleOwnerके बंद होने परbindToLifecycleको शुरू करने पर होने वाले क्रैश की समस्या को ठीक किया गया है. (I6e6d8)ScreenFlash#applyके लिए,ScreenFlashViewमें दिखने से जुड़ा ऐनिमेशन जोड़ा गया है. इससे, रोशनी में बदलाव होने के कुछ समय बाद एसिंक्रोनस तरीके से होने वाली गड़बड़ियां भी ठीक हो जाती हैं. (I37cdb)- ज़ूम करने की सुविधा को ज़्यादा बेहतर बनाया गया है. इसके लिए, ज़ूम करने की सेटिंग को उन डिवाइसों पर फ़्रेमवर्क में बदला गया है जिन पर यह सुविधा काम करती है.
वर्शन 1.4.0-rc01
7 अगस्त, 2024
androidx.camera:camera-*:1.4.0-rc01 रिलीज़ हो गया है. वर्शन 1.4.0-rc01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- एक्सपेरिमेंट के तौर पर
CameraInfo.getCameraInfoजोड़ा गया है. इससे कैमरे की जानकारी दी जा सकती है. इसके लिए, कैमरे के इस्तेमाल के उदाहरणों को कैमरे से बाइंड करने की ज़रूरत नहीं होती. (I550d1)
एपीआई में हुए बदलाव
- ऐसे मामलों के लिए
PreviewView.getScreenFlashऔरPreviewView.setScreenFlashOverlayColorएपीआई जोड़े गए हैं जहांScreenFlashViewको साफ़ तौर पर नहीं जोड़ा गया है. (I43945)
गड़बड़ियां ठीक की गईं
- कम रोशनी में फ़्लैश चालू करके, VideoCapture के इस्तेमाल के मामले में फ़ोटो कैप्चर करने पर, एक्सपोज़र और कलर टिंट से जुड़ी समस्याओं को ठीक किया गया है. (Ic9814)
- उस समस्या को ठीक किया गया है जिसमें एक्सटेंशन चालू होने पर,
takePictureके अनुरोध को बीच में रोकने पर नतीजे नहीं मिलते थे. साथ ही, अगलेtakePictureका अनुरोध काम नहीं करता था. (Iae78f) - एक्सटेंशन चालू होने पर मेमोरी लीक होने की समस्या को ठीक किया गया है. (Iab276)
- Pixel 7/8 और Samsung Galaxy S24 सीरीज़ जैसे डिवाइसों पर, CameraX एक्सटेंशन के ठीक से काम न करने की समस्या को ठीक किया गया है. यह समस्या, रिलीज़ मोड में
Camera2OutputConfigImplकन्वर्ज़न की समस्या की वजह से हुई है. यह समस्या, AGP को 8.5.1 पर अपग्रेड करने और कोड छोटा करने की सुविधा चालू करने के बाद सामने आई. (I99598, b/354824993)
वर्शन 1.4.0-beta02
12 जून, 2024
androidx.camera:camera-*:1.4.0-beta02 रिलीज़ हो गया है. वर्शन 1.4.0-beta02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
VideoCaptureकी तरह ही, झलक देखने के लिएsetMirrorModeजोड़ें. यह एपीआई 33 और उसके बाद के वर्शन के लिए,OutputConfiguration.setMirrorModeके ज़रिए प्रीव्यू स्ट्रीम के लिए मिरर मोड को चालू और बंद करने की सुविधा देगा. पुराने एपीआई के लिए, यह सुविधा उपलब्ध नहीं होगी. (I821f4)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसकी वजह से, Samsung Tab A8 पर ऐप्लिकेशन, फ़ोटो नहीं ले पाते थे. यह समस्या तब होती थी, जब
ImageCaptureUseCase+VideoCapture+ImageCaptureUseCaseकॉम्बिनेशन में 1920x1080 चुना जाता था.Preview(I5a463, b/336925549) - कैमरा बदलने पर, लगातार रिकॉर्डिंग की सुविधा काम नहीं कर सकती. (Icb0a1)
वर्शन 1.4.0-beta01
14 मई, 2024
androidx.camera:camera-*:1.4.0-beta01 रिलीज़ हो गया है. वर्शन 1.4.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ज़ूम करने के जेस्चर की स्थितियों को शामिल करने के लिए,
ZoomGestureDetector.ZoomEventजोड़ा गया. (I84cdf)
गड़बड़ियां ठीक की गईं
- हमने एक ऐसी गड़बड़ी को ठीक किया है जिसमें अब भी कैप्चर और टैप-टू-फ़ोकस, बार-बार होने वाले अनुरोध के एफ़पीएस/स्टेबलाइज़ेशन मोड की वैल्यू का इस्तेमाल नहीं करते हैं. इससे कैप्चर सेशन फिर से शुरू हो सकता है और कुछ डिवाइसों में देरी की समस्याएं हो सकती हैं या प्रीव्यू फ़्रीज़ हो सकता है. (I7dc0b)
- गड़बड़ी ठीक की गई. कुछ डिवाइसों पर
CameraEffectचालू होने पर, ज़्यादा रिज़ॉल्यूशन नहीं चुना जा सकता था. (उदाहरण के लिए, Samsung A32 5G पर 4000x3000). (Ie3ed3, b/337336152) - Pixel 4XL API29 पर, Preview,
ImageCapture, औरVideoCapture(UHD)का इस्तेमाल करके फ़ोटो लेते समय ऐप्लिकेशन के क्रैश होने की समस्या ठीक की गई. (I5b288) - वर्चुअल डिवाइसों के साथ काम करता है:
ProcessCameraProviderमें पास किया गया कॉन्टेक्स्ट, डिवाइस आईडी को सुरक्षित रखेगा. इससे वर्चुअल डिवाइस एनवायरमेंट में फ़ंक्शन काम कर पाएगा. (I5ba48)
वर्शन 1.4.0-alpha05
17 अप्रैल, 2024
androidx.camera:camera-*:1.4.0-alpha05 रिलीज़ हो गया है. वर्शन 1.4.0-alpha05 में ये बदलाव शामिल हैं.
नई सुविधाएं
ProcessCameraProviderको Kotlin में लागू करने के लिए बदला गया. (I46d4f)ImageCapture.takePictureसस्पेंड फ़ंक्शन जोड़े गए हैं, ताकि इसे Kotlin के स्टैंडर्ड तरीके से कॉल किया जा सके. (I920be)
एपीआई में हुए बदलाव
ImageCaptureमें आउटपुट फ़ॉर्मैट एपीआई जोड़ें. साथ ही, डिवाइस की क्षमता के बारे में क्वेरी करने के लिए,ImageCaptureCapabilitiesमेंgetSupportedOutputFormatsतरीका जोड़ें. डिफ़ॉल्ट आउटपुट फ़ॉर्मैट की वैल्यूOUTPUT_FORMAT_JPEGहोती है. यह एसडीआर इमेज को JPEG फ़ॉर्मैट में कैप्चर करती है. अगर डिवाइस पर अल्ट्रा एचडीआर की सुविधा काम करती है और आउटपुट फ़ॉर्मैटOUTPUT_FORMAT_JPEG_ULTRA_HDRपर सेट है, तो CameraX, JPEG/R इमेज फ़ॉर्मैट का इस्तेमाल करके, कंप्रेस की गई अल्ट्रा एचडीआर इमेज कैप्चर करेगा. यह फ़ॉर्मैट, एसडीआर JPEG फ़ॉर्मैट के साथ काम करता है. साथ ही, इसमें कॉन्टेंट को एचडीआर में रेंडर किया जा सकता है. इसका मतलब है कि पुराने ऐप्लिकेशन या डिवाइसों पर, इमेज सामान्य JPEG फ़ॉर्मैट में दिखती हैं. वहीं, जिन ऐप्लिकेशन और डिवाइसों को इस फ़ॉर्मैट के साथ काम करने के लिए अपडेट किया गया है उन पर इमेज, एचडीआर फ़ॉर्मैट में दिखती हैं. (I5de50)- फ़िजिकल कैमरे की जानकारी के लिए क्वेरी करने के लिए,
PhysicalCameraInfoमेंCameraInfoजोड़ें. साथ ही,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) आ रही है और वे इस समस्या को हल करने वाले नए वर्शन में अपग्रेड नहीं कर पा रहे हैं, तो सीधे तौर परImageAnalysisUseCaseसे मेल खाने वालेAspectRatioStrategyऔर पसंदीदा रिज़ॉल्यूशन वालेResolutionSelectorको सेट करके, इस समस्या को हल किया जा सकता है. (I81f72, b/330091012) - उस समस्या को ठीक किया गया है जिसकी वजह से, मौजूदा अनुरोध पूरा न होने पर,
takePictureअनुरोध को प्रोसेस करने में समस्या आ सकती थी. (Ie0801) - Vivo X60 और X60 Pro डिवाइसों पर, अमान्य JPEG डेटा की जांच करने की सुविधा लागू करें. इससे इन डिवाइसों पर, बहुत बड़ी इमेज की समस्या ठीक हो सकती है. (I82247, b/288828159)
- Samsung A24 डिवाइसों पर, JPEG इमेज के मेटाडेटा से जुड़ी गलत जानकारी की समस्या को ठीक किया गया है. इस फ़िक्स के बाद, CameraX JPEG इमेज को सेव कर सकता है. इसके अलावा, Samsung A24 डिवाइसों पर
ImageProxy.toBitmap()फ़ंक्शन को कॉल करने पर, सही बिटमैप ऑब्जेक्ट वापस किए जा सकते हैं. (I8d6eb, b/309005680) - अगर कैप्चर की गई इमेज का साइज़ 10 एमबी से ज़्यादा है, तो सभी Samsung डिवाइसों पर अमान्य JPEG डेटा की जांच करें. इससे Samsung डिवाइसों पर, इमेज के बहुत बड़े साइज़ की समस्या ठीक की जा सकती है. (Ic2a65, b/288828159)
- CameraX Extensions पर
ImageAnalysisके साथ काम करने की सुविधा हटा दी गई है. ऐसा इसलिए, क्योंकि कई ओईएम के एक्सटेंशन,ImageAnalysisके साथ ठीक से काम नहीं करते हैं. इससे समस्याएं हो सकती हैं. (I2d926)
वर्शन 1.4.0-alpha04
24 जनवरी, 2024
androidx.camera:camera-*:1.4.0-alpha04 रिलीज़ हो गया है. वर्शन 1.4.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
- नया आर्टफ़ैक्ट: camera-effects: यह एक लाइब्रेरी है. इसका इस्तेमाल CameraX के आउटपुट पर रीयल टाइम में इफ़ेक्ट लागू करने के लिए किया जाता है. इसमें
Preview,VideoCaptureऔर/याImageCaptureशामिल हैं. इस आर्टफ़ैक्ट में,CameraEffectएपीआई के OpenGL वर्शन शामिल हैं. यह एपीआई, कैमरे के आउटपुट को बेहतर तरीके से मैनेज करता है. OverlayEffect: Android के Canvas API की मदद से ओवरले बनाने के लिए. इससे ऐप्लिकेशन को, कैमरे से ली गई इमेज पर वॉटरमार्क लगाने या पहचाने गए ऑब्जेक्ट को हाइलाइट करने की अनुमति मिलती है.DynamicRangeझलक के तौर पर इस्तेमाल करने के लिए एपीआई: अब झलक के तौर पर इस्तेमाल करने के लिए, डाइनैमिक रेंज सेट की जा सकती है. यह वीडियो के तौर पर इस्तेमाल करने के लिए सेट की गई डाइनैमिक रेंज से अलग होगी. इससे सिर्फ़ झलक के लिए, एचडीआर डाइनैमिक रेंज (जैसे, HLG10) का इस्तेमाल किया जा सकता है.CameraInfoमें नए एपीआई भी उपलब्ध हैं. इनकी मदद से यह क्वेरी की जा सकती है कि हर कैमरा कौनसी डाइनैमिक रेंज के साथ काम करता है.
एपीआई में हुए बदलाव
ScreenFlashUiCompleterका नाम बदलकरScreenFlashListenerकर दिया गया है. साथ ही,ScreenFlashUiCompleter#getExpirationTimeMillisकोScreenFlash#applyकेexpirationTimeMillisपैरामीटर में ले जाया गया है. (I13944)- नए एपीआई जोड़े गए हैं. इनकी मदद से, झलक देखने के लिए डाइनैमिक रेंज सेट की जा सकती है. साथ ही, हर कैमरे के साथ काम करने वाली डाइनैमिक रेंज के बारे में क्वेरी की जा सकती है. इससे एचडीआर डाइनैमिक रेंज, जैसे कि HLG10 को सिर्फ़ झलक देखने की सुविधा के साथ इस्तेमाल किया जा सकता है. इसके लिए, अब
VideoCaptureको एक साथ बाइंड करने की ज़रूरत नहीं है. (If25e3) getMirroring()का नाम बदलकरisMirroring()किया गया (I47063)- CameraX में, रीयलटाइम में फ़ोटो कैप्चर करने में लगने वाले समय का अनुमान लगाने की सुविधा जोड़ी गई. कैमरा एक्सटेंशन की मदद से, ऐप्लिकेशन ऐसे एपीआई का इस्तेमाल कर सकते हैं जो यह अनुमान लगाता है कि कैप्चर करने में कितना समय लगेगा. अनुमान लगाते समय, मौजूदा माहौल की स्थितियों और कैमरे की स्थिति को ध्यान में रखा जाता है. साथ ही, इसमें मल्टी-फ़्रेम कैप्चर करने के अनुरोधों को प्रोसेस करने में लगने वाला समय शामिल होता है. इसके अलावा, अगर ज़रूरी हो, तो प्रोसेस किए गए बफ़र को एन्कोड करने में लगने वाला अतिरिक्त समय भी शामिल होता है. (I05c3a)
ScreenFlashUiControlका नाम बदलकरScreenFlash,ScreenFlashUiControl#applyScreenFlashUiका नाम बदलकरScreenFlash#apply, औरScreenFlashUiControl#clearScreenFlashUiका नाम बदलकरScreenFlash#clearकर दिया गया है. साथ ही,SCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDSको सीधे तौर पर दिखाने के बजाय,getScreenFlashUiApplyTimeoutSecondsतरीका जोड़ा गया है. (Iccdd0)
गड़बड़ियां ठीक की गईं
- मेमोरी लीक होने की समस्या को ठीक किया गया है. इसकी वजह से, एक्सटेंशन चालू होने पर गतिविधियां या फ़्रैगमेंट रिलीज़ नहीं होते थे (I14215)
- ज़ूम रेशियो बढ़ाने पर,
getZoomRatioकी वैल्यू कम हो जाती थी. इस समस्या को ठीक कर दिया गया है. (I4aa0d, b/317543616) - इवेंट को तुरंत तब शुरू किया जाता है, जब
ImageCaptureको अनबाउंड किया जाता है या कैमरा बंद किया जाता है. साथ ही, यह कुछ ऐसे बग ठीक करता है जिनमें इन स्थितियों में कैप्चर पूरा न होने की वजह से, इसे कभी शुरू नहीं किया जाता.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, फ़्रेमवर्क-साइड एपीआई को हैंडल करेगा.साथ ही, ज़रूरत के मुताबिक ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) में होने वाले बदलावों के साथ टाइमिंग को सिंक करेगा. उदाहरण के लिए, ऐप्लिकेशन की स्क्रीन का रंग/चमक बदलने के बाद, एई प्रीकैप्चर ट्रिगर करना. ऐप्लिकेशन को सिर्फ़ अपने यूज़र इंटरफ़ेस (यूआई) को
ScreenFlashUiControlइंटरफ़ेस में लागू करना होगा. यह इंटरफ़ेस, CameraX को उपलब्ध कराया जाता है. (I8ae84) - CameraX में, स्क्रीन फ़्लैश सुविधा को यूज़र इंटरफ़ेस के साथ लागू करने की सुविधा जोड़ी गई. ऐप्लिकेशन,
PreviewViewया हाल ही में जोड़े गएScreenFlashViewसेImageCapture.ScreenFlashUiControlको लागू करने की बुनियादी सुविधा पा सकेंगे. इससे स्क्रीन फ़्लैश फ़ोटो कैप्चर करने के दौरान, एक रंग का ओवरले व्यू जोड़ा जाएगा और स्क्रीन की रोशनी ज़्यादा से ज़्यादा हो जाएगी. (I1810e)
एपीआई में हुए बदलाव
- एक्सटेंशन की नई सुविधाओं के साथ काम करता है(पोस्टव्यू और कैप्चर प्रोसेस की प्रोग्रेस): ऐप्लिकेशन के लिए
ImageCapture#getImageCaptureCapabilities()एपीआई जोड़े गए हैं, ताकि पोस्टव्यू और कैप्चर प्रोसेस की प्रोग्रेस के कॉलबैक की क्षमताओं के बारे में क्वेरी की जा सके. ऐप्लिकेशन,ImageCapture.Builder#setPostviewEnabled()का इस्तेमाल करके पोस्टव्यू की सुविधा चालू कर सकते हैं.ImageCapture.Builder#setPostviewResolutionSelector()का इस्तेमाल करके, पोस्टव्यू का साइज़ चुना जा सकता है.takePicture()को चालू करने पर,onPostviewBitmapAvailableऔरonCaptureProcessProgressedकोOnImageSavedCallbackयाOnImageCapturedCallbackमें लागू किया जा सकता है. इससे, अगर सुविधा उपलब्ध है, तो पोस्टव्यू और प्रोसेस की प्रोग्रेस की सूचना मिल सकती है. (I5cd88) - सेंसर से मौजूदा बफ़र तक, कोऑर्डिनेट ट्रांसफ़ॉर्मेशन का हिसाब लगाने के लिए एपीआई. साथ ही, एक फ़्लैग जो यह बताता है कि Surface में कैमरे के ओरिएंटेशन की जानकारी है या नहीं. (I59096)
- एपीआई को
PreviewCapabitlityमें क्वेरी करने के लिए उपलब्ध कराएंUseCase. (Ie5b6c) VideoCaptureके लिए, ज़्यादा क्वालिटी को सपोर्ट करने वाले एपीआई जोड़े गए.Recorder.Builder#setVideoCapabilitiesSource(int)का इस्तेमालVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIESके साथ किया जा सकता है, ताकिRecorderइंस्टेंस बनाया जा सके. यहVIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILEकी तुलना में ज़्यादा क्वालिटी के साथ काम करता है. इसका एक सामान्य उदाहरण यह है कि जब कोई ऐप्लिकेशन, यूएचडी वीडियो रिकॉर्ड करने की कोशिश करता है, लेकिन डिवाइस कीCamcorderProfileमें यूएचडी सेटिंग शामिल नहीं होती है. हालांकि, कोडेक यूएचडी वीडियो रिकॉर्ड कर सकता है. (Iedbe2, b/263961771)CameraControllerमेंImageAnalysisआउटपुट फ़ॉर्मैट गेटर/सेटर जोड़ें. (I9a96c, b/308240643)
गड़बड़ियां ठीक की गईं
- कैमरा
1.3.1:ProcessCameraProvider#bindToLifecycle()की परफ़ॉर्मेंस को बेहतर बनाया गया है. मुख्य बदलाव यह है किUseCasesके लिए सबसे सही साइज़ के कॉम्बिनेशन की पहचान करने की प्रोसेस को ऑप्टिमाइज़ किया गया है. सबसे अच्छे नतीजे,UseCaseके खास कॉम्बिनेशन और टारगेट डिवाइसों के लिए, आउटपुट के सपोर्ट किए गए साइज़ की संख्या के आधार पर अलग-अलग होते हैं. (I454f2) - एक्सटेंशन चालू होने पर,
VideoCaptureके इस्तेमाल की अनुमति दें. (I91f32) - Samsung A71 और M51 सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या को ठीक किया गया है. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ बहुत ज़्यादा हो जाता है. इमेज फ़ाइल के साइज़ को सामान्य रखने के लिए, फ़ालतू 0's पैडिंग डेटा को हटा दिया जाएगा. (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चालू होने पर, Extensions Bokeh या Face-Retouch चालू होने पर, काली झलक दिखने की समस्या ठीक की गई है. (I2e8b1) - Moto E5 Play पर, झलक और
VideoCaptureके स्ट्रेच होने से जुड़ी समस्याएं ठीक की गईं. (73dce2)
वर्शन 1.4.0-alpha01
20 सितंबर, 2023
androidx.camera:camera-*:1.4.0-alpha01 रिलीज़ हो गया है. वर्शन 1.4.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- रिकॉर्डिंग के दौरान ऑडियो ऐम्प्लिट्यूड की जानकारी ऐक्सेस करने के लिए, नया एपीआई जोड़ा गया है. (Id4925)
गड़बड़ियां ठीक की गईं
- यह पक्का करें कि एक्सटेंशन को शुरू और बंद करने वाले इवेंट सही क्रम में ट्रिगर हों. इससे एक्सटेंशन के काम करने की स्थिति बेहतर होगी. (Ib3b8e)
- बार-बार दिखने वाले अतिरिक्त कॉम्पोनेंट को जोड़ने की वजह से, कैप्चर सेशन के कॉन्फ़िगरेशन में गड़बड़ी हुई. ऐसा इसलिए हुआ, क्योंकि यह कॉम्पोनेंट, काम करने वाले कॉम्पोनेंट के कॉम्बिनेशन की सीमा से ज़्यादा है. (Id718c)
- Vivo S16 डिवाइस पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या ठीक की गई. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ बड़ा हो जाता है. इमेज फ़ाइल के साइज़ को सामान्य रखने के लिए, फ़ालतू 0's पैडिंग डेटा को हटा दिया जाएगा. (I79505, b/299069235)
- उस समस्या को ठीक किया गया है जिसमें कुछ डिवाइसों पर एक्सटेंशन मोड चालू होने पर,
ImageAnalysisकोImageCaptureऔर झलक के साथ बाइंड नहीं किया जा सकता था. इस फ़िक्स के बाद, ऐप्लिकेशनExtensionsManager#isImageAnalysisSupported()के ज़रिएImageAnalysisकी उपलब्धता के बारे में क्वेरी करने पर, सही वैल्यू मिलेगी. (I7d538) - JavaDoc को अपडेट करें, ताकि वह व्यवहार से मेल खाए.
#setZoomRatio,#setLinearZoom, और#enableTorch, कैमरा तैयार होने तक इंतज़ार करते हैं. ये तुरंत पूरे नहीं होते. साथ ही,#takePictureएपीआई की मदद से ज़्यादा से ज़्यादा फ़ील्ड ऑफ़ व्यू पाने के तरीके के बारे में जानकारी जोड़ी गई है. (I23588)
वर्शन 1.3
वर्शन 1.3.4
12 जून, 2024
androidx.camera:camera-*:1.3.4 रिलीज़ हो गया है. वर्शन 1.3.4 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- ज़ूम रेशियो बढ़ाने पर,
getZoomRatioकी वैल्यू कम हो जाती थी. इस समस्या को ठीक कर दिया गया है. (I4aa0d, b/317543616) - अब भी कैप्चर करने/टैप करके फ़ोकस करने की सुविधा के लिए, बार-बार किए जाने वाले अनुरोध के एफ़पीएस/स्टेबलाइज़ेशन मोड की वैल्यू का इस्तेमाल नहीं किया जा रहा था. इससे कैप्चर सेशन फिर से शुरू हो सकता है. साथ ही, कुछ डिवाइसों में देरी की समस्याएं हो सकती हैं या झलक फ़्रीज़ हो सकती है. इस समस्या को ठीक कर दिया गया है. (I7dc0b)
- उस समस्या को ठीक किया गया है जिसमें
setTargetFrameRateकोFRAME_RATE_RANGE_UNSPECIFIEDके साथ कॉल करने पर, फ़्रेम रेट को कम वैल्यू पर सेट किया जाता था. (I78c61)
वर्शन 1.3.3
17 अप्रैल, 2024
androidx.camera:camera-*:1.3.3 रिलीज़ हो गया है. वर्शन 1.3.3 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- ठीक की गई
ImageAnalysis' ऐनलाइज़र की डिफ़ॉल्ट टारगेट रिज़ॉल्यूशन सेटिंग से जुड़ी रिज़ॉल्यूशन चुनने की समस्या: टारगेट रिज़ॉल्यूशन को गलत तरीके से 640x480 पर सेट किया गया था. भले ही, ऐप्लिकेशन ने ऐनलाइज़र की डिफ़ॉल्ट रिज़ॉल्यूशन सेटिंग को अलग तरीके से सेट किया हो. अगर ऐप्लिकेशन को यह समस्या (1.3.0 ~ 1.3.2) आ रही है और वे समस्या को हल करने वाले नए वर्शन का इस्तेमाल करने के लिए अपग्रेड नहीं कर सकते, तो सीधे तौर परImageAnalysisUseCase से मेल खाने वालेAspectRatioStrategyके साथ, पसंदीदा रिज़ॉल्यूशन वालाResolutionSelectorसेट करके इस समस्या को हल किया जा सकता है. (I81f72, b/330091012)
वर्शन 1.3.2
6 मार्च, 2024
androidx.camera:camera-*:1.3.2 रिलीज़ हो गया है. वर्शन 1.3.2 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Samsung A24 डिवाइसों पर JPEG मेटाडेटा से जुड़ी समस्या ठीक की गई. CameraX अब इमेज को सही तरीके से सेव करता है. साथ ही,
ImageProxy.toBitmap()फ़ंक्शन सही बिटमैप ऑब्जेक्ट दिखाता है. (I8d6eb, b/309005680) - समस्याओं की वजह से, Redmi Note 9 Pro डिवाइसों पर 9280x6944 रिज़ॉल्यूशन का विकल्प हटा दिया गया है. (Ia23da)
वर्शन 1.3.1
13 दिसंबर, 2023
androidx.camera:camera-*:1.3.1 रिलीज़ हो गया है. वर्शन 1.3.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ProcessCameraProvider#bindToLifecycle() की परफ़ॉर्मेंस को बेहतर बनाया गया है. मुख्य बदलाव यह है कि UseCases के लिए सबसे सही साइज़ कॉम्बिनेशन की पहचान करने की प्रोसेस को ऑप्टिमाइज़ किया गया है. सबसे अच्छे नतीजे, UseCase के खास कॉम्बिनेशन और टारगेट डिवाइसों के लिए, आउटपुट के सपोर्ट किए गए साइज़ की संख्या के आधार पर अलग-अलग होते हैं. (I454f2)
यहां अलग-अलग स्थितियों के लिए, कुछ रेफ़रंस नतीजे दिए गए हैं:
चार
UseCases:Preview+ImageCapture+ImageAnalysis+VideoCapture- Google Pixel 7: करीब 430 मि॰से॰ से 60 मि॰से॰
- Samsung Galaxy S23 Ultra: करीब 540 मि॰से॰ से 45 मि॰से॰
- Samsung A53 5G: करीब 115 मि॰से॰ से 70 मि॰से॰
तीन
UseCases:Preview+ImageCapture+ImageAnalysis- Google Pixel 7: करीब 9 से 7 मि॰से॰
- Samsung Galaxy S23 Ultra: करीब 6 से 5 मि॰से॰
- Samsung A53 5G: करीब 32 मि॰से॰ से 12 मि॰से॰
CameraUseInconsistentTimebaseQuirkमें Snapdragon 480 जोड़ा गया. इससे Android 12 पर इस चिपसेट का इस्तेमाल करने वाले डिवाइसों में होने वाली एक समस्या ठीक हो जाती है. इस समस्या में, रिकॉर्डिंग में मौजूद ऑडियो, डिवाइस के बंद होने की अवधि के हिसाब से आगे-पीछे हो जाता है. (I58010)
वर्शन 1.3.0
18 अक्टूबर, 2023
androidx.camera:camera-*:1.3.0 रिलीज़ हो गया है. वर्शन 1.3.0 में ये बदलाव शामिल हैं.
1.2.0 के बाद हुए ज़रूरी बदलाव
- वीडियो से जुड़ी सुविधाएं. जैसे, 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और 'झलक देखें' मोड, दोनों के साथ स्ट्रीम शेयर करने पर क्रैश होने की समस्या को ठीक किया गया है. इसके अलावा, स्ट्रीम शेयर करने की सुविधा चालू होने पर, LEGACY डिवाइसों पर काली स्क्रीन दिखने की समस्या को भी ठीक किया गया है.- Samsung S7 (SM-G930T, SM-G930V) सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या ठीक की गई. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ बड़ा हो जाता है. इमेज फ़ाइल के साइज़ को सामान्य रखने के लिए, फ़ालतू 0's पैडिंग डेटा को हटा दिया जाएगा. (I407b0, b/288828159)
- Samsung S22 (SM-S901B, SM-S901B/DS) और S22+ (SM-S906B) सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या को ठीक किया गया है. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इसकी वजह से, कैप्चर की गई इमेज का फ़ाइल साइज़ ज़्यादा होता है. S22 SM-S901B/DS डिवाइस पर, यह करीब 13 एमबी होता है. इमेज फ़ाइल के साइज़ को सामान्य रखने के लिए, फ़ालतू 0's पैडिंग डेटा को हटा दिया जाएगा. (I73be9, b/288828159)
- Samsung A5, A52, A70, और A72 सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या को ठीक किया गया है. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का साइज़ बहुत ज़्यादा हो जाता है. उदाहरण के लिए, करीब 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 इमेज से जुड़ी समस्या को ठीक किया गया है. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का साइज़ करीब 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इस्तेमाल के उदाहरण को, Preview औरImageCaptureके साथ बाइंड किया जा सकता है या नहीं. ऐसा तब किया जा सकता है, जब एक्सटेंशन चालू हों. (I1bc63)Recorderसे मिली नईVideoCapabilitiesक्लास का इस्तेमाल, डिवाइस पर वीडियो रिकॉर्डिंग के लिए, डाइनैमिक रेंज और क्वालिटी के बारे में क्वेरी करने के लिए किया जा सकता है.QualitySelectorकेgetSupportedQualities()औरisQualitySupported()तरीकों को बंद किया जा रहा है. इसके बजाय, कृपयाVideoCapabilitiesकेgetSupportedQualities()औरisQualitySupported()तरीकों का इस्तेमाल करें. (I04014)CameraController#setVideoCaptureTargetQuality()का नाम बदलकरsetVideoCaptureQualitySelectorकर दिया गया है. यहQualitySelectorआर्ग्युमेंट लेता है, जिससे वीडियो क्वालिटी को ज़्यादा आसानी से सेट अप किया जा सकता है. इसके मुताबिक,CameraController#getVideoCaptureTargetQuality()कोgetVideoCaptureQualitySelectorमें बदल दिया जाता है. (I520ed)- वीडियो की सुविधाओं के लिए, एक्सपेरिमेंटल एनोटेशन हटा दिया गया है. वीडियो की सुविधाएं अब स्थिर हो गई हैं. (I1a113)
गड़बड़ियां ठीक की गईं
- कम रोशनी में फ़ोटो की क्वालिटी और उसे कैप्चर करने की स्पीड को बेहतर बनाने के लिए, Samsung SM-A320 मॉडल में टॉर्च का इस्तेमाल फ़्लैश के तौर पर करें. (I6a022, b/286190938)
ImageProxy.toBitmap()के लिए,ImageFormat.JPEGफ़ॉर्मैट के साथ काम करने की सुविधा जोड़ी गई. अगर JPEG बाइट ऐरे को डिकोड नहीं किया जा सकता, तोUnsupportedOperationExceptionदिखेगा. (I81958, b/282057603)
वर्शन 1.3.0-alpha07
24 मई, 2023
androidx.camera:camera-*:1.3.0-alpha07 रिलीज़ हो गया है. वर्शन 1.3.0-alpha07 में ये बदलाव शामिल हैं.
नई सुविधाएं
- नए
VideoCapture.Builder# setTargetFrameRate(Range)API की मदद से, वीडियो रिकॉर्डिंग को डिवाइस के डिफ़ॉल्ट फ़्रेम रेट के अलावा, अन्य फ़्रेम रेट पर भी कैप्चर किया जा सकता है. रिकॉर्डिंग के लिए उपलब्ध फ़्रेम रेट के बारे में, नएCameraInfo#getSupportedFrameRates()एपीआई के ज़रिए क्वेरी की जा सकती है.
एपीआई में हुए बदलाव
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONकॉन्स्टेंट का नाम बदलकरALLOWED_RESOLUTIONS_NORMAL/SLOWकर दिया गया है. साथ ही, बिल्डरsetHighResolutionEnabledFlagफ़ंक्शन का नाम बदलकरsetAllowedResolutionModeकर दिया गया है. (Iae817)CameraInfo#getSupportedFrameRateRanges()अबListके बजायSetदिखाता है, ताकि यह बेहतर तरीके से पता चल सके कि रेंज क्रम में नहीं हैं. (I02f43)CameraEffectमें गड़बड़ी सुनने वाला एक लिसनर जोड़ें, ताकि ऐसी गड़बड़ियों को ठीक किया जा सके जिन्हें ठीक नहीं किया जा सकता (Ice471)- बेहतर तरीके से टेस्ट करने के लिए,
ResolutionInfoमें पब्लिक कंस्ट्रक्टर जोड़ें (If6d1c) setTargetRotationDegreesके इस्तेमाल को बदलने के लिए, एपीआईUseCase.snapToSurfaceRotation(int)उपलब्ध कराया गया है. साथ ही, एपीआईImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int), औरVideoCapture.setTargetRotationDegrees(int)को बंद कर दिया गया है. (Ia9010)- एपीआई
Preview#getTargetFrameRateऔरPreview.Builder#setTargetFrameRateको जोड़ा गया है, ताकि झलक देखने की सुविधा के लिए टारगेट फ़्रेम रेट सेट किया जा सके और उसे वापस पाया जा सके (If4f22) VideoRecordEvent.FinalizeअबERROR_RECORDING_GARBAGE_COLLECTEDगड़बड़ी कोड के साथ पूरा होगा, जबRecordingऑब्जेक्ट को गार्बेज कलेक्शन की वजह से रोक दिया जाता है. (Iba974)
गड़बड़ियां ठीक की गईं
NullPointerExceptionमें कैश मेमोरी में सेव किए गए आउटपुट साइज़ शून्य होने पर,NullPointerExceptionको ठीक किया गया.StreamConfigurationMapCompat(Idf124, b/282025204)- उस समस्या को ठीक किया गया है जिसकी वजह से एक्सटेंशन (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} बाइंड किए जा सकते हैं. ज़्यादा से ज़्यादा रिज़ॉल्यूशन 720 पिक्सल या 1440 पिक्सल होता है. ज़्यादा जानकारी के लिए, यहां दिया गया लिंक देखें: CameraManager#getConcurrentCameraIds()
- पेश है नया
ResolutionSelectorAPI. इसमें ये सुविधाएं शामिल हैं:- ऐप्लिकेशन, आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) और रिज़ॉल्यूशन की रणनीतियां तय कर सकते हैं, ताकि वे अपनी ज़रूरतों के हिसाब से सबसे सही रिज़ॉल्यूशन चुन सकें.
- सभी साइज़ और आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) पैरामीटर, कैमरा डिवाइस सेंसर के कोऑर्डिनेट में दिखाए जाते हैं.
- ऐप्लिकेशन, कस्टम रिज़ॉल्यूशन फ़िल्टर लागू कर सकते हैं, ताकि वे काम करने वाले साइज़ को अपनी पसंद के क्रम में व्यवस्थित कर सकें.
- ऐप्लिकेशन, ज़्यादा रिज़ॉल्यूशन वाली इमेज पाने के लिए, हाई रिज़ॉल्यूशन कैप्चर करने की सुविधा भी चालू कर सकते हैं. हालांकि, कृपया ध्यान दें कि हाई रिज़ॉल्यूशन का इस्तेमाल करने से, कैप्चर करने में ज़्यादा समय लग सकता है.
VideoCaptureमिररिंग एपीआई जोड़े गए.VideoCaptureसे रिकॉर्ड किए गए वीडियो, डिफ़ॉल्ट रूप से मिरर नहीं किए जाते. हालांकि, फ़्रंट कैमरे पर कैमरे की झलक डिफ़ॉल्ट रूप से मिरर की जाती है.VideoCaptureमिररिंग एपीआई की मदद से, फ़्रंट कैमरे का इस्तेमाल करते समय कैमरे की झलक को अलाइन किया जा सकता है.MirrorMode,OFF,ON, औरON_FRONT_ONLYके तीन विकल्प हैं. कैमरे की झलक के साथ अलाइन करने के लिए,ON_FRONT_ONLYका इस्तेमाल करने का सुझाव दिया जाता है. इसका मतलब है कि रियर कैमरे के लिए मिररिंग की सुविधा चालू नहीं है, लेकिन फ़्रंट कैमरे के लिए यह सुविधा चालू है.
एपीआई में हुए बदलाव
- नया
ResolutionSelectorएपीआई उपलब्ध कराया गया. ऐप्लिकेशन, फ़ॉलबैक नियमों या कस्टम रिज़ॉल्यूशन फ़िल्टर के साथ, पहलू के अनुपात और रिज़ॉल्यूशन की रणनीतियां तय कर सकते हैं, ताकि उन्हें मनमुताबिक नतीजे मिल सकें. ऐप्लिकेशन, ज़्यादा रिज़ॉल्यूशन में कैप्चर करने की सुविधा चालू करने के लिए फ़्लैग तय कर सकते हैं. इससे CameraX को फ़ोटो या वीडियो लेते समय, ज़्यादा रिज़ॉल्यूशन चुनने की अनुमति मिल जाएगी. हालांकि, कृपया ध्यान दें कि हाई रिज़ॉल्यूशन का इस्तेमाल करने से, कैप्चर करने में ज़्यादा समय लग सकता है. (Ibed95) - AE एल्गोरिदम के साथ काम करने वाले एफपीएस की रेंज के बारे में अब
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)
- Make
ImageProcessor.Response#getOutputImageNonNull (Ib9c60) VideoCaptureमिररिंग एपीआई जोड़े गए हैं. इनमेंVideoCapture.Builder.setMirrorMode(int)औरVideoCapture.getMirrorMode()शामिल हैं. ये एपीआई उन ऐप्लिकेशन के लिए काम के हैं जिन्हें वीडियो रिकॉर्डिंग को कैमरे की सामान्य झलक के साथ अलाइन करना होता है. जैसे, रियर कैमरे की झलक को मिरर नहीं किया जाता, लेकिन फ़्रंट कैमरे की झलक को मिरर किया जाता है. (I713b6, b/194634656)VideoCaptureमेंVideoCapture.BuilderऔरgetTargetFramerate()एपीआई मेंsetTargetFrameRate()एपीआई जोड़ें (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को टारगेट करने वाले इफ़ेक्ट,VideoCaptureUseCase पर लागू होंगे.PREVIEW|VIDEO_CAPTUREको टारगेट करने वाले इफ़ेक्ट, झलक औरVideoCaptureस्ट्रीम में कॉपी करने से पहले, शेयर की गई स्ट्रीम पर लागू होंगे. (Iee6f3)
गड़बड़ियां ठीक की गईं
- कैमरा
1.2.2: कुछ डिवाइसों, जैसे कि Pixel (I90aa2) पर proguard चालू होने पर, CameraX Extensions के ठीक से काम न करने की समस्या ठीक की गई है PreviewViewगड़बड़ी को ठीक किया गया है. अगर ऐप्लिकेशन, स्क्रीन ओरिएंटेशन को खुद मैनेज करता है, तो घुमाने पर झलक खराब हो सकती है. ऐसा सिर्फ़ कुछ डिवाइसों पर होता है. इस समस्या को Pixel 4a, Pixel 5, और Pixel 6a पर दोहराया जा सकता है. (I14340, b/223488673)
वर्शन 1.3.0-alpha04
22 फ़रवरी, 2023
androidx.camera:camera-*:1.3.0-alpha04 रिलीज़ हो गया है. वर्शन 1.3.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
एक नई सुविधा, जो पहले काम नहीं करती थी. इसकी मदद से, एक स्ट्रीम को कई UseCases के साथ शेयर करके, Surface के ऐसे कॉम्बिनेशन इस्तेमाल किए जा सकते हैं जो पहले काम नहीं करते थे.
- पहले, कैमरा हार्डवेयर लेवल FULL और उससे नीचे के लेवल पर “Preview, VideoCapture, ImageAnalysis” को बाइंड करने पर या हार्डवेयर लेवल LEGACY पर “Preview, VideoCapture, ImageCapture” को बाइंड करने पर, CameraX
IllegalArgumentExceptionदिखाता था. - नई सुविधा के तहत, बाइंडिंग बिना किसी अपवाद के काम करेंगी. इसके बजाय, CameraX, OpenGL का इस्तेमाल करके शेयर की गई स्ट्रीम को Preview और VideoCapture, दोनों में कॉपी करता है.
- बफ़र कॉपी की लागत के तौर पर, ऐप्लिकेशन में लेटेन्सी और बिजली की खपत बढ़ सकती है.
एपीआई में हुए बदलाव
ImageProxyकोBitmapमें बदलने के लिए, एपीआई जोड़ें.ImageProxyके लिए,ImageFormat.YUV_420_888औरPixelFormat.RGBA_8888फ़ॉर्मैट का इस्तेमाल किया जा सकता है. अगर फ़ॉर्मैट अमान्य है, तोIllegalArgumentExceptionदिखेगा. (Ic7110)- Kotlin में सस्पेंडिंग फ़ंक्शन का इस्तेमाल करके, व्यूफ़ाइंडर को कॉन्फ़िगर करने की सुविधा जोड़ने के लिए,
CoroutineCameraViewfinderजोड़ें. (I657bc) ViewfinderSurfaceRequestके लिए नया सार्वजनिक कंस्ट्रक्टर जोड़ें. जब उपयोगकर्ताCameraCharacteristicsनहीं दे पाता है, तो यह सुविधा काम आती है. (Ie6549)
गड़बड़ियां ठीक की गईं
- कुछ Samsung डिवाइसों पर, ऐप्लिकेशन को बहुत तेज़ी से रोकने/फिर से शुरू करने पर एक्सटेंशन क्रैश होने की समस्या को ठीक किया गया है (Iaca26)
वर्शन 1.3.0-alpha03
25 जनवरी, 2023
androidx.camera:camera-*:1.3.0-alpha03 रिलीज़ हो गया है. वर्शन 1.3.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- डिफ़ॉल्ट कैमरे के हिसाब से व्यू के ऐंगल की जानकारी देने के लिए,
CameraInfo.getIntrinsicZoomRatioजोड़ा गया. (Ib300c) - लेंस के बारे में जानकारी देने के लिए
CameraInfo.getLensFacingजोड़ा गया. बाहरी कैमरे चुनने के लिए,CameraSelector#LENS_FACING_EXTERNALको एक्सपेरिमेंट के तौर पर शुरू की गई सुविधा के तौर पर जोड़ा गया है. (Icaf3e) #setEffect()मेंCameraControllerजोड़ें. इससे कैमरे के आउटपुट में इफ़ेक्ट जोड़े जा सकते हैं. (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) - Remove Metadata,
OnVideoSavedCallback,OutputFileOptionsandOutputFileResultsclasses that are no longer used after applying the new video capture API. (I38cd8) - वीडियो कैप्चर करने वाले नए एपीआई को लागू करें.
getVideoCaptureTargetSizeऔरsetVideoCaptureTargetSizeतरीकों की जगह,getVideoCaptureTargetQualityऔरsetVideoCaptureTargetQualityतरीकों का इस्तेमाल किया जाता है. ऐसा इसलिए, क्योंकिsetTargetResolutionअब काम नहीं करता. (I2a1d5)
गड़बड़ियां ठीक की गईं
- बहिष्कृत
core.VideoCaptureएपीआई को हटाएं. (I531e0) - स्टोरेज की अनुमति के बिना फ़ोटो लेने पर,
onErrorकॉलबैक के काम न करने की समस्या को ठीक किया गया है.(I936db, b/244807669) - कैमरा एक्सटेंशन की क्वालिटी और विश्वसनीयता को बेहतर बनाया गया है. Camera Extensions v1.1.0 और इससे पुराने वर्शन का इस्तेमाल करने वाले Motorola डिवाइसों पर, कैमरा एक्सटेंशन बंद कर दिए गए हैं. ऐसा इसलिए किया गया है, क्योंकि इनमें बोके इफ़ेक्ट की सुविधा काम नहीं करती है. साथ ही, इमेज कैप्चर करने और प्रीव्यू को फिर से शुरू करने से जुड़ी समस्याएं आ रही हैं. (Id3ce3)
- लेगसी डिवाइसों पर
ViewPortके ज़रिए वीडियो क्रॉप करने की सुविधा चालू होने पर, नेटिव क्रैश की समस्या को ठीक किया गया. (I16b8a, b/251357665)
वर्शन 1.3.0-alpha01
9 नवंबर, 2022
androidx.camera:camera-*:1.3.0-alpha01 रिलीज़ हो गया है. वर्शन 1.3.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
Camera-viewfinderको आधिकारिक तौर पर पब्लिश कर दिया गया है.Camera-viewfinderएक बुनियादी व्यूफ़ाइंडर विजेट उपलब्ध कराता है. यह Camera2 के लिए कैमरे का फ़ीड दिखा सकता है. उदाहरण के लिए, कृपया सैंपल कोड देखें.
एपीआई में हुए बदलाव
- वीडियो की अवधि की सीमा सेट करने की अनुमति देने के लिए,
OutputOptions.setDurationLimitजोड़ा गया. तय की गई अवधि की सीमा से ज़्यादा होने पर, रिकॉर्डिंग अपने-आप पूरी हो जाएगी. (I902a0) - वीडियो रिकॉर्डिंग के ऑडियो में गड़बड़ी होने की स्थिति
AudioStats.AUDIO_STATE_SOURCE_ERRORको जोड़ा गया. ऑडियो सोर्स का सेटअप पूरा न होने या कोई गड़बड़ी होने पर भेजा जाता है. (I37410)
गड़बड़ियां ठीक की गईं
- कुछ गड़बड़ी वाले डिवाइसों को, कैप्चर करने में समस्या आने पर एक बार फिर से कैप्चर करने की अनुमति देने के लिए, क्वर्क जोड़ें. (Id4795)
ViewPager2परPreviewViewSurfaceViewलागू करने पर, काली स्क्रीन दिखने की समस्या ठीक की गई. इस समस्या को ठीक करने के लिए, अगर अनुरोध किए गए रिज़ॉल्यूशन में बदलाव नहीं किया जाता है, तोPreviewViewअपनेSurfaceViewका फिर से इस्तेमाल करेगा. (Ib3f27)ViewPortयाCameraControllerAPI का इस्तेमाल करने पर, वीडियो को काटने की सुविधा (WYSIWYG सुविधा) उपलब्ध कराई गई है. (Ifbba8, b/201085351)- Huawei P40 lite पर, फ़्रंट कैमरे से कैप्चर किया गया वीडियो रिकॉर्ड नहीं हो पा रहा था. इस समस्या को ठीक कर दिया गया है. (I87c57, b/250807400)
वर्शन 1.2
वर्शन 1.2.3
24 मई, 2023
androidx.camera:camera-*:1.2.3 रिलीज़ हो गया है. वर्शन 1.2.3 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसकी वजह से,
VideoCaptureकुछ डिवाइसों पर सामने वाले कैमरे के साथ काम नहीं कर पा रहा था. उदाहरण के लिए, Samsung Galaxy S23 और Xiaomi 2107113SG पर. (Ibec7e, b/270656244)
वर्शन 1.2.2
22 मार्च, 2023
androidx.camera:camera-*:1.2.2 रिलीज़ हो गया है. वर्शन 1.2.2 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- हमने उस समस्या को ठीक कर दिया है जिसमें कुछ डिवाइसों, जैसे कि Pixel (I90aa2) पर proguard चालू होने पर, CameraX Extensions ठीक से काम नहीं करते थे
वर्शन 1.2.1
25 जनवरी, 2023
androidx.camera:camera-*:1.2.1 रिलीज़ हो गया है. वर्शन 1.2.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- कुछ Samsung Android 12 डिवाइसों पर Exif जगह की जानकारी का डेटा सेव करते समय, JPEG इमेज के खराब होने की समस्या ठीक की गई है. (b/263289024)
वर्शन 1.2.0
7 दिसंबर, 2022
androidx.camera:camera-*:1.2.0 रिलीज़ हो गया है. वर्शन 1.2.0 में ये बदलाव शामिल हैं.
1.1.0 के बाद हुए अहम बदलाव
- नई लाइब्रेरी camera-mlkit-vision. CameraX को MLKit की कई सुविधाओं के साथ आसानी से इंटिग्रेट किया जा सकता है. जैसे, बारकोड स्कैन करना, चेहरे की पहचान करना, टेक्स्ट की पहचान करना वगैरह.
MLKitAnalyzerको नए एपीआई के तौर पर जोड़ा गया है. - एक्सपेरिमेंट के तौर पर उपलब्ध, ज़ीरो-शटर लैग वाले नए एपीआई की सुविधा. यह इमेज की क्वालिटी को बेहतर बनाए रखता है. साथ ही, कैप्चर पाइपलाइन को ऑप्टिमाइज़ करता है, ताकि कम से कम समय में इमेज कैप्चर की जा सके. कैप्चर मोड को
CAPTURE_MODE_ZERO_SHUTTER_LAGपर सेट करने पर, शटर बटन दबाने और फ़ोटो लिए जाने के बीच का समय कम हो जाता है. ऐसा अन्य कैप्चर मोड की तुलना में होता है. जिन डिवाइसों परZERO_SHUTTER_LAGकाम नहीं करता उन पर यह सुविधा,CAPTURE_MODE_MINIMIZE_LATENCYपर फ़ॉलबैक हो जाएगी. android.camera.core.VideoCaptureका इस्तेमाल बंद करें.setStreamUseCase()को सार्वजनिकCamera2Interopएपीआई के तौर पर जोड़ा गया.setOutputImageRotationEnabledके लिए, एपीआई लेवल से जुड़ी ज़रूरी शर्तें जोड़ी गईं.ImageAnalysis.Analyzer#getTargetResolutionOverride()का नाम बदलकरImageAnalysis.Analyzer#getDefaultTargetResolution()कर दिया गया.- सेव किए गए वीडियो में जगह की जानकारी वाला मेटाडेटा सेट करने के लिए एपीआई जोड़ा गया.
- 16:9 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के साथ
VideoCaptureऔर झलक के इस्तेमाल के उदाहरणों का इस्तेमाल करते समय, कम फ़्रेमरेट की समस्या ठीक की गई - कुछ Samsung डिवाइसों पर BOKEH एक्सटेंशन चालू होने और उपयोगकर्ता के कैमरे बदलने पर, काली झलक दिखने की समस्या को ठीक किया गया है.
- एपीआई लेवल 27 वाले डिवाइसों पर, Samsung J7 Prime (SM-G610M) और J7 (SM-J710MN) में
Preview/VideoCaptureके स्ट्रेच होने की समस्या ठीक की गई. - Samsung Android T पर, सामने वाले कैमरों के एएफ़ रीजन को हॉरिज़ॉन्टल तौर पर फ़्लिप करने की सुविधा बंद कर दी गई है. ऐसा इसलिए, क्योंकि इस समस्या को ठीक कर दिया गया है
वर्शन 1.2.0-rc01
24 अक्टूबर, 2022
androidx.camera:camera-*:1.2.0-rc01 रिलीज़ हो गया है. वर्शन 1.2.0-rc01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
OutputConfigurationके लिए,setStreamUseCaseएपीआई जोड़ें. उपयोगकर्ता, स्ट्रीम सेशन के लिए स्ट्रीम यूज़ केस तय कर सकता है. इससे CameraX के इंटरनल लॉजिक को बदलकर, स्ट्रीम यूज़ केस को चुना जा सकता है, ताकि उपयोगकर्ता की ज़रूरत के हिसाब से ऑप्टिमाइज़ किया जा सके. (Ib1a95)
गड़बड़ियां ठीक की गईं
- एपीआई लेवल 27 वाले डिवाइसों पर, Samsung J7 Prime (SM-G610M) और J7 (SM-J710MN) में
Preview/VideoCaptureके स्ट्रेच होने की समस्या ठीक की गई. रिज़ॉल्यूशन 1920x1080 होने की वजह से,Preview/VideoCaptureइमेज स्ट्रेच हो जाती हैं. इमेज के खिंचने की समस्या से बचने के लिए, झलक याVideoCaptureके लिए 1920x1080 रिज़ॉल्यूशन न चुनने का तरीका जोड़ा गया. (I0e04e) - कुछ Huawei डिवाइसों पर, 16:9 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के साथ
VideoCaptureऔर झलक के इस्तेमाल के उदाहरणों का इस्तेमाल करते समय, कम फ़्रेमरेट की समस्या ठीक की गई है. (If8c88, b/223643510) - Preview के
SurfaceProviderको सेट न करने पर, कैमरा चालू न होने की समस्या ठीक कर दी गई है. इस समस्या को ठीक करने के लिए, अबSurfaceProviderसेट न होने पर, झलक देखने की सुविधा को कैमरा कैप्चर सेशन में कॉन्फ़िगर नहीं किया जाएगा. (I99681)
वर्शन 1.2.0-beta02
21 सितंबर, 2022
androidx.camera:camera-*:1.2.0-beta02 रिलीज़ हो गया है. वर्शन 1.2.0-beta02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
setOutputImageRotationEnabled(I26e3e, b/240993561) के लिए, एपीआई लेवल से जुड़ी ज़रूरी शर्तें जोड़ें
गड़बड़ियां ठीक की गईं
- Samsung Android T पर, सामने वाले कैमरों के एएफ़ रीजन को हॉरिज़ॉन्टली फ़्लिप करने की सुविधा बंद कर दी गई है. ऐसा इसलिए, क्योंकि इस समस्या को ठीक कर दिया गया है. (I05f69)
- कुछ Samsung डिवाइसों पर
BOKEHएक्सटेंशन चालू होने और उपयोगकर्ता के कैमरे स्विच करने पर, काली झलक दिखने की समस्या को ठीक किया गया है. (If6168)
वर्शन 1.2.0-beta01
24 अगस्त, 2022
androidx.camera:camera-*:1.2.0-beta01 रिलीज़ हो गया है. वर्शन 1.2.0-beta01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- नई लाइब्रेरी
camera-mlkit-vision. CameraX को 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 मि॰से॰ जोड़ा गया है. अगर
isFocusSuccessfulको रद्द नहीं किया जाता है और एएफ़ का हिस्सा इस अवधि में कन्वर्ज नहीं होता है, तो यह एएफ़ के हिस्से कोisFocusSuccessfulfalse के साथ पूरा करेगा.FocusMeteringAction(Ibc2e3) - बिना बाइंड की गई झलक की मदद से फ़ोटो लेने की समस्या को ठीक किया गया (I1d3a2, b/235119898)
- ऐडवांस एक्सटेंडर को लागू करने की सुविधा चालू की गई. साथ ही, CameraX के साथ काम करने वाले एक्सटेंशन इंटरफ़ेस के वर्शन को 1.2 (I92256) पर अपडेट किया गया
वर्शन 1.2.0-alpha02
1 जून, 2022
androidx.camera:camera-*:1.2.0-alpha02 रिलीज़ हो गया है. वर्शन 1.2.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- CameraX Zero-Shutter Lag API को एक्सपेरिमेंट के तौर पर उपलब्ध कराया गया है.
एपीआई में हुए बदलाव
ImageCaptureमें नया कैप्चर मोडCAPTURE_MODE_ZERO_SHUTTER_LAGजोड़ें. साथ ही, डिवाइस की क्षमता के बारे में क्वेरी करने के लिए,CameraInfoमेंisZslSupportedजोड़ें.CAPTURE_MODE_ZERO_SHUTTER_LAGमोड का मकसद, तुरंत कैप्चर करने के लिए कम से कम इंतज़ार का समय देना है. इसे रिंग बफ़र के आधार पर लागू किया जाता है. यह इंटरमीडिएट कैप्चर के नतीजों को कैश मेमोरी में सेव करता है, ताकि उपयोगकर्ता के फ़ोटो लेने के लिए बटन दबाने पर, बाद में उन्हें फिर से प्रोसेस किया जा सके. अगर {@link VideoCapture} बाउंड है या फ़्लैश मोड बंद नहीं है या ओईएम एक्सटेंशन चालू है, तो यह मोड अपने-आप बंद हो जाएगा. (I9ae74)ImageAnalysis.getBackgroundExecutor()तरीका जोड़ा गया (Icc945)
गड़बड़ियां ठीक की गईं
ImageCapturetakePicture तरीके से, रिपोर्ट किए गए डिवाइसों पर टॉर्च बंद हो जाती है. इस समस्या को ठीक कर दिया गया है. (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को गलत तरीके से FHD रिज़ॉल्यूशन मिलता है. इस इस्तेमाल के उदाहरण के लिए, यूएचडी रिज़ॉल्यूशन काम करता है. इसलिए, इसका इस्तेमाल किया जाना चाहिए. (I0e788, b/230651237) NullPointerExceptionकोImageCapture.takePicture()को ठीक कर दिया गया है. (I92366, b/230454568, b/229766155)androidx.camera.video.Recorder(Ia8ce8) के एसिंक पॉज़ के व्यवहार से जुड़ी समस्या ठीक की गई
Camera-Camera2, Camera-Core, Camera-Lifecycle, और Camera-Video वर्शन 1.1.0
वर्शन 1.1.0
29 जून, 2022
androidx.camera:camera-*:1.1.0 रिलीज़ हो गया है. वर्शन 1.1.0 में ये बदलाव शामिल हैं.
1.0.0 के बाद हुए अहम बदलाव
- लैंडेड व्यू, एक्सटेंशन, और वीडियो कैप्चर लाइब्रेरी को पहले आरसी वर्शन के तौर पर इस्तेमाल किया जा सकता है. CameraX 1.1.0-beta01 से, सभी CameraX लाइब्रेरी के वर्शन नंबर एक जैसे होंगे. इससे डेवलपर को वर्शन को ट्रैक करने में आसानी होगी. साथ ही, वर्शन के साथ काम करने से जुड़ी बड़ी मैट्रिक्स की जटिलता कम हो जाएगी.
- नए सार्वजनिक एपीआई और सुविधाएं जोड़ी गईं. इनमें ये शामिल हैं:
- वीडियो कैप्चर करने के लिए, आधिकारिक कैमरा-वीडियो लाइब्रेरी जोड़ें.
- YUV को RGB में बदलने और घुमाने की सुविधा (
ImageAnalysis.Builder.setOutputImageRotationEnabledऔरsetOutputImageFormat) - मल्टी-विंडो मोड के साथ काम करता है. इससे CameraX ऐप्लिकेशन को कैमरा फिर से चालू करने की अनुमति मिलती है. ऐसा तब होता है, जब किसी दूसरे ऐप्लिकेशन की वजह से कैमरा बंद हो जाता है और फ़ोकस वापस आ जाता है.
- इससे फ़ोल्ड किए जा सकने वाले डिवाइसों में CameraX के ठीक से काम करने की पुष्टि होती है. इसके लिए, यह पूर्वावलोकन से जुड़ी कुछ समस्याओं को ठीक करता है.
- एक
CameraStateएपीआई जोड़ा गया है, जिसे CameraInfo के ज़रिए दिखाया जाएगा. - उपलब्ध कैमरों के बारे में सीधे जानकारी पाने के लिए, एक एपीआई
ProcessCameraProvider.getAvailableCameraInfos()जोड़ा गया है - एक्सटेंशन चालू होने पर,
ImageCapture#OnImageCapturedCallbackके लिए JPEG फ़ॉर्मैट में आउटपुट. CameraInfoमें एक एपीआईisFocusMeteringSupportedजोड़ा गया है. इससे ऐप्लिकेशन यह देख सकते हैं कि दिया गयाFocusMeteringAction, मौजूदा कैमरे पर काम करता है या नहीं.- झलक देखने की सुविधा
getResolutionInfo,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एपीआई- एक्सपोज़र कंपंसेशन के एक्सपेरिमेंटल एपीआई.
- कैमरा-कोर, कैमरा-लाइफ़साइकल, और कैमरा-वीडियो के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध
UseCaseGroupAPI का प्रमोशन किया गया. व्यूपोर्ट को पसंद के मुताबिक बनाने के लिए,ViewPort#getLayoutDirection,ViewPort.Builder#setLayoutDirection, औरViewPort.Builder#setScaleTypeको जोड़ा गया. ExperimentalUseCaseGroupLifecycleको औपचारिक तौर पर सार्वजनिक एपीआई के तौर पर प्रमोट किया.- मौजूदा एपीआई में बदलाव
MediaStoreOutputOptions.getCollectionUriके लिएRenamed MediaStoreOutputOptions.getCollectionकरें.- ज़्यादा जानकारी को कम करने के लिए,
ActiveRecordingका नाम बदलकर "रिकॉर्डिंग" कर दिया गया है. QualitySelectorक्रिएटर एपीआई को सूची पर आधारित एपीआई में बदला गया
गड़बड़ियां ठीक की गईं
- एक्सटेंशन मोड चालू होने और
ImageCapture#CAPTURE_MODE_MAX_QUALITYमोड सेट होने पर,YuvToJpegProcessorEOFExceptionसे जुड़ी समस्या ठीक की गई. - वीडियो रिकॉर्डिंग बंद होने की वजह से, कोडेक का कॉन्फ़िगरेशन ठीक नहीं किया जा सका
- FHD में रिकॉर्डिंग करते समय, स्ट्रेच की गई झलक/वीडियो के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) की समस्या ठीक की गई
- कुछ डिवाइसों पर वीडियो को रोकने और फिर से शुरू करने के बाद, ऑडियो/वीडियो के सिंक न होने की समस्या ठीक की गई
- हमने उस समस्या को ठीक कर दिया है जिसमें कम रोशनी वाली जगह पर, फ़्लैश मोड के 'अपने-आप' या 'हमेशा चालू' पर सेट होने पर, टैप करके फ़ोकस करने (
startFocusAndMetering) के दौरान फ़्लैश चालू हो जाता था.
वर्शन 1.1.0-rc02
1 जून, 2022
androidx.camera:camera-*:1.1.0-rc02 रिलीज़ हो गया है. वर्शन 1.1.0-rc02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
NullPointerExceptionकोImageCapture.takePicture()को ठीक कर दिया गया है. (I92366, b/230454568, b/229766155)CONTROL_ZOOM_RATIO_RANGEकी जानकारी पाने के दौरान,AssertionErrorको हैंडल न किए जाने की गड़बड़ी को ठीक किया गया है. (Ia248a, b/231701345)
वर्शन 1.1.0-rc01
11 मई, 2022
androidx.camera:camera-*:1.1.0-rc01 रिलीज़ हो गया है. वर्शन 1.1.0-rc01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- कैमरा-वीडियो, कैमरा-व्यू, और कैमरा-एक्सटेंशन के लिए पहला आरसी वर्शन रिलीज़ करें
गड़बड़ियां ठीक की गईं
- हमने उस समस्या को ठीक कर दिया है जिसमें
VideoCapture<Recorder>के अनबाउंड होने पर, वीडियो कोडेक रिलीज़ नहीं किया जाता था. इस वजह से,VideoCapture<Recorder>का इस्तेमाल करकेMediaCodec.CodecExceptionसे रिकॉर्डिंग नहीं की जा सकती थी. खास तौर पर, एपीआई 21-22 वाले डिवाइसों पर यह समस्या होती थी. (Ie7f68) CameraExtensionsActivityमें कैप्चर की गई इमेज कोImageCaptureTestमें न मिटाने की सुविधा ठीक करना
वर्शन 1.1.0-beta03
6 अप्रैल, 2022
androidx.camera:camera-*:1.1.0-beta03 रिलीज़ हो गया है. वर्शन 1.1.0-beta03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
CaptureRequestOptionsकंस्ट्रक्टर को प्रतिबंधित कर दिया गया है. (I261b6)- बाहरी इमेज प्रोसेसिंग लाइब्रेरी के साथ
CameraControllerका इस्तेमाल करने के लिए, एक्सपेरिमेंटल एपीआई जोड़ा गया. उदाहरण के लिए, MLKit (I4ea71)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसकी वजह से मल्टी-विंडो मोड में डिवाइसों को घुमाने के बाद, गतिविधि को फिर से शुरू न करने पर
PreviewViewमें झलक साइडवे हो जाती थी. (I1ea36, b/223488673) - मल्टी-विंडो की समस्या को ठीक किया गया है. इस समस्या की वजह से, ऐप्लिकेशन पर फ़ोकस वापस आने पर कैमरा फिर से शुरू नहीं हो पाता था. ऐसा तब होता था, जब (1) ज़्यादा प्राथमिकता वाला कोई दूसरा ऐप्लिकेशन, कोई दूसरा कैमरा खोलता था (2) डिवाइस, Samsung Android 12 डिवाइस होता था. (I7e9f2)
- फ़्लैश की उपलब्धता की जांच करते समय क्रैश होने वाले डिवाइसों के लिए, वर्कअराउंड शामिल किया गया है. इन डिवाइसों पर टॉर्च की सुविधा उपलब्ध नहीं होगी. (If26a3, b/216667482)
- ऐप्लिकेशन में एक्सटेंशन का इस्तेमाल करने और ProGuard को चालू करने पर होने वाली
AbstractMethodErrorसमस्या को ठीक किया गया है. (I7cbaf, b/222726805) - Motorola razr 5G डिवाइस पर, बोके इफ़ेक्ट वाले एक्सटेंशन मोड को बंद करने का विकल्प जोड़ा गया है. इससे झलक वाली स्क्रीन काली होने की समस्या ठीक हो जाएगी. (I35d49)
- API 29 से पहले के कुछ Samsung डिवाइसों पर, वीडियो को रोकने और फिर से शुरू करने के बाद ऑडियो/वीडियो के सिंक न होने की समस्या ठीक की गई. (I64622, b/202798609, b/202798572)
- Sony G3125 पर वीडियो को रोकने और फिर से चलाने के बाद, ऑडियो/वीडियो के सिंक न होने की समस्या ठीक की गई. (I2a1a5, b/202799148)
- Recorder में
InvalidConfigExceptionआने पर क्रैश होने की समस्या ठीक की गई है. हालांकि, इस फ़िक्स से सिर्फ़ ऐप्लिकेशन के क्रैश होने की समस्या को रोका जा सकता है. इससेInvalidConfigExceptionकी वजह से होने वाली समस्या ठीक नहीं होती. अगरRecorderको अब भी कॉन्फ़िगर नहीं किया जा सकता, तो रिकॉर्डिंग शुरू होने पर ऐप्लिकेशन को गड़बड़ी का कॉलबैक मिलेगा. (I89c29, b/213617227)
बाहरी योगदान
- test-coroutines-lib माइग्रेट करने की वजह से, :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 में ये बदलाव शामिल हैं.
नई सुविधाएं
- CameraX 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)
- इस सुविधा की मदद से, ऐप्लिकेशन को कैमरा फिर से चालू करने की अनुमति मिलती है. ऐसा तब होता है, जब मल्टी-विंडो मोड में, ज़्यादा प्राथमिकता वाले किसी दूसरे ऐप्लिकेशन की वजह से कैमरे का इस्तेमाल रुक जाता है और फ़ोकस वापस ऐप्लिकेशन पर आ जाता है. कृपया ध्यान दें कि फ़्रेमवर्क से जुड़ी किसी समस्या की वजह से, फ़ोकस में बदलाव होने और कैमरा फिर से खुलने के बीच कुछ समय(एक से 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) - ओईएम की तय की गई प्रोफ़ाइलों के आधार पर, एन्कोडर सेटिंग चुनने के लिए अब बेहतर अनुमान लगाने वाले तरीकों का इस्तेमाल किया जाता है. (Iaeef0)
- Pixel 1 पर यूएचडी वीडियो रिकॉर्डिंग शुरू करने के बाद, फ़िक्स्ड प्रीव्यू में इंटरलेस्ड कलर लाइनें दिखेंगी. (I833c6, b/205340278)
वर्शन 1.1.0-alpha11
17 नवंबर, 2021
androidx.camera:camera-*:1.1.0-alpha11 रिलीज़ हो गया है. वर्शन 1.1.0-alpha11 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- CameraSelector#filter को सार्वजनिक एपीआई में जोड़ा गया है, ताकि CameraSelector के आधार पर CameraInfos की सूची को फ़िल्टर किया जा सके. (I105d0)
ImageAnalysis कॉन्फ़िगरेशन के लिए, setOutputImageRotationEnabled API जोड़ा गया. उपयोगकर्ता, YUV/RGB इमेज बफ़र के लिए रोटेशन की सुविधा चालू कर सकता है. रोटेशन डिग्री, इमेज को सामने रखने के लिए सेंसर रोटेशन और टारगेट रोटेशन के आधार पर कैलकुलेट किया गया एक रिलेटिव रोटेशन होता है.
ImageAnalysis कॉन्फ़िगरेशन के लिए, setOutputImageRotationEnabled API जोड़ा गया. उपयोगकर्ता, YUV/RGB इमेज बफ़र के लिए रोटेशन की सुविधा चालू कर सकता है. रोटेशन डिग्री, इमेज को सामने रखने के लिए सेंसर रोटेशन और टारगेट रोटेशन के आधार पर कैलकुलेट किया गया एक रिलेटिव रोटेशन होता है.
ImageInfo में
getSensorToBufferTransformMatrixएपीआई जोड़ें. दिखाई गई मैट्रिक्स, सेंसर के निर्देशांकों को बफ़र के निर्देशांकों पर मैप करती है. इसका मतलब है कि यहCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZEकी वैल्यू को(0, 0, image.getWidth, image.getHeight)पर मैप करती है. मैट्रिक्स का इस्तेमाल, एक {UseCase} से दूसरे {UseCase} तक के कोऑर्डिनेट को मैप करने के लिए किया जा सकता है. उदाहरण के लिए, ImageAnalysis की मदद से पहचाने गए चेहरे के कोऑर्डिनेट को Preview पर मैप करना. (I9ff1e)फ़ोटो खींचते समय, आउटपुट JPEG इमेज की कंप्रेस करने की क्वालिटी बदलने के लिए, नया API ImageCapture.Builder#setJpegQuality जोड़ा गया है. (I8dcf4)
MediaStoreOutputOptions.getCollection का नाम बदलकर MediaStoreOutputOptions.getCollectionUri कर दिया गया है. (I16639)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें कम रोशनी वाले माहौल में, फ़्लैश मोड के 'अपने-आप' या 'हमेशा चालू' पर सेट होने पर, टैप-टू-फ़ोकस (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)
गड़बड़ियां ठीक की गईं
- InitializationException को थ्रो करें, ताकि ऐप्लिकेशन, CameraCharacteristics बनाते समय हुई AssertionError को आसानी से हैंडल कर सके. (Ibec79)
वर्शन 1.1.0-alpha09
29 सितंबर, 2021
androidx.camera:camera-camera2:1.1.0-alpha09, androidx.camera:camera-core:1.1.0-alpha09, और androidx.camera:camera-lifecycle:1.1.0-alpha09 रिलीज़ किए जाते हैं. वर्शन 1.1.0-alpha09 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ExperimentalUseCaseGroup एनोटेशन को हटा दिया गया है, क्योंकि अब एपीआई एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. (I01ef5)
गड़बड़ियां ठीक की गईं
MAXIMIZE_QUALITYमोड में ली गई फ़ोटो धुंधली दिखने की समस्या को ठीक किया गया है. (I173a9, b/193823892)- Samsung Galaxy J5 में, फ़्लैश चालू/ऑटो मोड में रखकर अंधेरे में फ़ोटो लेने पर, कैमरे के अटकने की समस्या को ठीक किया गया है (I3aab9)
- जब ImageCapture के लिए इमेज को काटना ज़रूरी हो, तब सेट किए गए कैप्चर मोड के हिसाब से, तय किए गए JPEG क्वालिटी लेवल के साथ काटी गई आउटपुट इमेज को कंप्रेस करना. अगर कैप्चर मोड
CAPTURE_MODE_MINIMIZE_LATENCYहै, तो JPEG कंप्रेस करने की क्वालिटी 95 होगी. अगर कैप्चर मोडCAPTURE_MODE_MAXIMIZE_QUALITYहै, तो JPEG कंप्रेशन की क्वालिटी 100 होगी. (Ieb37c, b/142856426)
वर्शन 1.1.0-alpha08
18 अगस्त, 2021
androidx.camera:camera-camera2:1.1.0-alpha08, androidx.camera:camera-core:1.1.0-alpha08, और androidx.camera:camera-lifecycle:1.1.0-alpha08 रिलीज़ किए जाते हैं. वर्शन 1.1.0-alpha08 में ये बदलाव शामिल हैं.
नई सुविधाएं
- इमेज के विश्लेषण के कॉन्फ़िगरेशन के लिए, setOutputImageFormat API जोड़ा गया. उपयोगकर्ता, ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 या ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888 चुन सकता है. डिफ़ॉल्ट रूप से, ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 चुना जाएगा. (I7902d)
एपीआई में हुए बदलाव
- ExperimentalUseCaseGroupLifecycle एनोटेशन को हटा दिया गया है, क्योंकि अब एपीआई एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. (I17b85)
गड़बड़ियां ठीक की गईं
- Huawei P20 Lite पर, फ़िक्स्ड प्रीव्यू स्क्रीन बहुत ज़्यादा चमकदार है. यह समस्या सिर्फ़ तब होती है, जब झलक के कुछ खास रिज़ॉल्यूशन का इस्तेमाल, ज़ूम इन की बड़ी वैल्यू के साथ किया जाता है. (Idefce, b/192129158)
- हमने उस समस्या को ठीक कर दिया है जिसमें फ़्लैश मोड को FLASH_MODE_ON पर सेट करने के तुरंत बाद फ़ोटो लेने पर, कुछ डिवाइसों पर फ़्लैश काम नहीं करता था. (Ieb49b)
- उस समस्या को ठीक किया गया है जिसमें VideoCapture, ImageCapture, और Preview के बाइंड होने पर, फ़ोटो खींचते समय Preview कुछ समय के लिए रुक जाती थी. (I56197, b/193864120)
- इस विकल्प की मदद से, ImageAnalysis 1080 पिक्सल से ज़्यादा रिज़ॉल्यूशन चुन सकता है. अगर किसी डिवाइस में Preview और ImageCapture की सुविधा उपलब्ध है, तो वह ImageAnalysis के लिए RECORD साइज़ के रिज़ॉल्यूशन को सपोर्ट कर सकता है. हालांकि, इसके लिए ImageCapture के लिए चुना गया रिज़ॉल्यूशन भी RECORD साइज़ का होना चाहिए. ImageAnalysis के लिए RECORD साइज़ का रिज़ॉल्यूशन चुनने के लिए, ImageCapture और ImageAnalysis, दोनों पर RECORD साइज़ का टारगेट रिज़ॉल्यूशन सेट होना चाहिए. इससे पता चलता है कि ऐप्लिकेशन, ट्रेड-ऑफ़ को अच्छी तरह से समझता है. साथ ही, वह ImageCapture के ज़्यादा से ज़्यादा रिज़ॉल्यूशन के बजाय, ImageAnalysis के ज़्यादा रिज़ॉल्यूशन को प्राथमिकता देता है. RECORD की परिभाषाओं, ज़्यादा से ज़्यादा साइज़, और अन्य जानकारी के लिए, https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture पर जाएं. RECORD साइज़ का मतलब, कैमरे वाले डिवाइस के लिए रिकॉर्डिंग के ज़्यादा से ज़्यादा रिज़ॉल्यूशन से है. यह CamcorderProfile तय करता है. MAXIMUM साइज़ का मतलब, 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मोड सेट होने पर,YuvToJpegProcessorEOFException की समस्या ठीक की गई. (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 में API isFocusMeteringSupported जोड़ा गया है. इससे ऐप्लिकेशन यह देख सकते हैं कि मौजूदा कैमरे पर, FocusMeteringAction काम करता है या नहीं. (Ib45ae, b/188606490)
- Preview, ImageCapture, और ImageAnalysis के लिए रिज़ॉल्यूशन की जानकारी देने वाला getResolutionInfo API उपलब्ध कराया गया. (I2b613, b/188600718)
- इन एक्सपेरिमेंटल एपीआई को आधिकारिक एपीआई के तौर पर प्रमोट किया गया है: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
- कैमरों के सेट का ऐक्सेस देने के लिए, CameraProvider इंटरफ़ेस को दिखाया गया. (I1a7b1)
- 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()जोड़ा गया है. यह एपीआई, कैमरे के हिसाब से यूनीक CameraSelector दिखाता है (I77f9f)
गड़बड़ियां ठीक की गईं
- Android 11 वाले कुछ डिवाइसों पर, setZoomRatio और setLinearZoom में ListenableFuture के काम न करने की समस्या ठीक की गई है (I716d7)
- कैमरे को तेज़ी से स्विच करने की सुविधा जोड़ी गई है. साथ ही, कैमरा डिवाइस में होने वाली गड़बड़ियों की दर को कम किया गया है (I34c99)
- ExperimentalUseCaseGroupLifecycle को ExperimentalUseCaseGroup से बदल दिया गया है. (I3b2ef, b/159033688)
वर्शन 1.1.0-alpha04
21 अप्रैल, 2021
androidx.camera:camera-camera2:1.1.0-alpha04, androidx.camera:camera-core:1.1.0-alpha04, और androidx.camera:camera-lifecycle:1.1.0-alpha04 रिलीज़ किए जाते हैं. वर्शन 1.1.0-alpha04 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एक ही कलेक्शन को एक साथ ऐक्सेस करने वाले कई थ्रेड की वजह से होने वाली मेमोरी लीक की समस्या को ठीक किया गया है. मेमोरी लीक की वजह से, ऐक्टिविटी या फ़्रैगमेंट को Preview इंस्टेंस में सेव किया जा सकता है. (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 डिवाइसों पर, SDK को शुरू करने में आने वाली समस्या को ठीक किया गया (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, अन्य कैमरा क्लाइंट से कैमरा छीन ले, क्योंकि उसके ऐप्लिकेशन को ज़्यादा प्राथमिकता दी जाती है. (Iab069, b/175820568)
- CameraXConfig में setAvailableCamerasLimiter का इस्तेमाल करने पर, Robolectric टेस्ट के फ़ेल होने की समस्या ठीक की गई. (Ice307)
- इस बदलाव से, ImageAnalysis में इमेज की ज़्यादा से ज़्यादा संख्या होने पर अपवाद का पता चलता है. इसलिए, ऐसा हो सकता है कि क्रैश होने के बजाय, आपको इस्तेमाल के अन्य उदाहरणों के फ़्रीज़ होने या धीमे होने की समस्या दिखे. उदाहरण के लिए, फ़्रीज़/धीमी झलक. (Ic12da, b/175851631)
- सिर्फ़ Preview या ImageCapture के बाइंड होने पर गड़बड़ियों की सूचना देने के लिए, ExtensionsErrorListener को ठीक किया गया है. (I5ae39)
- ImageCapture की परफ़ॉर्मेंस में गिरावट की समस्या को ठीक किया गया है. इसके लिए, फ़ोटो लेने से पहले, सेव की गई इमेज की जगह की पुष्टि करने की सुविधा को हटाया गया है. यह बदलाव करने के बाद, अगर सेव करने की जगह अमान्य है, तो गड़बड़ी का जवाब मिलने में ज़्यादा समय लगेगा. ऐसा इसलिए होगा, क्योंकि फ़ोटो लेने के बाद इमेज को सेव करने की कोशिश की जाएगी. (I1fd4e, b/177061560)
- "File" टाइप OutputFileOptions के साथ, ImageCapture की परफ़ॉर्मेंस में हुई गिरावट को ठीक किया गया. (I5164a, b/177061560)
- दस्तावेज़ को अपडेट किया गया है. इसमें लाइब्रेरी कोड से
ProcessCameraProvider.configureInstance(...)का इस्तेमाल न करने का सुझाव दिया गया है. (Ib8a9f)
वर्शन 1.1.0-alpha01
27 जनवरी, 2021
androidx.camera:camera-camera2:1.1.0-alpha01, androidx.camera:camera-core:1.1.0-alpha01, और androidx.camera:camera-lifecycle:1.1.0-alpha01 रिलीज़ किए जाते हैं. वर्शन 1.1.0-alpha01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- SM-G930T के पीछे वाले कैमरे से ली गई JPEG फ़ाइलों में, इमेज का डेटा कभी-कभी खराब हो जाता है. इस समस्या को ठीक करने का तरीका शामिल किया गया है. (I52001, b/159831206)
- हमने
IllegalArgumentExceptionसमस्या को ठीक किया है. यह समस्या तब होती थी, जब झलक दिखाने के लिए काम करने वाले सभी साइज़ 640x480 से छोटे होते थे और डिसप्ले साइज़ 640x480 से बड़ा होता था. (I2a63c, b/150506192) - जिन लाइब्रेरी में सार्वजनिक संसाधनों के बारे में साफ़ तौर पर नहीं बताया गया है (जैसे, public.xml के ज़रिए), उनमें मौजूद संसाधन अब डिफ़ॉल्ट रूप से निजी होते हैं. (Ia1dcc, b/170882230)
Camera-Camera2, Camera-Core, और Camera-Lifecycle का वर्शन 1.0.2
वर्शन 1.0.2
29 सितंबर, 2021
androidx.camera:camera-camera2:1.0.2, androidx.camera:camera-core:1.0.2, और androidx.camera:camera-lifecycle:1.0.2 रिलीज़ किए जाते हैं. वर्शन 1.0.2 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
MAXIMIZE_QUALITYमोड में ली गई फ़ोटो के धुंधली होने की समस्या ठीक की गई है. (I173a9, b/193823892)- उस समस्या को ठीक किया गया है जिसकी वजह से, फ़्लैश के साथ ली गई इमेज कई डिवाइसों पर डार्क दिखती थी. (I4e510)
Camera-Camera2, Camera-Core, और Camera-Lifecycle का वर्शन 1.0.1
वर्शन 1.0.1
21 जुलाई, 2021
androidx.camera:camera-camera2:1.0.1, androidx.camera:camera-core:1.0.1, और androidx.camera:camera-lifecycle:1.0.1 रिलीज़ किए जाते हैं. वर्शन 1.0.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
उस समस्या को ठीक कर दिया गया है जिसकी वजह से,
ListenableFutureमें मिलेsetZoomRatioऔरsetLinearZoomको Android 11 वाले कुछ डिवाइसों (I716d7) पर पूरा नहीं किया जा सकता थाकुछ डिवाइसों पर, कैमरा बंद करते समय उसके अटक जाने की समस्या को ठीक किया गया है. इसकी वजह से, कैमरे की झलक काली दिखती थी. (I34c99)
Camera-Camera2, Camera-Core, और Camera-Lifecycle का वर्शन 1.0.0
वर्शन 1.0.0
5 मई, 2021
androidx.camera:camera-camera2:1.0.0, androidx.camera:camera-core:1.0.0, और androidx.camera:camera-lifecycle:1.0.0 रिलीज़ किए जाते हैं. वर्शन 1.0.0 में ये बदलाव शामिल हैं.
1.0.0 वर्शन की मुख्य सुविधाएं
- CameraX, Preview, ImageCapture, और Analysis के साथ काम करता है
- CameraX, इस्तेमाल में आसान एपीआई के ज़रिए कैमरे के लाइफ़साइकल को मैनेज करता है
- CameraX का मकसद, एक ऐसी लेयर उपलब्ध कराना है जो Android Camera Ecosystem की कई समस्याओं को ठीक करती है
मौजूदा समस्याएं
- आम समस्याओं की सूची देखें
वर्शन 1.0.0-rc05
21 अप्रैल, 2021
androidx.camera:camera-camera2:1.0.0-rc05, androidx.camera:camera-core:1.0.0-rc05, और androidx.camera:camera-lifecycle:1.0.0-rc05 रिलीज़ किए जाते हैं. वर्शन 1.0.0-rc05 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Samsung Galaxy S7 पर, फ़्लैश चालू/अपने-आप चालू होने की सुविधा के साथ ImageCapture का इस्तेमाल करने पर, धुंधली इमेज मिलती हैं. इस समस्या को ठीक कर दिया गया है. (I30001)
वर्शन 1.0.0-rc04
24 मार्च, 2021
androidx.camera:camera-camera2:1.0.0-rc04, androidx.camera:camera-core:1.0.0-rc04, और androidx.camera:camera-lifecycle:1.0.0-rc04 रिलीज़ किए जाते हैं. वर्शन 1.0.0-rc04 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- UMIDIGI BISON डिवाइसों पर, SDK को शुरू करने में आने वाली समस्या को ठीक किया गया (I57d9e, b/180818665)
वर्शन 1.0.0-rc03
24 फ़रवरी, 2021
androidx.camera:camera-camera2:1.0.0-rc03, androidx.camera:camera-core:1.0.0-rc03, और androidx.camera:camera-lifecycle:1.0.0-rc03 रिलीज़ किए जाते हैं. वर्शन 1.0.0-rc03 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ProcessCameraProvider#getInstanceके दस्तावेज़ में फ़ॉर्मैट से जुड़ी गड़बड़ी ठीक करना- CameraXConfig में setAvailableCamerasLimiter का इस्तेमाल करने पर, Robolectric टेस्ट के फ़ेल होने की समस्या ठीक की गई.
- ImageCapture की परफ़ॉर्मेंस में गिरावट की समस्या को ठीक किया गया है. इसके लिए, फ़ोटो लेने से पहले, सेव की गई इमेज की जगह की पुष्टि करने की सुविधा को हटाया गया है. यह बदलाव करने के बाद, अगर सेव करने की जगह अमान्य है, तो गड़बड़ी का जवाब मिलने में ज़्यादा समय लगेगा. ऐसा इसलिए, क्योंकि फ़ोटो लेने के बाद इमेज को सेव करने की कोशिश की जाएगी
- इस बदलाव से, ImageAnalysis में इमेज की ज़्यादा से ज़्यादा संख्या होने पर अपवाद का पता चलता है. इसलिए, क्रैश होने के बजाय, आपको इस्तेमाल के अन्य उदाहरणों के फ़्रीज़ होने या धीमे होने की समस्या दिख सकती है. उदाहरण के लिए, फ़्रीज़/धीमी प्रीव्यू.
- SM-G930T के पीछे वाले कैमरे से ली गई JPEG फ़ाइलों में, इमेज का डेटा कभी-कभी खराब हो जाता है. इस समस्या को ठीक करने का तरीका शामिल किया गया है. (I52001, b/159831206)
- इस बदलाव से, ImageAnalysis में इमेज की ज़्यादा से ज़्यादा संख्या होने पर अपवाद का पता चलता है. इसलिए, ऐसा हो सकता है कि क्रैश होने के बजाय, आपको इस्तेमाल के अन्य उदाहरणों के फ़्रीज़ होने या धीमे होने की समस्या दिखे. उदाहरण के लिए, फ़्रीज़/धीमी झलक. (Ic12da, b/175851631)
- CameraXConfig में setAvailableCamerasLimiter का इस्तेमाल करने पर, Robolectric टेस्ट के फ़ेल होने की समस्या ठीक की गई. (Ice307)
- ImageCapture की परफ़ॉर्मेंस में गिरावट की समस्या को ठीक किया गया है. इसके लिए, फ़ोटो लेने से पहले, सेव की गई इमेज की जगह की पुष्टि करने की सुविधा को हटाया गया है. यह बदलाव करने के बाद, अगर सेव करने की जगह अमान्य है, तो गड़बड़ी का जवाब मिलने में ज़्यादा समय लगेगा. ऐसा इसलिए होगा, क्योंकि फ़ोटो लेने के बाद इमेज को सेव करने की कोशिश की जाएगी. (I1fd4e, b/177061560)
- "File" टाइप OutputFileOptions के साथ, ImageCapture की परफ़ॉर्मेंस में हुई गिरावट को ठीक किया गया. (I5164a, b/177061560)
वर्शन 1.0.0-rc02
27 जनवरी, 2021
androidx.camera:camera-camera2:1.0.0-rc02, androidx.camera:camera-core:1.0.0-rc02, और androidx.camera:camera-lifecycle:1.0.0-rc02 रिलीज़ किए जाते हैं. वर्शन 1.0.0-rc02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- IllegalArgumentException की समस्या को ठीक किया गया है. यह समस्या तब होती थी, जब झलक दिखाने के लिए काम करने वाले सभी साइज़ 640x480 से छोटे होते थे और डिसप्ले का साइज़ 640x480 से बड़ा होता था. (b/150506192)
कैमरे को फिर से खोलने की कोशिशों की संख्या सीमित करें. कैमरा खोलने के दौरान कुछ समस्याओं को ठीक करने की कोशिश करते समय, CameraX अब कैमरे को बार-बार खोलने की कोशिश नहीं करेगा. इसके बजाय, वह 10 सेकंड तक फिर से कोशिश करने के बाद बंद हो जाएगा.I435d2
हमने
IllegalArgumentExceptionसमस्या को ठीक किया है. यह समस्या तब होती थी, जब झलक दिखाने के लिए काम करने वाले सभी साइज़ 640x480 से छोटे होते थे और डिसप्ले साइज़ 640x480 से बड़ा होता था. (I2a63c, b/150506192)
वर्शन 1.0.0-rc01
16 दिसंबर, 2020
androidx.camera:camera-camera2:1.0.0-rc01, androidx.camera:camera-core:1.0.0-rc01, और androidx.camera:camera-lifecycle:1.0.0-rc01 रिलीज़ किए जाते हैं. वर्शन 1.0.0-rc01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- CameraFilter और Camera2Filter को CameraInfo में बदल दिया गया है. (I6883d)
- Camera2CameraControl की एक्सपेरिमेंटल क्लास जोड़ी गई है, ताकि Camera2 एपीआई के साथ डाइनैमिक तरीके से इंटरऑपरेट किया जा सके. (I45cf3)
- Camera2CameraInfo#fromCameraInfo का नाम बदलकर #from कर दिया गया है. (Ia2bd6)
- CameraXConfig में, एक्सपेरिमेंट के तौर पर उपलब्ध setAvailableCamerasLimiter API जोड़ा गया है. इससे ऐप्लिकेशन, इस्तेमाल न किए गए कैमरों को शुरू करने से बच सकते हैं. साथ ही, शुरू होने में लगने वाले समय को ऑप्टिमाइज़ कर सकते हैं. (I6cf88)
- हमने एक्सपेरिमेंट के तौर पर
CameraXConfig.Builder#setMinimumLoggingLevel()तरीका जोड़ा है. इससे CameraX लॉग के लिए, लॉगिंग का कम से कम लेवल सेट किया जा सकेगा. अगर इसे सेट नहीं किया जाता है, तो डिफ़ॉल्ट रूप सेLog#DEBUGलागू हो जाता है. (Ic3245)
गड़बड़ियां ठीक की गईं
- SM-G930V के पीछे वाले कैमरे से ली गई JPEG फ़ाइलों में, इमेज का डेटा कभी-कभी खराब हो जाता है. इस समस्या को ठीक करने का तरीका शामिल किया गया है. (I5aca5, b/159831206)
- Samsung SM-A716 डिवाइसों पर, फ़्लैश हमेशा चालू होने पर और अंधेरा होने पर, फ़ोटो खींचने से जुड़े नतीजे नहीं मिलते थे. इस समस्या को ठीक कर दिया गया है. (If98b2, b/172036589)
Preview.setSurfaceProvider(null)पर कॉल करके, झलक को रोकने की सुविधा काम नहीं कर रही थी. इस समस्या को ठीक कर दिया गया है. (I3ac18)- कुछ डिवाइसों पर 4:3 इमेज कैप्चर करते समय, ओरिएंटेशन से जुड़ी समस्या को ठीक किया गया है. (I0e3fb, b/171492111)
Camera Camera2, Core, & Lifecycle वर्शन 1.0.0-beta12
11 नवंबर, 2020
androidx.camera:camera-camera2:1.0.0-beta12, androidx.camera:camera-core:1.0.0-beta12, और androidx.camera:camera-lifecycle:1.0.0-beta12 रिलीज़ किए जाते हैं. वर्शन 1.0.0-beta12 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Samsung A3 डिवाइसों पर, ऑटो फ़्लैश की सुविधा बंद कर दी गई है. इससे, Samsung A3 डिवाइसों पर ऑटो फ़्लैश एई मोड में फ़ोटो लेते समय ऐप्लिकेशन के क्रैश होने की समस्या ठीक हो जाएगी. (Ia5fe3, b/157535165)
- उस समस्या को ठीक किया गया है जिसमें Android L (एपीआई लेवल 21 और 22) पर चलने वाले Nexus 4 डिवाइसों पर झलक स्ट्रेच हो जाती थी. (I4d407, b/158749159)
OnImageCapturedCallback#onCaptureSuccessबेस क्लास लागू करने पर, अब इमेज बंद नहीं होती. इससे डेवलपर को अनचाहे व्यवहार से बचाने में मदद मिलती है. डेवलपर को इमेज बंद करने के लिए, super.onCaptureSuccess पर भरोसा नहीं करना चाहिए. (Ifbf9c)- Kotlin के साथ समानता बनाए रखने के लिए, Experimental एनोटेशन के androidx वैरिएंट को बंद कर दिया गया है. इसकी जगह, RequiresOptIn एनोटेशन का इस्तेमाल किया जा रहा है. साथ ही, Java-facing linter को अपडेट किया गया है, ताकि वह 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 या उसके बाद के वर्शन वाले डिवाइसों पर ज़ूम करने के लिए, Android 11
CONTROL_ZOOM_RATIOAPI के साथ काम करता है. इन डिवाइसों में मान्यCONTROL_ZOOM_RATIO_RANGEहोना चाहिए. (I62cc6)
गड़बड़ियां ठीक की गईं
- कैमरा आईडी के पूर्णांक न होने पर, NumberFormatException की समस्या को ठीक किया गया है. (Ib2228)
- CameraX को शुरू करने और bindToLifecycle के इंतज़ार के समय को कम किया गया है (I61dc5)
- UseCase बनाने के लिए, CameraX को शुरू करने की ज़रूरत नहीं होती. लागू करने से जुड़े सभी कॉन्फ़िगरेशन, Camera इंस्टेंस से अटैच होने के बाद UseCase पर सेट किए जाते हैं. सार्वजनिक एपीआई के लिए, यह
ProcessCameraProvider.bindToLifecycle()है. (Ia5411) - अगर Camera इंस्टेंस से अटैच होने से पहले इस फ़ंक्शन को कॉल किया जाता है, तो
<UseCase>.getTargetRotation()Surface.ROTATION_0दिखाएगा. हालांकि, अगर Builder या UseCase पर targetRotation सेट किया गया है, तो ऐसा नहीं होगा. (I80fcd)
Camera-Core का वर्शन 1.0.0-beta11
14 अक्टूबर, 2020
androidx.camera:camera-core:1.0.0-beta11 रिलीज़ हो गया है. वर्शन 1.0.0-beta11 में ये बदलाव शामिल हैं.
नई सुविधाएं
- Android 11 या इसके बाद के वर्शन वाले डिवाइसों पर ज़ूम करने के लिए, Android 11 CONTROL_ZOOM_RATIO एपीआई के साथ काम करता है. इन डिवाइसों में मान्य CONTROL_ZOOM_RATIO_RANGE होना चाहिए. (I62cc6)
गड़बड़ियां ठीक की गईं
- कैमरा आईडी के पूर्णांक न होने पर, NumberFormatException की समस्या को ठीक किया गया है. (Ib2228)
- UseCase बनाने के लिए, CameraX को शुरू करने की ज़रूरत नहीं होती. लागू करने से जुड़े सभी कॉन्फ़िगरेशन, Camera इंस्टेंस से अटैच होने के बाद UseCase पर सेट किए जाते हैं. सार्वजनिक एपीआई के लिए, यह
ProcessCameraProvider.bindToLifecycle()है. (Ia5411) - अगर Camera इंस्टेंस से अटैच होने से पहले इस फ़ंक्शन को कॉल किया जाता है, तो
<UseCase>.getTargetRotation()Surface.ROTATION_0दिखाएगा. हालांकि, अगर Builder या UseCase पर targetRotation सेट किया गया है, तो ऐसा नहीं होगा. (I80fcd)
Camera-Core का वर्शन 1.0.0-beta10
23 सितंबर, 2020
androidx.camera:camera-core:1.0.0-beta10 रिलीज़ हो गया है. वर्शन 1.0.0-beta10 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- इमेज कैप्चर करने के लिए, फ़ाइल सेव करने की जगह की पुष्टि करने से जुड़ी गड़बड़ी को ठीक किया गया (I8c565, b/167697553)
Camera-Camera2 वर्शन 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 को CameraInfo इंस्टेंस मिलता है. इससे Camera2 से जुड़ी जानकारी को वापस पाया जा सकता है. (I5b844)
गड़बड़ियां ठीक की गईं
- टैबलेट डिवाइसों पर, टारगेट आसपेक्ट रेशियो से जुड़ी समस्या ठीक की गई. अगर टारगेट आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात)
AspectRatio.RATIO_16_9के तौर पर सेट किया गया है, तो 16:9 का साइज़ चुना जाना चाहिए. (Ib7fcf, b/151969438) InitializationExceptionको थ्रो करें, ताकि ऐप्लिकेशन CameraCharacteristics बनाते समय हुई AssertionError को आसानी से हैंडल कर सके. (I89c8c, b/160524721)- ExposureCompensation के लिए एक्सपेरिमेंटल इंटरफ़ेस जोड़े गए (If96c7)
Camera-Core का वर्शन 1.0.0-beta09
16 सितंबर, 2020
androidx.camera:camera-core:1.0.0-beta09 रिलीज़ हो गया है. वर्शन 1.0.0-beta09 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- उस गड़बड़ी को ठीक किया गया है जिसमें UseCaseGroup पर व्यूपोर्ट को गैर-शून्य के तौर पर मार्क किया गया था. डेवलपर को व्यूपोर्ट सेट किए बिना व्यूपोर्ट बनाने की सुविधा मिलनी चाहिए. (Ie3d2e)
ExposureCompensationके लिए एक्सपेरिमेंट वाले इंटरफ़ेस जोड़े गए (If96c7)- झलक देखने के लिए, टारगेट रोटेशन की अनुमति दें. डेटा में बदलाव करने से जुड़ी जानकारी का हिसाब लगाया जाता है. इसके बाद, इसे उपयोगकर्ता को तुरंत भेज दिया जाता है. इसके लिए, नए
TranformationInfoListenerकॉलबैक का इस्तेमाल किया जाता है. (I21470)
गड़बड़ियां ठीक की गईं
- कुछ डिवाइसों पर फ़्लैश बंद न होने की समस्या को ठीक किया गया है. ऐसा तब होता है, जब फ़ोटो लेने के लिए फ़्लैश मोड को
FLASH_MODE_ONपर सेट किया जाता है और फ़्लैश चालू होने पर इसेFLASH_MODE_OFFपर बदल दिया जाता है. यह समस्या, टॉर्च मोड चालू होने जैसी है. (Ib4451, b/162568128) - अगर एक्सटेंशन इफ़ेक्ट चालू है और वेंडर लाइब्रेरी को आउटपुट सर्फ़ेस पर कोई खास प्रोसेस करनी है, तो PreviewView को TextureView का इस्तेमाल करने के लिए मजबूर किया जाता है. (I0c3cc)
ProcessCameraProvider.getInstance(Context)को गतिविधि/फ़्रैगमेंट का कॉन्टेक्स्ट पास किए जाने पर, गतिविधि/फ़्रैगमेंट लीक होने की समस्या ठीक की गई.
मौजूदा समस्याएं
- ViewPort सेट होने पर, HAL में इमेज बफ़र को घुमाने वाले डिवाइसों पर, ImageCapture का क्रॉप रेक्ट गलत हो सकता है. इस समस्या को अगले वर्शन में ठीक कर दिया जाएगा.
Camera-Camera2 Version 1.0.0-beta08
19 अगस्त, 2020
androidx.camera:camera-camera2:1.0.0-beta08 रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- bindToLifecycle को ऑप्टिमाइज़ किया गया है, ताकि यह मुख्य थ्रेड पर तेज़ी से चल सके. (I1d57e)
- DisplayOrientedMeteringPointFactory, CameraSelector के बजाय CameraInfo इंस्टेंस लेता है. इसलिए, यह सीधे तौर पर मैप करता है कि फ़ैक्ट्री किस कैमरे के लिए पॉइंट जनरेट करेगी. DisplayOrientedMeteringPointFactory का इस्तेमाल करने वाली सभी क्लास, CameraSelector के बजाय CameraInfo इंस्टेंस का इस्तेमाल करती हैं. (I400c1)
- अपने-आप तय होने वाले रिज़ॉल्यूशन के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के साइज़ ग्रुपिंग से जुड़ी समस्या को ठीक किया गया है. इस समस्या में, टारगेट रिज़ॉल्यूशन की सेटिंग 2016x1080 होने पर, 16:9 mod16 साइज़ (864x480) चुना जाता था. साथ ही, 1920x1080 16:9 साइज़ भी उपलब्ध होता था. (I53167, b/159363774)
- CameraControl से जुड़ी समस्या को ठीक किया गया है. इस समस्या में, रेस कंडीशन की वजह से CameraControl काम नहीं कर पाता था (I2279f, b/152333890, b/160714166)
Camera-Core का वर्शन 1.0.0-beta08
19 अगस्त, 2020
androidx.camera:camera-core:1.0.0-beta08 रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
DisplayOrientedMeteringPointFactory,CameraSelectorके बजायCameraInfoका इंस्टेंस लेता है. इसलिए, यह सीधे तौर पर मैप करता है कि फ़ैक्ट्री किस कैमरे के लिए पॉइंट जनरेट करेगी.DisplayOrientedMeteringPointFactoryका इस्तेमाल करने वाली सभी क्लास,CameraSelectorके बजायCameraInfoइंस्टेंस का इस्तेमाल करती हैं. (I400c1)
गड़बड़ियां ठीक की गईं
- इमेज कैप्चर करने के लिए, कैमरे की दिशा के आधार पर मेटाडेटा में फ़्लिप हॉरिज़ॉन्टल फ़्लैग को बदलता है. (I28499)
Context.getApplicationContext()से Application ऑब्जेक्ट को वापस नहीं भेजने वाले Context का इस्तेमाल करने पर, अब इनिशियलाइज़ेशन क्रैश नहीं होना चाहिए. (I3d3c9, b/160817073)
Camera-Camera2 वर्शन 1.0.0-beta07
22 जुलाई, 2020
androidx.camera:camera-camera2:1.0.0-beta07 रिलीज़ हो गया है. वर्शन 1.0.0-beta07 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Android 5.0 वाले लेगसी डिवाइस पर, झलक के स्ट्रेच होने की समस्या को ठीक किया गया है. (I0c03a)
- JPEG फ़ॉर्मैट में काम करने वाले कुछ ऐसे साइज़ हटाए गए हैं जिनकी वजह से, कुछ डिवाइसों पर WYSIWYG की समस्या आ सकती है. (Ib5128)
Camera-Core का वर्शन 1.0.0-beta07
22 जुलाई, 2020
androidx.camera:camera-core:1.0.0-beta07 रिलीज़ हो गया है. वर्शन 1.0.0-beta07 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
FIT_CENTER,FIT_START, औरFIT_ENDके फ़िट स्टाइल कोFITके साथ मर्ज करें.FITका मतलब है कि लौटाया गया क्रॉप रेक्ट, सेंसर रेक्ट के बराबर होगा. (Ia73c3)- झलक की क्रॉप आयत को व्यूपोर्ट के हिसाब से कॉन्फ़िगर किया जाता है. असली उपयोगकर्ताओं को सिर्फ़ क्रॉप किए गए हिस्से का आयत दिखना चाहिए. (I142a4)
गड़बड़ियां ठीक की गईं
- Android 5.0 वाले लेगसी डिवाइस पर, झलक के स्ट्रेच होने की समस्या को ठीक किया गया है. (I0c03a)
- इस्तेमाल के उदाहरणों को अनबाइंड करते समय,
ConcurrentModificationExceptionअपवाद से जुड़ी समस्या ठीक की गई. (I371c0)
Camera-Camera2 वर्शन 1.0.0-beta06
24 जून, 2020
androidx.camera:camera-camera2:1.0.0-beta06 रिलीज़ हो गया है. वर्शन 1.0.0-beta06 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- कैमरा आईडी और CameraCharacteristics के हिसाब से कैमरों को फ़िल्टर करने के लिए, एक्सपेरिमेंटल इंटरफ़ेस जोड़े गए. (I28f61)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसकी वजह से Samsung Galaxy S7 पर startFocusAndMetering फ़ंक्शन, फ़ोकस करने में समस्या आ रही थी. (If3be7, b/159039233)
- ऐप्लिकेशन बंद करने के बाद, कैमरे को बंद न कर पाने की समस्या ठीक की गई. (I7a7b3)
- कैमरा स्विच करने पर, PreviewView के SurfaceView को लागू करने के दौरान झलक दिखाने की सुविधा काम नहीं करती. इस समस्या को ठीक किया गया है (I920ce)
- अगर तय किए गए किसी भी MeteringPoint से, मान्य मीटरिंग रेक्टैंगल जनरेट नहीं किए जा सकते, तो
CameraControl#startFocusAndMeteringकाम नहीं करेगा. (Id53ce)
Camera-Core का वर्शन 1.0.0-beta06
24 जून, 2020
androidx.camera:camera-core:1.0.0-beta06 रिलीज़ हो गया है. वर्शन 1.0.0-beta06 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- कैमरा आईडी और CameraCharacteristics के हिसाब से कैमरों को फ़िल्टर करने के लिए, एक्सपेरिमेंटल इंटरफ़ेस जोड़े गए. (I28f61)
गड़बड़ियां ठीक की गईं
- CameraX को अब
ProcessCameraProvider#configureInstance()के साथ कॉन्फ़िगर किया जा सकता है. इसके बाद,ProcessCameraProvider#getInstance()को कॉल किया जा सकता है. इससेCameraXConfigको पसंद के मुताबिक बनाया जा सकता है. इसके लिए, ऐप्लिकेशन की Application क्लास मेंCameraXConfig.Providerको लागू करने की ज़रूरत नहीं होती. (Ia1a8d) - अगर तय किए गए किसी भी MeteringPoint से, मान्य मीटरिंग रेक्टैंगल जनरेट नहीं किए जा सकते, तो
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) - उन डिवाइसों पर
startFocusAndMeteringको कॉल करते समय क्रैश होने की समस्या ठीक की गई है जहांCONTROL_AF_STATEशून्य है. (Ife55e, b/157084254)
Camera-Core का वर्शन 1.0.0-beta05
10 जून, 2020
androidx.camera:camera-core:1.0.0-beta05 रिलीज़ हो गया है. वर्शन 1.0.0-beta05 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- फ़ोन के 'परेशान न करें' मोड में होने पर, CameraX को शुरू करते समय ऐप्लिकेशन के क्रैश होने की समस्या ठीक की गई. ऐप्लिकेशन क्रैश होने के बजाय,
InitializationExceptionमें मौजूदCameraUnavailableExceptionको, शुरू होने के नतीजे केListenableFutureपर सेट किया जाएगा. (I9909a, b/149413835)
गड़बड़ियां ठीक की गईं
setTargetResolutionऔरsetTargetRotationके अपडेट किए गए javadocs. (Iae16f)
Camera-Camera2 वर्शन 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 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- इसमें एक एक्सपेरिमेंटल एपीआई,
CameraXConfig.Builder#setSchedulerHandler()जोड़ा गया है. इसका इस्तेमाल, CameraX कैमरा स्टैक में इंटरनल तौर पर इस्तेमाल किए जाने वाले हैंडलर को सेट करने के लिए किया जाता है. इस नए एपीआई औरCameraXConfig.Builder#setCameraExecutor()की मदद से, CameraX कैमरा स्टैक के इस्तेमाल किए जा रहे थ्रेड पर पूरा कंट्रोल रखा जा सकता है. (I7bf32, b/121160431)
गड़बड़ियां ठीक की गईं
ImageAnalysisमें क्रैश होने की समस्या को ठीक किया गया है. इस समस्या में,ImageReaderProxyबंद होने के बादImageProxyको ऐक्सेस किया जाता है. इससे यह भी पक्का होता है किAnalyzerको मिले सभीImageProxyबंद होने चाहिए, ताकिImageReaderProxyबंद हो सके. (I4b299, b/145956416, b/154155377, b/156357269)CameraInfoपैरामीटर कोPreviewView#createSurfaceProvider()से हटा दिया गया है. अबPreviewViewइसेSurfaceRequestसे अंदरूनी तौर पर वापस पाता है. (If18f0, b/154652477)- स्यूडो-लोकल का इस्तेमाल करने वाले डिवाइस पर किसी ऐप्लिकेशन का इस्तेमाल करते समय, अपने-आप शुरू होने की समस्या ठीक कर दी गई है. (I3bef3, b/154767663)
- उस समस्या को ठीक किया गया है जिसमें फ़्लैश चालू होने के बावजूद, कभी-कभी इमेज बहुत डार्क हो जाती थी. (I5d9fa, b/149729613)
ImageAnalysisसे जुड़ी समस्या को ठीक किया गया है. इस समस्या में, setAnalyzer/clearAnalyzer को कई बार कॉल करने पर, ऐनललाइज़र को विश्लेषण के लिए इमेज नहीं मिलती थीं. (I6169f, b/151605317, b/153514544)- उस गड़बड़ी को ठीक किया गया है जिसमें
ImageCaptureसेImageProxyमें बफ़र को रीवाइंड नहीं किया गया था (I0c455, b/153249512) - उस समस्या को ठीक किया गया है जिसकी वजह से,
CameraManagerसे चुनी गई सूची में मौजूद पहला कैमरा हमेशा इस्तेमाल के लिए नहीं चुना जाता था. (I4c624, b/153418028) Preview.SurfaceProviderसेटिंग की वजह से, कभी-कभी ऐप्लिकेशन क्रैश होने की समस्या को ठीक किया गया है. ऐसा इसलिए होता था, क्योंकि यह सेटिंग पहले अनुरोध किए गए डिसप्ले को रिलीज़ नहीं करती थी.“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को एक से ज़्यादा बार कॉल करने के बाद, झलक दिखाने वाली जगह बदलने परPreviewके कैप्चर सेशन को अपडेट नहीं किया जा रहा था.Preview.setSurfaceProvider()
Camera-Camera2 वर्शन 1.0.0-beta01
26 फ़रवरी, 2020
androidx.camera:camera-camera2:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
SurfaceRequest.setSurface(Surface)का नाम बदलकरSurfaceRequest.provideSurface(Surface)औरSurfaceRequest.setWillNotComplete()का नाम बदलकरSurfaceRequest.willNotProvideSurface()किया गया. (I224fe)ImageCapture.setTargetRotation()का इस्तेमाल करके, टारगेट रोटेशन वैल्यू बदलने के बाद, सेव की गई इमेज के आसपेक्ट रेशियो के सही न होने की समस्या को ठीक किया गया है. (I474ea, b/148763432)- ProGuard चालू होने पर, ऐप्लिकेशन के वैरिएंट के इनिशियलाइज़ेशन की समस्या ठीक की गई. साथ ही,
CameraXConfigसेवा देने वाली डिफ़ॉल्ट कंपनी को सेट करने वाले फ़्लैग को सुरक्षित रखा गया. (I2d6c1)
Camera-Core का वर्शन 1.0.0-beta01
26 फ़रवरी, 2020
androidx.camera:camera-core:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
SurfaceRequest.provideSurface()पर मौजूदListenableFutureकोExecutorऔरCallbackसे बदला गया. इससे एपीआई इस्तेमाल करना आसान हो जाता है, क्योंकि अबprovideSurface()पर अपवादों को हैंडल करने की ज़रूरत नहीं होती. साथ ही, यह भी पक्का किया जाता है किprovideSurface()कॉलबैक को रद्द नहीं किया जा सकता. ऐसा इसलिए किया गया है, ताकि पुराने डिवाइसों पर क्रैश होने की समस्या न हो. यह समस्या, समय से पहले सर्फ़ेस रिलीज़ करने की वजह से होती है.SurfaceRequest.Resultऑब्जेक्ट का इस्तेमाल अब यह ट्रैक करने के लिए किया जाता है किSurfaceRequest, दिए गएSurfaceका इस्तेमाल कैसे करता है. (I7854b)SurfaceRequest.setSurface(Surface)का नाम बदलकरSurfaceRequest.provideSurface(Surface)औरSurfaceRequest.setWillNotComplete()का नाम बदलकरSurfaceRequest.willNotProvideSurface()किया गया. (I224fe)
गड़बड़ियां ठीक की गईं
ImageCapture.setTargetRotation()का इस्तेमाल करके, टारगेट रोटेशन वैल्यू बदलने के बाद, सेव की गई इमेज के आसपेक्ट रेशियो के सही न होने की समस्या को ठीक किया गया है. (I474ea, b/148763432)- ProGuard चालू होने पर, ऐप्लिकेशन के वैरिएंट के इनिशियलाइज़ेशन की समस्या ठीक की गई. साथ ही,
CameraXConfigसेवा देने वाली डिफ़ॉल्ट कंपनी को सेट करने वाले फ़्लैग को सुरक्षित रखा गया. (I2d6c1) - फ़्लैश मोड वाले एपीआई के दस्तावेज़ अपडेट किए गए हैं, ताकि इसमें संभावित वैल्यू शामिल की जा सकें. (I4a3ec)
Camera-Camera2 Version 1.0.0-alpha10
10 फ़रवरी, 2020
androidx.camera:camera-camera2:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACYडिवाइसों पर बेहतर स्थिरता के लिए, यह पक्का किया गया है किSurfaces को सिर्फ़ Camera2 के इस्तेमाल के दौरान सेव किया जाए. (I9dac2)- LEGACY डिवाइसों पर, कम रोशनी वाली झलक की समस्या को ठीक किया गया. इसके लिए,
CONTROL_AE_TARGET_FPS_RANGEको सही तरीके से अडजस्ट किया गया. (1224638)
Camera-Core वर्शन 1.0.0-alpha10
10 फ़रवरी, 2020
androidx.camera:camera-core:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ImageCaptureको अपडेट किया गया है, ताकि इमेज कोUriऔरOutputStreamमें सेव किया जा सके.takePictureके ज़्यादा इस्तेमाल किए गए तरीकों को एक में मिला दिया गया है.Uriको कैननिकल उदाहरण के तौर पर इस्तेमाल करने के लिए, टेस्ट ऐप्लिकेशन को अपडेट किया गया. (Ia3bec)Preview.PreviewSurfaceProviderका नाम बदलकरPreview.SurfaceProviderकर दिया गया है.SurfaceProviderके लिए, अब डेवलपर को अपनाListenableFutureबनाने की ज़रूरत नहीं है. साथ ही,Surfaceदेने का काम अब नएSurfaceRequestऑब्जेक्ट के ज़रिए किया जाता है.Preview.getPreviewSurfaceProvider()तरीके को हटा दिया गया है. ऐसा इसलिए किया गया है, क्योंकिPreviewकोPreviewViewजैसी अन्य क्लास के साथ जोड़ने पर, इसका गलत इस्तेमाल किया जा सकता है. (I20105)getTargetRotation()औरgetTargetName()कोPreviewमें जोड़ा गया. (Iceee7)getTargetRotation(),getBackpressureStrategy(), औरgetImageQueueDepth()कोImageAnalysisमें जोड़ा गया. (I9d6d9)ImageCapture()(I5bc17) मेंgetTargetRotation()औरgetCaptureMode()को जोड़ा गयाImageCapture.OnImageSavedCallback.onError()औरImageCapture.OnImageCapturedCallback.onError()में पहले पास किए गए आर्ग्युमेंट को अब एक ही आर्ग्युमेंटImageCaptureExceptionसे बदल दिया गया है. इसमें अब भी वह सारी जानकारी शामिल है जो पहले पास की गई थी.ImageCapture.OnImageSavedCallback.onImageSaved()में पहले पास किए गए फ़ाइल आर्ग्युमेंट को हटा दिया गया है. (I750d2)PreviewऔरImageCaptureक्लास को अब फ़ाइनल के तौर पर मार्क कर दिया गया है. (I2500b)- एपीआई को अपडेट कर दिया गया है. इसमें
CameraInfoकेgetZoomRatio(),getMaxZoomRatio(),getMinZoomRatio(), औरgetLinearZoom()तरीकों कोgetZoomState()में मर्ज कर दिया गया है. इससेZoomStateइंस्टेंस मिलता है. (Ib19fe) CameraXConfigसेOPTION_TARGET_CLASSऔरOPTION_TARGET_NAMEएपीआई फ़ील्ड हटा दिए गए हैं, क्योंकि इनका इस्तेमाल सिर्फ़ इंटरनल लाइब्रेरी के लिए किया जाता है.CameraXConfig.Builderके लिए कंस्ट्रक्टर हटाया गया. (I96912)- ऐप्लिकेशन के लिए, CameraX को शुरू करने के लिए
Applicationको बढ़ाना ज़रूरी नहीं है. जब तकcamera-camera2आर्टफ़ैक्ट को ऐप्लिकेशन केbuild.gradleमें शामिल किया जाता है, तब तक CameraX को डिफ़ॉल्ट Camera2 कॉन्फ़िगरेशन के साथ शुरू किया जाएगा. (I58ff5) (b/146923574)
Camera-Camera2 Version 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क्लास के लिएExperimentalCamera2InteropmarkerClass ज़रूरी है.
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पैरामीटर लेता है और मौजूदा डिसप्ले में पास होता है.- फ़ोकस और मीटरिंग एपीआई के लिए Javadoc में सुधार किए गए हैं. ये सुधार
MeteringModeऔर 3A फ़्लैग के साथ-साथDisplayपैरामीटर के इस्तेमाल से जुड़े हैं. setZoomRatioऔरsetLinearZoomके लिए, रेफ़रंस दस्तावेज़ को बड़ा किया गया है.
गड़बड़ियां ठीक की गईं
- कैमरों को बंद करने और फिर खोलने पर आने वाली समस्याओं को ठीक किया गया है. इन समस्याओं की वजह से, "ज़रूरी शर्तें" की जाँच पूरी नहीं हो पाती थी.
- टॉर्च और ज़ूम एपीआई का इस्तेमाल करते समय होने वाली
ConcurrentModificationExceptionको ठीक किया गया. - अब mod16 डाइमेंशन का साइज़ उपलब्ध होने पर, अनुरोध किए गए रिज़ॉल्यूशन के आस-पास के रिज़ॉल्यूशन चुने जा सकते हैं. इस समस्या को ठीक कर दिया गया है.
startFocusMeteringऔरcancelFocusMeteringएपीआई अब दस्तावेज़ में बताए गए तरीके से काम करते हैं. ये सही समय पर काम करते हैं और गड़बड़ी होने पर, उसकी जानकारी देते हैं.- उस समस्या को ठीक किया गया है जिसमें किसी ऐसे डिवाइस पर क्रॉप किए गए पहलू के अनुपात के साथ किसी खास टारगेट रिज़ॉल्यूशन का अनुरोध किया गया था जो इस तरह के साइज़ के साथ काम नहीं करता है. अब, जब भी उपलब्ध होगा, तब ओरिजनल अनुरोध को पूरा करने के लिए, बिना काटे गए और सही रिज़ॉल्यूशन वाले साइज़ को चुना जाएगा.
Camera-Camera2 वर्शन 1.0.0-alpha08
18 दिसंबर, 2019
androidx.camera:camera-camera2:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.
मौजूदा समस्याएं
- Camera2 इंटरऑप का इस्तेमाल करते समय, Camera2 के सभी कैप्चर अनुरोध विकल्प काम नहीं करते. अगर अनुरोध किया गया विकल्प मौजूद नहीं है, तो सेशन शुरू नहीं हो पाएगा. साथ ही, इस तरह की गड़बड़ी हो सकती है:
09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination
गड़बड़ियां ठीक की गईं
- एपीआई लेवल 21 और 22 के लिए, कैमरे को घुमाने या स्विच करने के बाद, झलक वाली ब्लैक स्क्रीन दिखने की समस्या को ठीक किया गया है.
एपीआई में हुए बदलाव
- एक्सपेरिमेंट के तौर पर उपलब्ध: कैमरा आईडी निकालने के लिए, camera2 इंटरऑप पाथ जोड़ा गया.
Camera-Core का वर्शन 1.0.0-alpha08
18 दिसंबर, 2019
androidx.camera:camera-core:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.
मौजूदा समस्याएं
PreviewViewयाCameraViewका इस्तेमाल करने वाले ऐप्लिकेशन में, आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) की झलक गलत दिख सकती है. ऐसा कुछ FULL डिवाइसों पर, वीडियो को रोकने या फिर से शुरू करने के बाद होता है. जैसे, Pixel 2.
गड़बड़ियां ठीक की गईं
FocusMeteringActionऔरCameraControlके लिए दस्तावेज़ अपडेट किए गए.enableTorch()औरgetTorchState()के लिएTorchControlलागू किया गया है.
एपीआई में हुए बदलाव
- IntDefs को छिपाया गया और IntDef कॉन्स्टेंट को IntDef की परिभाषा से बाहर ले जाया गया.
rotationDegreesको क्लासOnImageCaptureCallbackसेImageInfoमें ले जाया गया.rotationDegreesको क्लासAnalyzerसेImageInfoमें ले जाया गया.
Camera-Camera2 वर्शन 1.0.0-alpha07
4 दिसंबर, 2019
androidx.camera:camera-camera2:1.0.0-alpha07 रिलीज़ हो गया है. camera-camera2 के वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं
Camera2Configअब CameraX के लिए, Camera2 पर आधारित सुविधा को शुरू करने और कॉन्फ़िगर करने के लिए उपलब्ध है. इसे शुरू करने के तरीके के बारे में ज़्यादा जानकारी, रिलीज़ नोट के camera-core सेक्शन में दी गई है.- camera2 इंटरऑप फ़ंक्शन को अब एक्सपेरिमेंटल के तौर पर मार्क कर दिया गया है. साथ ही, इसे एक अलग पैकेज,
androidx.camera.camera2.interop.में ले जाया गया है
Camera-Core का वर्शन 1.0.0-alpha07
4 दिसंबर, 2019
androidx.camera:camera-core:1.0.0-alpha07 रिलीज़ हो गया है. camera-core के वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं
ध्यान दें कि बीटा वर्शन के लिए तैयारी करते समय, इस ऐल्फ़ा वर्शन में कुछ अहम बदलाव किए गए हैं. हमारा सुझाव है कि आप बदलावों की समीक्षा करें. साथ ही, अगर आपको कोई सुझाव/राय देनी है या शिकायत करनी है, तो CameraX Google ग्रुप पर शेयर करें. Play Store पर मौजूद ऐप्लिकेशन में CameraX का इस्तेमाल करने वाले डेवलपर को हमारा सुझाव है कि वे अपने ऐप्लिकेशन में लाइब्रेरी को अपग्रेड करने से पहले, बीटा वर्शन की आधिकारिक रिलीज़ का इंतज़ार करें.
एपीआई में हुए बदलाव
अहम जानकारी: CameraX को शुरू करने का तरीका बदल गया है. ऐप्लिकेशन में
CameraXConfig.Providerको लागू किया जाना चाहिए. साथ ही,androidx.camera.camera2की ओर से उपलब्ध कराए गए डिफ़ॉल्टCamera2Configका इस्तेमाल किया जाना चाहिए. इसका सामान्य इस्तेमाल इस तरह किया जाता है:import androidx.camera.camera2.Camera2Config import androidx.camera.core.CameraXConfig public class MyCameraXApplication : Application(), CameraXConfig.Provider { override fun getCameraXConfig(): CameraXConfig { return Camera2Config.defaultConfig(this) } }CameraX क्लास को हटा दिया गया है. CameraX क्लास कॉल से पहले उपलब्ध कराए गए
bindToLifecycle(),unbind(),unbindAll(),isBound(), औरhasCamera()अबProcessCameraProviderके ज़रिए उपलब्ध हैं.ProcessCameraProviderका हर प्रोसेस इंस्टेंस, स्टैटिक मेथडProcessCameraProvider.getInstance()का इस्तेमाल करके एसिंक्रोनस तरीके से मिलता है. यह मेथड, लिसनेबल फ़्यूचर दिखाता है. यह पूरा होने परProcessCameraProviderउपलब्ध कराता है. यहांonCreate()में, सामान्य इस्तेमाल के लिए इसे दिखाया गया है. गतिविधि के लाइफ़साइकल में बाद मेंgetInstance()को कॉल किया जा सकता है, ताकि शुरू होने में लगने वाले समय को बाद के लिए टाला जा सके. जैसे, जब कोई उपयोगकर्ता कार्रवाई करके कैमरा यूज़र इंटरफ़ेस खोलता है.import androidx.camera.lifecycle.ProcessCameraProvider import com.google.common.util.concurrent.ListenableFuture class MainActivity : AppCompatActivity() { private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider> override fun onCreate(savedInstanceState: Bundle?) { cameraProviderFuture = ProcessCameraProvider.getInstance(this); }getInstance()से मिलेListenableFutureमें, सुनने वाले को जोड़ा जा सकता है. इससे यह पक्का होता है कि कैमरा उपलब्ध कराने वाली कंपनी कोFuture.get()पर ब्लॉक किए बिना,Futureसे वापस पाया जा सकता हैcameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))अब कैमरा चुनने की सुविधा, हर इस्तेमाल के हिसाब से नहीं, बल्कि कैमरा सिलेक्टर के ज़रिए मिलती है
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()CameraProvider.bindToLifecycleको लाइफ़साइकल का मालिक, कैमरा चुनने वाला टूल, और इस्तेमाल के उदाहरण दिए जाते हैं. इसके बाद, इन्हें लाइफ़साइकल के मालिक से जोड़ा जाता है और चुने गए कैमरे के लिए चलाया जाता है.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)“कॉन्फ़िगरेशन” क्लास के इस्तेमाल के उदाहरण हटा दिए गए हैं. इसके बजाय, सीधे तौर पर इस्तेमाल के उदाहरण बनाएं. इसके लिए, इस्तेमाल के उदाहरण बनाने वाले हर टूल पर विकल्प सेट करें. उदाहरण के लिए:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()Android के सबसे सही तरीकों को ध्यान में रखते हुए, Preview के इस्तेमाल के उदाहरण को अपडेट किया गया है. इससे ऐप्लिकेशन की ओर से बनाए गए और मैनेज किए गए किसी सर्फ़ेस को स्वीकार किया जा सकेगा. हमारा सुझाव है कि आप camera-view पैकेज में दिए गए
PreviewViewview class का इस्तेमाल करें.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)ऐप्लिकेशन के ज़रिए मैनेज किए जाने वाले डिसप्ले को अटैच करने के बारे में जानकारी देने वाला दस्तावेज़ देखें. इन मामलों में, ऐप्लिकेशन ही डिसप्ले के लाइफ़साइकल को मैनेज करता है.
अहम जानकारी:
ImageAnalysisAnalyzer के तरीके को लागू करने के दौरान, मिली हुई इमेज का इस्तेमाल पूरा होने पर,image.close()को कॉल करना ज़रूरी है. ऐसा न करने पर, हो सकता है कि आपको नई इमेज न मिलें या बैक प्रेशर की सेटिंग के आधार पर कैमरा रुक जाए. ज़्यादा जानकारी के लिए, रेफ़रंस दस्तावेज़ देखें.ImageAnalysis ImageReaderModeको अब बैकप्रेशर रणनीतिintdefमें बदल दिया गया है.ImageProxy.getImage()को एक्सपेरिमेंट के तौर पर उपलब्ध के तौर पर मार्क किया गया है. ऐप्लिकेशन को इस्तेमाल के बारे में जानकारी देनी चाहिए. उदाहरण के लिए,@androidx.camera.core.ExperimentalGetImageके ज़रिएAnalyzerके लिए,UIThreadएनोटेशन की ज़रूरी शर्त हटा दी गई है.ImageAnalysis.clearAnalyzer()फ़ंक्शन को किसी ऐनलाइज़र को हटाने के लिए जोड़ा गया है.जिन श्रोताओं के पास एक से ज़्यादा तरीके हैं उनका नाम बदलकर कॉलबैक कर दिया गया है:
ImageCapture.OnImageCapturedListenerअबImageCapture.OnImageCapturedCallbackहो गया हैImageCapture.OnImageSavedListenerअबImageCapture.OnImageSavedCallbackहो गया हैVideoCapture.OnVideoSavedListenerअबVideoCapture.OnVideoSavedCallbackहो गया है
Enums को IntDef में बदल दिया गया है
ज़ूम करने की सेटिंग जोड़ी गई हैं:
CameraControl.setLinearZoom()CameraControl.setZoomRatio()CameraInfo.getLinearZoom()CameraInfo.getMaxZoomRatio()CameraInfo.getZoomRatio()
CameraInfo.hasFlashUnit()को यह पता लगाने के लिए जोड़ा जाता है कि डिवाइस में फ़्लैश/टॉर्च हार्डवेयर मौजूद है या नहीं.CameraInfo.isFlashAvailable()को हटा दिया गया है. टॉर्च, फ़्लैश की सुविधा को बदल देती है. ज़्यादा जानकारी के लिए, रेफ़रंस दस्तावेज़ पढ़ें.ImageCapture.Metadataफ़ील्ड को get/set/is ऐक्सेसर से बदल दिया गया है.startFocusMeteringऔरcancelFocusMeteringअबListenableFuturesदिखाते हैं. यह कॉल के एसिंक्रोनस ऑपरेशन को दिखाता है.MeteringPointsअब मीटरिंग की कार्रवाइयों के लिए हैंडल के तौर पर काम करते हैं. इन्हें फ़ैक्ट्रियां बनाती हैं. ऐप्लिकेशन को कस्टम फ़ैक्ट्रियों के बजाय, मौजूदा फ़ैक्ट्रियों का इस्तेमाल करना चाहिए.
ठीक की गई समस्याएं
- कैमरे को फिर से चालू करने पर फ़ोटो लेने से जुड़ी समस्या को ठीक किया गया है. यह समस्या तब होती थी, जब कैमरे को बंद करने से पहले फ़ोटो लेने की प्रोसेस पूरी नहीं हुई होती थी.
- ज्ञात समस्या:
CameraControl.enableTorch()काम कर रहा है, लेकिन इससे मिलने वालाListenableFuture<Void>हमेशाcomplete(success)भविष्य का होता है. भले ही, फ़्लैश यूनिट न हो. आने वाले वर्शन में, इस समस्या को ठीक कर दिया जाएगा. इसके बाद, अगर फ़्लैश यूनिट नहीं है, तोenableTorch(true)तुरंत काम करना बंद कर देगा. यहCaptureSessionको अनुरोध नहीं भेजेगा औरTorchStateबंद रहेगा. - ज्ञात समस्या:
startFocusAndMeteringऔरcancelFocusAndMetering, फ़ोकस मीटरिंग को शुरू और रद्द करते हैं. हालांकि, ये तुरंतcompleted (success)फ़्यूचर दिखाते हैं, जो दस्तावेज़ में बताए गए व्यवहार के मुताबिक नहीं होता.ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()से मिलाFocusMeteringResultएक फ़र्ज़ी नतीजा है, जोisFocusSuccessful()है. यह हमेशा "गलत" होता है. यह, दस्तावेज़ में बताए गए व्यवहार से अलग होता है. - ज्ञात समस्या:
PreviewViewटच इवेंट के साथ इस्तेमाल करने के लिए, मीटरिंग पॉइंट फ़ैक्ट्री डेवलप की जा रही है. फ़िलहाल, कस्टम मैनेज की गई सतहों से कनेक्ट होने वाले ऐप्लिकेशन, मौजूदा मीटरिंग पॉइंट फ़ैक्ट्रियों का इस्तेमाल कर सकते हैं. इसके अलावा,PreviewViewके लिए टच फ़ोकस की सुविधा उपलब्ध नहीं है.
Camera-Camera2 और Camera-Core का वर्शन 1.0.0-alpha06
9 अक्टूबर, 2019
androidx.camera:camera-camera2:1.0.0-alpha06 और androidx.camera:camera-core:1.0.0-alpha06 रिलीज़ हो गए हैं. ये camera-camera2:1.0.0-alpha06 में शामिल कमिट हैं और ये camera-core:1.0.0-alpha06 में शामिल कमिट हैं.
नई सुविधाएं
आस्पेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) सेट करने से जुड़े बदलाव:
setTargetAspectRatioMode()को जोड़ा गया है और यह enum आर्ग्युमेंट स्वीकार करता है. इससे आसपेक्ट रेशियो मोड सेट हो जाता है. इसमें, मनमुताबिक आसपेक्ट रेशियो के बजायRATIO_4_3याRATIO_16_9के विकल्प मिलते हैं. इससे यह पता चलता है कि कैमरे से सिर्फ़ कुछ आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) मिलते हैं, न कि कोई भी रेशियो.- फ़िलहाल, सिर्फ़ 16:9 और 4:3 के आसपेक्ट रेशियो उपलब्ध हैं. 1:1 के मामले में, सिर्फ़ कुछ डिवाइसों पर यह सुविधा कैमरे से उपलब्ध होती है. साथ ही, यह सुविधा सिर्फ़ सीमित रिज़ॉल्यूशन पर उपलब्ध होती है. 1:1 इंटरफ़ेस डिज़ाइन करने या प्रोसेस करने वाले ऐप्लिकेशन को, ज़्यादा फ़्लेक्सिबल 16:9 या 4:3 विकल्पों का इस्तेमाल करना चाहिए. साथ ही, डिसप्ले को काटना चाहिए या किसी सबरीजन को प्रोसेस करना चाहिए.
- इन आसपेक्ट रेशियो का इस्तेमाल, सेंसर के ज़्यादा से ज़्यादा हिस्से को इस्तेमाल करने के लिए किया जाता है.
getTargetAspectRatio()को इस्तेमाल के उदाहरण के कॉन्फ़िगरेशन एपीआई में जोड़ा गया है. इससे, इस्तेमाल के उदाहरण के आउटपुट के लिए टारगेट किए गए आसपेक्ट रेशियो की जानकारी मिलती है.- ImageCapture के लिए,
setTargetAspectRatio(Rational aspectRatio)तरीके को बदलकरsetTargetAspectRatioCustom(Rational aspectRatio)कर दिया गया है. इस विकल्प को सेट करने पर, ImageCapture का आउटपुट उसी के मुताबिक काटा जाता है.
एक्ज़ीक्यूटर एपीआई
- नीचे दिए गए फ़ंक्शन, एक्ज़ीक्यूटर पैरामीटर स्वीकार करते हैं. इससे ऐप्लिकेशन को यह कंट्रोल करने की अनुमति मिलती है कि फ़ंक्शन किस एक्ज़ीक्यूटर पर चलता है.
Preview.setOnPreviewOutputUpdateListener()एपीआई. अगर उस फ़ंक्शन के लिए एक्ज़ीक्यूटर मौजूद नहीं है, तो यह मुख्य थ्रेड पर एक्ज़ीक्यूट होता है.Preview.setOnPreviewOutputUpdateListenerFocusMeteringAction.Builder.setAutoFocusCallbackImageAnalysis.setAnalyzerImageCapture.takePictureCameraView.takePictureCameraView.startRecordingVideoCapture.startRecording
CameraInfo को जोड़ा गया. साथ ही, Flash Available और Sensor Rotation API की जांच की गई
CameraInfoऔरgetCameraInfoतरीका जोड़ा गया है. इससे ऐप्लिकेशन यह देख सकते हैं कि CameraInfo का सामना करने वाला लेंस उपलब्ध है या नहीं. साथ ही, यह भी देख सकते हैं कि उस कैमरे पर फ़्लैश उपलब्ध है या नहीं. उदाहरण के लिए:try { CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing); LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable(); flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE); } catch (CameraInfoUnavailableException e) { Log.w(TAG, "Cannot get flash available information", e); flashToggle.setVisibility(View.VISIBLE); }CameraInfo.getSensorRotationDegrees()को जोड़ा गया. यह डिवाइस के नैचुरल ओरिएंटेशन के हिसाब से, कैमरा सेंसर का ओरिएंटेशन दिखाता है. इसके अलावा, यह Surface रोटेशन के हिसाब से भी ओरिएंटेशन दिखाता है. Surface रोटेशन, नैचुरल ओरिएंटेशन के हिसाब से ओरिएंटेशन दिखाता है.
एपीआई में हुए बदलाव और गड़बड़ियों को ठीक करना
- आस्पेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात): इस्तेमाल के हर तरीके के लिए, ऐप्लिकेशन को सिर्फ़
setTargetResolution()याsetTargetAspectRatio()में से किसी एक को कॉल करना चाहिए. एक ही बिल्डर पर दोनों को कॉल करने पर गड़बड़ी होती है.- आम तौर पर, ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) डिज़ाइन के आधार पर,
setTargetAspectRatio()का इस्तेमाल करने का सुझाव दिया जाता है. समस्या हल करने के तरीके, इस्तेमाल के उदाहरण पर आधारित होते हैं. उदाहरण के लिए, प्रीव्यू की सुविधा से स्क्रीन रिज़ॉल्यूशन के बारे में पता चलता है. वहीं, इमेज कैप्चर की सुविधा से हाई रिज़ॉल्यूशन वाली इमेज मिलती हैं. ज़्यादा जानकारी के लिए, अपने-आप ठीक होने वाली गड़बड़ियों की टेबल देखें. - ज़्यादा खास मामलों के लिए
setTargetResolution()का इस्तेमाल करें. जैसे, जब कम से कम (कैलकुलेशन सेव करने के लिए) या ज़्यादा से ज़्यादा रिज़ॉल्यूशन (जानकारी प्रोसेस करने के लिए) की ज़रूरत हो.
- आम तौर पर, ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) डिज़ाइन के आधार पर,
- Executor API: इस्तेमाल के उदाहरण के कॉन्फ़िगरेशन वाले एपीआई से
setCallbackHandler()कॉल हटा दिया गया है. इसके बजाय, ऐप्लिकेशन, एक्ज़ीक्यूटर को उन अलग-अलग एपीआई में पैरामीटर के तौर पर सेट कर सकते हैं जो कॉलबैक सेट करते हैं. - कई फ़ंक्शन के लिए, शून्य एनोटेशन अपडेट किए गए हैं.
- कैमरा खोलने पर,
java.lang.IllegalStateException at Camera$StateCallback.onErrorदिखने की समस्या को ठीक किया गया है. - हमने उस समस्या को ठीक कर दिया है जिसमें ऐप्लिकेशन के बड़े या डिफ़ॉल्ट रिज़ॉल्यूशन का अनुरोध करने पर, बहुत छोटे रिज़ॉल्यूशन (640x480 से कम) चुने जाते थे. इससे झलक वाली इमेज धुंधली या पिक्सलेट हो जाती थी. जिन ऐप्लिकेशन को खास तौर पर कम रिज़ॉल्यूशन की ज़रूरत होती है वे इसके लिए अनुरोध कर सकते हैं.
- उस समस्या को ठीक किया गया है जिसमें किसी ऐसे इंटेंट से वापस आने पर कैमरा काली स्क्रीन दिखाता था जिसने किसी अन्य कैमरा ऐप्लिकेशन को लॉन्च किया था.
- उस बग को ठीक किया गया है जिसकी वजह से, ऐप्लिकेशन को बार-बार शुरू या बंद करने पर यह गड़बड़ी दिखती थी;
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface! - ImageAnalysis को बंद करने पर होने वाली इस गड़बड़ी को ठीक किया गया है:
java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more. - कैमरा डिसकनेक्ट करने के फ़्लो के लिए, अतिरिक्त टेस्ट जोड़े गए हैं.
- कैमरे के लगातार टेस्ट करने पर, टेस्ट सिस्टम की मज़बूती को बेहतर बनाया गया है.
Camera-Camera2 और Camera-Core का वर्शन 1.0.0-alpha05
5 सितंबर, 2019
androidx.camera:camera-camera2:1.0.0-alpha05 और androidx.camera:camera-core:1.0.0-alpha05 रिलीज़ हो गए हैं. ये camera-camera2:1.0.0-alpha05 में शामिल बदलाव हैं और ये camera-core:1.0.0-alpha05 में शामिल बदलाव हैं.
एपीआई में बदलाव: इस्तेमाल के उदाहरण से जुड़ी गड़बड़ी वाले वैरिएबल के नाम बदले गए:
ImageCapture.UseCaseErrorका नाम बदलकरImageCapture.ImageCaptureErrorकर दिया गया हैVideoCapture.UseCaseErrorका नाम बदलकरVideoCapture.VideoCaptureErrorकर दिया गया है
CameraControlAPI और टैप-टू-फ़ोकस वाले एपीआई जोड़े गएलेंस के हिसाब से चुने गए कैमरे के लिए, CameraX से
CameraControlपाने के लिए एपीआई जोड़ा गया:CameraX.getCameraControl(LensFacing lensFacing)टैप करके फ़ोकस करने की सुविधा को चालू करने के लिए,
MeteringPointFactory,MeteringPoint,MeteringMode, औरFocusMeteringActionको जोड़ा गया:MeteringPointFactory factory = new SensorOrientedMeteringPointFactory(width, height); MeteringPoint point = factory.createPoint(x, y); FocusMeteringAction action = FocusMeteringAction.Builder.from(point, MeteringMode.AF_ONLY) .addPoint(point2, MeteringMode.AE_ONLY) // could have many .setAutoFocusCallback(new OnAutoFocusListener(){ public void onFocusCompleted(boolean isSuccess) { } }) // auto calling cancelFocusAndMetering in 5 sec. .setAutoCancelDuration(5, TimeUnit.Second) .build();फ़ोकस मीटरिंग शुरू करने और रद्द करने के लिए,
CameraControlके लिए एपीआई जोड़ा गया:getCameraControl(lensFacing).startFocusAndMetering(action);getCameraControl(lensFacing).cancelFocusAndMetering();मीटरिंग पॉइंट फ़ैक्ट्रियों के लिए एपीआई जोड़े गए हैं. ये एपीआई, व्यू क्लास के आधार पर टैप कोऑर्डिनेट को सेंसर कोऑर्डिनेट में बदलने में मदद करते हैं:
MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView);MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);
इन तरीकों को मुख्य (यूज़र इंटरफ़ेस) थ्रेड पर लागू करें. अगर ऐसा नहीं होता है, तो
IllegalStateExceptionदिखाएं. आने वाले वर्शन में, इसका इस्तेमाल अन्य थ्रेड पर किया जा सकेगा. साथ ही, यह पक्का किया जा सकेगा कि यह क्रम से हो.CameraX.bindToLifecycle()CameraX.unbind()CameraX.unbindAll()ImageAnalysis.setAnalyzer()ImageAnalysis.getAnalyzer()ImageAnalysis.removeAnalyzer()Preview.removePreviewOutputListener()Preview.getOnPreviewOutputUpdateListener()Preview.setOnPreviewOutputUpdateListener()
कॉन्फ़िगरेशन की अलग-अलग सेटिंग अब शून्य पैरामीटर स्वीकार करती हैं. साथ ही, उनसे जुड़े गेटर शून्य वैल्यू दिखा सकते हैं.
हमने उस समस्या को ठीक कर दिया है जो उन एम्युलेटर पर टेस्टिंग के दौरान आ रही थी जिनमें AF/AE/AWB सेटिंग काम नहीं करती हैं.
इमेज का विश्लेषण करते समय, रोटेशन के दौरान क्रैश होने वाली गड़बड़ी को ठीक किया गया है.
उस बग को ठीक किया गया है जिसकी वजह से, रोटेशन के बाद या फ़्रंट और बैक कैमरे के बीच स्विच करने पर, कैमरे का डेटा न होने की वजह से झलक काली दिखती थी.
एक साथ कई इमेज का विश्लेषण करने के इस्तेमाल के उदाहरणों के लिए, टेस्टिंग की सुविधा हटा दी गई है. यह पक्का करने के लिए कि ऐप्लिकेशन, इमेज विश्लेषण की सुविधा के साथ काम करता है, उसे सिर्फ़ एक इमेज विश्लेषण का इस्तेमाल करना चाहिए.
कैमरा-टेस्टिंग सुइट में, फ़ेक कैमरे के लिए शुरुआती रोबोटिक टेस्ट जोड़े गए (WIP).
Camera2Inititalizer टेस्ट को हटा दिया गया है, क्योंकि इसकी कवरेज साफ़ तौर पर नहीं बताई गई थी/गुमराह करने वाली थी.
Camera-Camera2 और Camera-Core का वर्शन 1.0.0-alpha04
7 अगस्त, 2019
androidx.camera:camera-camera2:1.0.0-alpha04 और androidx.camera:camera-core:1.0.0-alpha04 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
आस्पेक्ट रेशियो और रिज़ॉल्यूशन चुनने के तरीके में हुए बदलाव
CameraX का मकसद, कैमरा सेशन को सही तरीके से शुरू करना है. इसका मतलब है कि CameraX, डिवाइस की क्षमता के आधार पर रिज़ॉल्यूशन/आस्पेक्ट रेशियो से समझौता करता है, ताकि कैप्चर सेशन शुरू किया जा सके. इसलिए, हो सकता है कि सटीक अनुरोधों को पूरा न किया जा सके. ऐसा इन वजहों से हो सकता है:
- ऐसे डिवाइस जिन पर अनुरोध किया गया रिज़ॉल्यूशन काम नहीं करता
- डिवाइस के साथ काम न करने से जुड़ी समस्याएं. जैसे, LEGACY डिवाइसों पर कुछ रिज़ॉल्यूशन का इस्तेमाल करना ज़रूरी होता है, ताकि वे ठीक से काम कर सकें
- कुछ डिवाइसों पर, कुछ फ़ॉर्मैट सिर्फ़ कुछ आसपेक्ट रेशियो में उपलब्ध होते हैं
- JPEG या वीडियो एन्कोडिंग के लिए, “nearest mod16” को प्राथमिकता दी जाती है.
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAPदेखें
CameraX, सेशन बनाता है और उसे मैनेज करता है. हालांकि, आपको हमेशा अपने कोड में, इस्तेमाल के उदाहरण के आउटपुट पर दिखाई गई इमेज के साइज़ की जांच करनी चाहिए और उसके हिसाब से बदलाव करना चाहिए.
एपीआई को ज़्यादा साफ़ तौर पर समझने के लिए, रिज़ॉल्यूशन और आसपेक्ट रेशियो सेट करने से जुड़े कुछ बदलाव किए गए हैं:
- अब झलक के इस्तेमाल के मामले में, डिफ़ॉल्ट रूप से 4:3 आसपेक्ट रेशियो माना जाता है. ऐसा तब होता है, जब कोई आसपेक्ट रेशियो सेट नहीं किया जाता.
- जब CameraX, डिवाइस की क्षमता के आधार पर, अनुरोध किए गए रिज़ॉल्यूशन और आसपेक्ट रेशियो में बदलाव करता है, तो वह सबसे पहले उसी आसपेक्ट रेशियो को बनाए रखने की कोशिश करता है जिसे
setTargetAspectRatioयाsetTargetResolutionकॉल से तय किया गया है - रिज़ॉल्यूशन के “Nearest mod16” वर्शन को एक ही आसपेक्ट रेशियो माना जाता है.
ImageAnalysis Non-Blocking Mode
ImageReaderMode.ACQUIRE_LATEST_IMAGEका व्यवहार अब नॉन-ब्लॉकिंग है. यह इमेज को प्रोसेस करने के लिए, क्यू में मौजूद सबसे नई इमेज का इस्तेमाल करता है. हालांकि, यह इस्तेमाल न की गई इमेज को लगातार हटाता रहता है, ताकि कैमरा पाइपलाइन को ब्लॉक होने से बचाया जा सके.- विश्लेषण करने वाला टूल, पाइपलाइन को रोके बिना किसी इमेज को हमेशा के लिए सेव करके रख सकता है.
- अगर ऐप्लिकेशन, एक्ज़ीक्यूटर उपलब्ध कराता है और फिर उसे ब्लॉक कर देता है, तो ImageAnalysis का इस्तेमाल नहीं किया जा सकता.
- डिफ़ॉल्ट रूप से सेट किया गया एक्ज़ीक्यूटर, नॉन-ब्लॉकिंग एक्ज़ीक्यूटर के तौर पर काम करता है.
गड़बड़ियां ठीक की गईं
- ऑटो-फ़ोकस, ऑटो एक्सपोज़र, और ऑटो-व्हाइटबैलेंस की सुविधा के बिना डिवाइसों पर इमेज कैप्चर करते समय, 3A कन्वर्जेंस के लिए इंतज़ार करने से जुड़ी टाइमआउट की समस्याओं को ठीक किया गया
- ImageCapture का इस्तेमाल करके तेज़ी से फ़ोटो लेने से जुड़ी समस्या को ठीक किया गया. गड़बड़ी ठीक की गई:
java.lang.IllegalStateException: maxImages (2) has already been acquired - उस समस्या को ठीक किया गया है जिसमें इस्तेमाल के उदाहरण के लिए
setLensFacingको कॉल नहीं किया गया था. इस वजह से,java.lang.IllegalArgumentException: Unable to get camera ID for use caseका इस्तेमाल किया गया था. - उस समस्या को ठीक किया गया है जिसमें LEGACY डिवाइस के लिए, JPEG के ज़्यादा से ज़्यादा रिज़ॉल्यूशन के तौर पर खास आसपेक्ट रेशियो की ज़रूरत होती थी
- कैमरा चालू होने के दौरान ऐप्लिकेशन को बैकग्राउंड में ले जाने पर आने वाली समस्या को ठीक किया गया है
- एपीआई < 25 पर समस्या ठीक की गई. साथ ही, गड़बड़ी
checkAndUpdateEglState: invalid current EGLDisplayको हटाया गया - एक्सटेंशन चालू करने और शुरू करने के बाद, झलक को अनबाइंड करने से जुड़ी समस्या ठीक की गई
- कैमरा-व्यू और कैमरा-एक्सटेंशन के लिए, बिल्ड आर्टफ़ैक्ट अब ऐल्फ़ा वर्शन के तौर पर पब्लिश किए गए हैं
Camera-Camera2 और Camera-Core का वर्शन 1.0.0-alpha03
2 जुलाई, 2019
androidx.camera:camera-core:1.0.0-alpha03 और androidx.camera:camera-camera2:1.0.0-alpha03 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- setTarget कॉन्फ़िगरेशन कॉल में “target” के लिए, javadoc में ज़्यादा जानकारी जोड़ी गई
Camera-Core
- तेज़ी से खोलने/बंद करने या बाइंड/अनबाइंड करने पर, कॉन्फ़िगर नहीं किए गए इनपुट/आउटपुट सर्फ़ेस के क्रैश होने की समस्या ठीक की गई
- फ़्यूचर्स के नए वर्शन पर माइग्रेट करना
- बेहतर टेस्टिंग के लिए, ठीक किए गए कोड की जांच करना
- कोर इंटिग्रेशन टेस्ट में अब फ़ोटो कैप्चर करने का समय दिखता है
- एक्ज़ीक्यूटर के लिए इंटरनल कंपैट क्लास डेवलप की गई
- टाइमिंग टेस्ट ऐप्लिकेशन, इमेज कैप्चर करने से पहले पिछली इमेज के कैप्चर होने का इंतज़ार करता है. साथ ही, यह ज़्यादा स्थिर होता है
एक्सटेंशन
- वर्शन की जांच करने की सुविधा जोड़ी गई
- टेस्ट कवरेज के बारे में अतिरिक्त जानकारी - एक्सटेंशन इवेंट कॉलबैक
- आंतरिक तौर पर इमेज और मेटा-डेटा को बेहतर बनाया गया है
- टेस्ट ऐप्लिकेशन में मोड स्विच करने से जुड़ी समस्याएं ठीक की गईं
Camera-Camera2 और Camera-Core वर्शन 1.0.0-alpha02
5 जून, 2019
androidx.camera:camera-core:1.0.0-alpha02 और androidx.camera:camera-camera2:1.0.0-alpha02 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एम्युलेटर का इस्तेमाल करते समय, शून्य से भाग देने की समस्या को ठीक किया गया
- कुछ डिवाइसों पर, फ़ोटो लेने के दौरान NullPointerException/Surface Abandoned गड़बड़ी ठीक की गई है. यह गड़बड़ी, अनबाइंड करने और फिर से बाइंड करने के इस्तेमाल के मामलों में तेज़ी से फ़ोटो लेने पर होती थी.
- आंतरिक समस्या को ठीक किया गया है, ताकि कैप्चर करने के अनुरोध से जुड़े अपडेट सभी प्लैटफ़ॉर्म पर एक जैसा असर डालें
- ऐप्लिकेशन के नए इंस्टेंस में इस्तेमाल के उदाहरणों को फिर से शुरू करते समय, ऐप्लिकेशन क्रैश या हैंग होने से बचाने के लिए किए गए सुधार
- एपीआई में एक्ज़ीक्यूटर की सुविधा को चालू करने के लिए, इंटरनल आर्किटेक्चर में बदलाव किए गए हैं
- CameraX क्लास और लाइफ़साइकल मैनेजमेंट के बारे में Javadoc में अतिरिक्त जानकारी
- Antelope परफ़ॉर्मेंस टेस्ट ऐप्लिकेशन के लिए, इंस्ट्रुमेंटेड टेस्टिंग की सुविधा जोड़ी गई
- ऐप्लिकेशन के Proguard कॉन्फ़िगरेशन में, '-keepattributes Signature' की ज़रूरत नहीं है
Camera-Camera2 और Camera-Core 1.0.0-alpha01
7 मई, 2019
androidx.camera:camera-core:1.0.0-alpha01 और
androidx.camera:camera-camera2:1.0.0-alpha01 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.
Camera-Lifecycle वर्शन 1.0.0-beta11
14 अक्टूबर, 2020
androidx.camera:camera-lifecycle:1.0.0-beta11 रिलीज़ हो गया है. वर्शन 1.0.0-beta11 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- अगर Camera इंस्टेंस से अटैच होने से पहले इस फ़ंक्शन को कॉल किया जाता है, तो
<UseCase>.getTargetRotation()Surface.ROTATION_0दिखाएगा. हालांकि, अगर Builder या UseCase पर targetRotation सेट किया गया है, तो ऐसा नहीं होगा. (I80fcd)
Camera-Lifecycle वर्शन 1.0.0-beta10
23 सितंबर, 2020
androidx.camera:camera-lifecycle:1.0.0-beta10 रिलीज़ हो गया है. वर्शन 1.0.0-beta10 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ किया गया
Camera-Lifecycle का वर्शन 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()से Application ऑब्जेक्ट को वापस नहीं भेजने वाले Context का इस्तेमाल करने पर, अब इनिशियलाइज़ेशन क्रैश नहीं होना चाहिए. (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() के साथ कॉन्फ़िगर किया जा सकता है. इससे, CameraXConfig को पसंद के मुताबिक बनाया जा सकता है. इसके लिए, ऐप्लिकेशन की Application क्लास में CameraXConfig.Provider को लागू करने की ज़रूरत नहीं होती. (Ia1a8d)
Camera-Lifecycle वर्शन 1.0.0-beta05
10 जून, 2020
androidx.camera:camera-lifecycle:1.0.0-beta05 रिलीज़ हो गया है. वर्शन 1.0.0-beta05 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- फ़ोन के 'परेशान न करें' मोड में होने पर, CameraX को शुरू करते समय ऐप्लिकेशन के क्रैश होने की समस्या ठीक की गई. ऐप्लिकेशन क्रैश होने के बजाय,
InitializationExceptionमें मौजूदCameraUnavailableExceptionको, शुरू होने के नतीजे केListenableFutureपर सेट किया जाएगा. (I9909a, b/149413835)
Camera-Lifecycle वर्शन 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 Version 1.0.0-alpha10
10 फ़रवरी, 2020
androidx.camera:camera-lifecycle:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- BindToLifecycle, unbind, और unbindAll तरीकों में
@MainThreadएनोटेशन जोड़ा गया. (I990d2)
Camera-Lifecycle वर्शन 1.0.0-alpha03
22 जनवरी, 2020
androidx.camera:camera-lifecycle:1.0.0-alpha03 रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.
अपडेट
- Camera Core और Camera2 में हुए बदलावों के साथ काम करने के लिए, कई सुधार और अपडेट किए गए हैं.
Camera-Lifecycle वर्शन 1.0.0-alpha02
18 दिसंबर, 2019
androidx.camera:camera-lifecycle:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.
डिपेंडेंसी में बदलाव
androidx.camera:camera-core:1.0.0-alpha08का इस्तेमाल करने के लिए अपडेट किया गया.
Camera-Lifecycle वर्शन 1.0.0-alpha01
4 दिसंबर, 2019
androidx.camera:camera-lifecycle:1.0.0-alpha01 रिलीज़ हो गया है. camera-lifecycle के वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं
एपीआई से जुड़ी जानकारी
- कैमरा-लाइफ़साइकल आर्टफ़ैक्ट जोड़ा गया है. यह
LifeCycleCameraProviderइंटरफ़ेस औरProcessCameraProviderनाम का एक लागू करने का तरीका उपलब्ध कराता है. यह कोर में, CameraX की पिछली क्लास के कई फ़ंक्शन उपलब्ध कराता है. इसेgetInstance()तरीके से हासिल किया जाता है. - CameraX का इस्तेमाल करने के लिए, ऐप्लिकेशन में कैमरा-लाइफ़साइकल लाइब्रेरी शामिल होनी चाहिए.
ProcessCameraProviderका इस्तेमाल करके CameraX को शुरू करने का तरीका जानने के लिए, camera-core सेक्शन में दिए गए नोट देखें.
Camera-Extensions और Camera-View 1.0.0
वर्शन 1.0.0-alpha32
15 दिसंबर, 2021
androidx.camera:camera-extensions:1.0.0-alpha32 और androidx.camera:camera-view:1.0.0-alpha32 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha32 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- अंदरूनी क्लास/इंटरफ़ेस से, गैर-ज़रूरी
@RequiresApi(21)एनोटेशन हटा दिए गए हैं. (I8e286, b/204917951) - कैमरा-एक्सटेंशन आर्टफ़ैक्ट के लिए एपीआई फ़ाइलें अपडेट करें. (If683a, b/161377155)
गड़बड़ियां ठीक की गईं
VideoCaptureको बाइंड करते समय, ऐप्लिकेशन को एक्सटेंशन मोड चालू करने की अनुमति न दें. CameraX Extensions सिर्फ़ImageCaptureऔरPreviewके साथ काम करते हैं. फ़िलहाल,VideoCaptureका इस्तेमाल नहीं किया जा सकता. अगर ऐप्लिकेशन,VideoCaptureको बाइंड करता है और किसी एक्सटेंशन मोड को चालू करता है, तो एकIllegalArgumentExceptionथ्रो किया जाएगा. (I0d87b)- नतीजों का सेट खाली होने पर,
CameraSelector#filterअबIllegalArgumentExceptionनहीं दिखाता है. (I27804) ExtensionsManager#getInstanceएपीआई का नाम बदलकरgetInstanceAsyncकर दिया गया है, क्योंकि यहListenableFutureदिखाता है. फ़ंक्शन के नाम में Async सफ़िक्स से साफ़ तौर पर पता चलता है कि यह एक एसिंक फ़ंक्शन है. (I279d2)ExtensionsManager#getEstimatedCaptureLatencyRangeएपीआई से रिज़ॉल्यूशन पैरामीटर हटाएं. ऐसा इसलिए, क्योंकि उपयोगकर्ताओं को यह नहीं पता चल पाता किImageCaptureके इस्तेमाल के लिए कौनसे साइज़ काम करते हैं. साथ ही, वे यह भी नहीं जान पाते कि लेटेंसी की जानकारी, कैप्चर किए गए आउटपुट के ज़्यादा से ज़्यादा साइज़ के लिए है या इनपुट रिज़ॉल्यूशन पैरामीटर के लिए. (I74bb2)ExtensionsManagerफ़ंक्शन केCameraProviderपैरामीटर कोgetInstance()एपीआई में ले जाएं. इससे उपयोगकर्ताओं कोExtensionsManagerफ़ंक्शन को कॉल करते समय, हर बारCameraProviderपैरामीटर डालने की ज़रूरत नहीं पड़ती. (Ic7e48)
वर्शन 1.0.0-alpha31
17 नवंबर, 2021
androidx.camera:camera-extensions:1.0.0-alpha31 और androidx.camera:camera-view:1.0.0-alpha31 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha31 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- CameraSelector#filter को सार्वजनिक एपीआई में जोड़ा गया है, ताकि CameraSelector के आधार पर CameraInfos की सूची को फ़िल्टर किया जा सके. (I105d0)
गड़बड़ियां ठीक की गईं
- कुछ डिवाइसों पर एक्सटेंशन मोड को तेज़ी से स्विच करने पर होने वाली क्रैश की समस्या को ठीक किया गया है. (Iebbef)
वर्शन 1.0.0-alpha30
13 अक्टूबर, 2021
androidx.camera:camera-extensions:1.0.0-alpha30 और androidx.camera:camera-view:1.0.0-alpha30 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha30 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- सभी CameraX क्लास में @RequiresApi(21) एनोटेशन जोड़ा गया है. साथ ही, AndroidManifest.xml से minSdkVersion को हटा दिया गया है. इससे camera-core को उन ऐप्लिकेशन में आसानी से इंटिग्रेट किया जा सकेगा जिनमें minSdkVersion 21 से कम है. हालांकि, वे एपीआई 21 और उसके बाद के वर्शन पर निर्भर करने वाले कोड पाथ का इस्तेमाल कुछ शर्तों के साथ करना चाहते हैं. minSdkVersion 21 या उसके बाद के वर्शन वाले किसी भी ऐप्लिकेशन के लिए, इस बदलाव को लागू करने के लिए कुछ नहीं करना होगा. (Ie7f2e, b/200599470)
गड़बड़ियां ठीक की गईं
- AbstractMethodError की समस्या को ठीक किया गया है. यह समस्या तब होती है, जब ProGuard चालू होता है. (Iae468, b/201177844)
वर्शन 1.0.0-alpha29
29 सितंबर, 2021
androidx.camera:camera-extensions:1.0.0-alpha29 और androidx.camera:camera-view:1.0.0-alpha29 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha29 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ExperimentalUseCaseGroup एनोटेशन को हटा दिया गया है, क्योंकि अब एपीआई एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. (I01ef5)
RotationProvider#removeAllListeners()हटाएं. इसके बजाय, कृपयाRotationProvider#removeListener(...)का इस्तेमाल करें. (Id9d4a)- RotationReceiver क्लास को अपडेट किया गया है: set/clear Listener को add/remove/removeAll में बदला गया है. साथ ही, setListener के उस वर्शन को हटाया गया है जो डिफ़ॉल्ट रूप से मुख्य थ्रेड का इस्तेमाल करता है. इसके अलावा, तरीकों का एनोटेशन जोड़ा गया है. (Ib1669)
गड़बड़ियां ठीक की गईं
- ExtensionMode#BEAUTY का नाम बदलकर FACE_RETOUCH कर दिया गया है, ताकि एक्सटेंशन मोड के काम को सही तरीके से दिखाया जा सके. (I61f54, b/198515274)
- उस समस्या को ठीक किया गया है जिसमें एक ही गतिविधि में कई CameraController और PreviewView का इस्तेमाल करने पर, कैमरा अचानक बंद हो जाता था. (Ibfd18, b/197539358)
वर्शन 1.0.0-alpha28
18 अगस्त, 2021
androidx.camera:camera-extensions:1.0.0-alpha28 और androidx.camera:camera-view:1.0.0-alpha28 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha28 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ExperimentalUseCaseGroupLifecycle एनोटेशन को हटा दिया गया है, क्योंकि अब एपीआई एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. (I17b85)
- RotationListener को फिर से फ़ैक्टर किया गया है और इसका नाम बदलकर RotationProvider कर दिया गया है. यह सुविधा अब भी उपलब्ध है, लेकिन इसके लिए एपीआई थोड़ा अलग है. (Idffc5)
- TAP_TO_FOCUS_UNSUCCESSFUL का नाम बदलकर TAP_TO_FOCUS_NOT_FOCUSED और TAP_TO_FOCUS_SUCCESSFUL का नाम बदलकर TAP_TO_FOCUS_FOCUSED कर दिया गया है. OutputSize को फ़ाइनल बनाया गया (I099fa)
गड़बड़ियां ठीक की गईं
- बंद की गई
<EffectName><UseCase>Extenderक्लास, ExtensionsErrorListener, और उनसे जुड़े ExtensionsManager API हटा दिए गए हैं. (I3b8c3)
वर्शन 1.0.0-alpha27
21 जुलाई, 2021
androidx.camera:camera-extensions:1.0.0-alpha27 और androidx.camera:camera-view:1.0.0-alpha27 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha27 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- व्यूपोर्ट एपीआई को एक्सपेरिमेंट के तौर पर उपलब्ध कराने के बजाय, सामान्य तौर पर उपलब्ध कराया गया. एपीआई के एक्सपेरिमेंटल एनोटेशन को हटाएं. (I717ea)
CoordinateTransform#getTransformका नाम बदलकरCoordinateTransform#transformकिया गया और JavaDoc अपडेट किया गया (I864ae)
गड़बड़ियां ठीक की गईं
- Compose UI के साथ
PreviewView PERFORMANCEमोड का इस्तेमाल करने पर, स्ट्रेच होने की समस्या ठीक की गई. (Ie1137, b/183864890)
वर्शन 1.0.0-alpha26
30 जून, 2021
androidx.camera:camera-extensions:1.0.0-alpha26 और androidx.camera:camera-view:1.0.0-alpha26 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha26 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- एक नया तरीका
CameraController#getTapToFocusState()जोड़ें, जो टैप-टू-फ़ोकस के सबसे नए नतीजे को दिखाता है. (Iaccb0) - CameraController में कैमरा-कोर की ज़्यादा सुविधाएं जोड़ी गई हैं: टारगेट आसपेक्ट रेशियो, टारगेट रिज़ॉल्यूशन, कैप्चर मोड, CameraControl, और कस्टम एक्ज़ीक्यूटर के लिए गेटर/सेटर. (Iea8f2)
- RotationReceiver क्लास जोड़ें, जो डिसप्ले रोटेशन में हुए बदलावों को स्वीकार करती है. इसका इस्तेमाल, डिवाइस के फ़िक्स्ड पोर्ट्रेट/लैंडस्केप मोड में होने पर, टारगेट रोटेशन सेट करने के लिए किया जा सकता है. (Ib278f)
- ExtensionsManager क्लास में, getEstimatedCaptureLatencyRange के नए सार्वजनिक एपीआई उपलब्ध कराए गए हैं. (I6a8ec)
- Deprecated ExtensionsErrorListener. फ़िलहाल, इस इंटरफ़ेस का इस्तेमाल सिर्फ़ यह मॉनिटर करने के लिए किया जाता है कि एक्सटेंशन मोड चालू करते समय, Preview या ImageCapture की कमी तो नहीं है. CameraX, एक्सटेंशन के फ़ंक्शन को बेहतर तरीके से काम करने के लिए, अपने-आप एक और Preview या ImageCapture जोड़ देगा. इसके बाद, इस इंटरफ़ेस के ज़रिए कोई गड़बड़ी नहीं दिखाई जाएगी. (I47d9e)
- ExtensionsManager के नए getInstance, isExtensionAvailable, और getExtensionEnabledCameraSelector पब्लिक एपीआई उपलब्ध कराए गए हैं. साथ ही, पुरानी
<EffectName><UseCase>Extenderक्लास और उनसे जुड़े एपीआई बंद कर दिए गए हैं. (I329e6)
वर्शन 1.0.0-alpha25
2 जून, 2021
androidx.camera:camera-extensions:1.0.0-alpha25 और androidx.camera:camera-view:1.0.0-alpha25 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha25 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ExperimentalCameraFilter API अब एक्सपेरिमेंटल स्टेज में नहीं हैं. ये अब फ़ॉर्मल एपीआई बन गए हैं. इनका इस्तेमाल, एनोटेट किए गए ऑप्ट-इन के बिना किया जा सकता है. (I4bc94)
- एक ऐसी सुविधा जोड़ें जो इस्तेमाल के उदाहरणों के बीच निर्देशांकों को बदलती है. इस्तेमाल का उदाहरण: ImageAnalysis के इस्तेमाल के उदाहरण में पता लगाए गए कोऑर्डिनेट को बदलना और झलक में पता लगाए गए ऑब्जेक्ट को हाइलाइट करना. (I63ab1, b/137515129)
CameraViewको हटाया गया.CameraViewकी जगह अबCameraControllerने ले ली है. डेटा माइग्रेट करने का तरीका जानने के लिए, कृपया डेटा को दूसरी जगह भेजने से जुड़ी गाइड देखें.: (Id5005)
गड़बड़ियां ठीक की गईं
ExperimentalUseCaseGroupLifecycleकोExperimentalUseCaseGroupसे बदला गया. (I3b2ef, b/159033688)
वर्शन 1.0.0-alpha24
21 अप्रैल, 2021
androidx.camera:camera-extensions:1.0.0-alpha24 और androidx.camera:camera-view:1.0.0-alpha24 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha24 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई के लिए, एनोटेशन
@Experimentalको@RequiresOptInसे बदला गया. एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई को कॉल करने के लिए, बंद हो चुकेandroidx.annotation.experimental.UseExperimentalके बजायandroidx.annotation.OptInका इस्तेमाल करें. (Iff226) - Samsung J5 Prime पर PreviewView के स्ट्रेच होने की समस्या ठीक की गई (Ib10b6)
Camera Extensions & View 1.0.0-alpha23
24 मार्च, 2021
androidx.camera:camera-extensions:1.0.0-alpha23 और androidx.camera:camera-view:1.0.0-alpha23 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha23 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- CameraView को बंद किया जा रहा है. इसके बजाय, कृपया
LifecycleCameraControllerका इस्तेमाल करें. डेटा को दूसरी जगह भेजने से जुड़ी गाइड (Idac2c) देखें - setLinearZoom() में FloatRange एनोटेशन जोड़ा गया (I69971)
गड़बड़ियां ठीक की गईं
- कैमरे के व्यू से जुड़ी डिपेंडेंसी को पिन किया गया है, ताकि 1.0.0 आर्टफ़ैक्ट का इस्तेमाल किया जा सके. कैमरा-व्यू पर निर्भर रहने की वजह से, Gradle की डिपेंडेंसी रिज़ॉल्यूशन सुविधा अब camera-core, camera-camera2, और camera-lifecycle को अपने-आप 1.1.0 वर्शन पर अपग्रेड नहीं करेगी. हालांकि, अगर इन आर्टफ़ैक्ट को 1.1.0 वर्शन का इस्तेमाल करने के लिए साफ़ तौर पर सेट किया जाता है, तो कैमरा-व्यू अब भी इनके साथ काम करेगा. (Ic8fa1, b/181599852)
- PreviewView में, Samsung A3 पर स्ट्रेच की गई झलक की समस्या ठीक की गई. (Iacb30, b/180121821)
- उस समस्या को ठीक किया गया है जिसमें कैमरे को शुरू करने से पहले, कैमरा सिलेक्टर को सेट नहीं किया जा सकता था. (Ic8bd0)
Camera Extensions & View 1.0.0-alpha22
24 फ़रवरी, 2021
androidx.camera:camera-extensions:1.0.0-alpha22 और androidx.camera:camera-view:1.0.0-alpha22 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha22 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- CameraController में CameraInfo getter जोड़ें. (Ib8138, b/178251727)
गड़बड़ियां ठीक की गईं
- सिर्फ़ Preview या ImageCapture के बाइंड होने पर गड़बड़ियों की सूचना देने के लिए, ExtensionsErrorListener को ठीक किया गया है. (I5ae39)
Camera Extensions & View Version 1.0.0-alpha21
27 जनवरी, 2021
androidx.camera:camera-extensions:1.0.0-alpha21 और androidx.camera:camera-view:1.0.0-alpha21 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha21 में ये बदलाव शामिल हैं.
इसे अन्य कैमरा लाइब्रेरी आर्टफ़ैक्ट के साथ काम करने के लिए रिलीज़ किया जा रहा है.
Camera Extensions & View Version 1.0.0-alpha20
16 दिसंबर, 2020
androidx.camera:camera-extensions:1.0.0-alpha20 और androidx.camera:camera-view:1.0.0-alpha20 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha20 में ये बदलाव शामिल हैं.
इसे अन्य कैमरा लाइब्रेरी आर्टफ़ैक्ट के साथ काम करने के लिए रिलीज़ किया जा रहा है.
Camera-Extensions & Camera-View वर्शन 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)
- अगर Camera इंस्टेंस से अटैच होने से पहले इस फ़ंक्शन को कॉल किया जाता है, तो
<UseCase>.getTargetRotation()Surface.ROTATION_0दिखाएगा. हालांकि, अगर Builder या 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 Version 1.0.0-alpha17
23 सितंबर, 2020
androidx.camera:camera-extensions:1.0.0-alpha17 रिलीज़ हो गया है. वर्शन 1.0.0-alpha17 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ किया गया
Camera-View का वर्शन 1.0.0-alpha17
23 सितंबर, 2020
androidx.camera:camera-view:1.0.0-alpha17 रिलीज़ हो गया है. वर्शन 1.0.0-alpha17 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ किया गया
Camera-Extensions Version 1.0.0-alpha16
16 सितंबर, 2020
androidx.camera:camera-extensions:1.0.0-alpha16 रिलीज़ हो गया है. वर्शन 1.0.0-alpha16 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ExtensionsManagerमें एक तरीका जोड़ा गया है, ताकिExtensionsऑब्जेक्ट मिल सके. इसका इस्तेमाल, कैमरा इंस्टेंस (I4fb7e) पर एक्सटेंशन चालू करने और उनसे जुड़े सवाल पूछने के लिए किया जाता है
Camera-View का वर्शन 1.0.0-alpha16
16 सितंबर, 2020
androidx.camera:camera-view:1.0.0-alpha16 रिलीज़ हो गया है. वर्शन 1.0.0-alpha16 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
PreviewView#setDeviceRotationForRemoteDisplayMode()औरPreviewView#getDeviceRotationForRemoteDisplayMode()को हटाया गया. ये दोनों तरीके, झलक की रोटेशन को पसंद के मुताबिक बनाने के लिए हैं.ऐसा तब किया जाता है, जब डिसप्ले रोटेशन के बजाय किसी और तरह की रोटेशन का इस्तेमाल करना हो. जैसे, रिमोट डिसप्ले. अब डिसप्ले नहीं होने वाली झलक के रोटेशन को मैनेज करने के लिए,Preview#setTargetRotation()और हाल ही में जोड़े गएPreviewView#getViewPort(targetRotation)की मदद से, रोटेशन सेट करें. (Ib62cc)createSurfaceProvider()का नाम बदलकरgetSurfaceProvider()कर दिया गया. यह तरीका हमेशा Preview.SurfaceProvider का एक ही इंस्टेंस दिखाता है. (Iff83c)
गड़बड़ियां ठीक की गईं
- अगर एक्सटेंशन इफ़ेक्ट चालू है और वेंडर लाइब्रेरी को आउटपुट सर्फ़ेस पर कोई खास प्रोसेस करनी है, तो PreviewView को TextureView का इस्तेमाल करने के लिए मजबूर किया जाता है. (I0c3cc)
- झलक देखने के लिए, टारगेट रोटेशन की अनुमति दें. डेटा में बदलाव करने से जुड़ी जानकारी का हिसाब लगाया जाता है. इसके बाद, इसे उपयोगकर्ता को तुरंत भेज दिया जाता है. इसके लिए, नए
TranformationInfoListenerकॉलबैक का इस्तेमाल किया जाता है. (I21470)
मौजूदा समस्याएं
- PreviewView में, असली उपयोगकर्ता के PreviewView पर क्लिक करने पर
OnClickListener#onClick()शुरू नहीं होता. PreviewView#onTouchEvent() ने गलती से टच इवेंट का इस्तेमाल कर लिया है. इस समस्या को अगले वर्शन में ठीक कर दिया जाएगा. - अगर ViewPort का इस्तेमाल PreviewView के साथ किया जाता है, तो
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.getApplicationContext()से Application ऑब्जेक्ट वापस न करने वाले Context का इस्तेमाल करने पर, अब इनिशियलाइज़ेशन क्रैश नहीं होना चाहिए. (I3d3c9, b/160817073)Camera-View का वर्शन 1.0.0-alpha15
19 अगस्त, 2020
androidx.camera:camera-view:1.0.0-alpha15 रिलीज़ हो गया है. वर्शन 1.0.0-alpha15 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
DisplayOrientedMeteringPointFactory,CameraSelectorके बजायCameraInfoका इंस्टेंस लेता है. इसलिए, यह सीधे तौर पर मैप करता है कि फ़ैक्ट्री किस कैमरे के लिए पॉइंट जनरेट करेगी.DisplayOrientedMeteringPointFactoryका इस्तेमाल करने वाली सभी क्लास,CameraSelectorके बजायCameraInfoइंस्टेंस का इस्तेमाल करती हैं. (I400c1)TextureViewMeteringPointFactoryको हटाया गया.PreviewView, एक सार्वजनिक एपीआई (createMeteringPointFactory()) उपलब्ध कराता है. इससे मीटरिंग पॉइंट फ़ैक्ट्री बनाई जा सकती है. इससे कोई फ़र्क़ नहीं पड़ता कि वहTextureViewयाSurfaceViewका इस्तेमाल कर रही है या नहीं. (Ide693)- PreviewView के
SURFACE_VIEW/TEXTURE_VIEWलागू करने के मोड का नाम बदलकरPERFORMANCE/COMPATIBLEकर दिया गया है.PERFORMANCE,SURFACE_VIEWमोड है औरCOMPATIBLE,TEXTURE_VIEWमोड है. (I0edc2) - इमेज कैप्चर करने के लिए, कैमरे की दिशा के आधार पर मेटाडेटा में फ़्लिप हॉरिज़ॉन्टल फ़्लैग को बदलता है. (I28499)
Camera-Extensions वर्शन 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 अब IllegalArgumentException के साथ क्रैश नहीं होता है. ऐसा तब होता है, जब इसे ऐसे LifecycleOwner से बाइंड किया जाता है जिसका Lifecycle, बाइंड होने के कुछ समय बाद 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 Version 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) CameraInfoपैरामीटर कोPreviewView#createSurfaceProvider()से हटा दिया गया है. अबPreviewViewइसेSurfaceRequestसे अंदरूनी तौर पर वापस पाता है. (If18f0, b/154652477)- CameraView में, VideoCapture के डिफ़ॉल्ट आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) को 16:9 पर सेट किया गया है. (Ie6a7b, b/153237864)
PreviewViewफ़्रैगमेंट को स्वाइप करके बाहर ले जाने और फिर ViewPager2 में वापस स्वाइप करके लाने पर, काली स्क्रीन दिखने की समस्याओंPreviewको ठीक किया गया है.removeView(previewview)और फिरaddView(previewView)करने पर होने वाली समस्या को भी ठीक किया गया है. (Iab555, b/149877652, b/147354615)CameraView#takePicture()एपीआई को अपडेट करें, ताकि इमेज कोUriऔरOutputStreamमें सेव किया जा सके.Uriको कैननिकल उदाहरण के तौर पर इस्तेमाल करने के लिए, टेस्ट ऐप्लिकेशन को अपडेट करें. (Ia2459, b/153607583)ScaleTypeएट्रिब्यूट सेट करके, एक्सएमएल लेआउट से PreviewView का स्केल टाइप सेट किया जा सकता है. (I08565, b/153015659)CameraView.ScaleTypeको हटा दिया गया है. इसके बजाय, CameraView के साथ स्केल टाइप को सेट/पाने के लिए,PreviewView.ScaleTypeका इस्तेमाल करें. (Ia8974, b/153014831)- अगर
PreviewViewमें पहले से कोई बैकग्राउंड कलर नहीं है, तो डिफ़ॉल्ट रूप से बैकग्राउंड कलर जोड़ें. इससे, झलक वाली स्ट्रीम शुरू होने से पहले, इसके पीछे मौजूद कॉन्टेंट नहीं दिखता. (I09fad)
Camera-Extensions Version 1.0.0-alpha10
15 अप्रैल, 2020
androidx.camera:camera-extensions:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Camera-Core की रिलीज़ के लिए सुधार किए गए हैं
Camera-View वर्शन 1.0.0-alpha10
15 अप्रैल, 2020
androidx.camera:camera-view:1.0.0-alpha010 रिलीज़ हो गया है. वर्शन 1.0.0-alpha010 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- इस वर्शन में, पिछली जानी-पहचानी समस्या को ठीक किया गया है. इस समस्या में,
PreviewViewका surfaceView लागू करने की सुविधा, कुछ डिवाइसों पर ठीक से काम नहीं कर रही थी. साथ ही, इससे झलक फिर से शुरू करने के बाद ऐप्लिकेशन बंद हो जाता था. (I5ed6b)
Camera-Extensions वर्शन 1.0.0-alpha09
1 अप्रैल, 2020
androidx.camera:camera-extensions:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
camera-camera2:1.0.0-beta02,camera-core:1.0.0-beta02, औरcamera-lifecycle:1.0.0-beta02आर्टफ़ैक्ट में गड़बड़ियां ठीक करने के लिए अपडेट किया गया
Camera-View का वर्शन 1.0.0-alpha09
1 अप्रैल, 2020
androidx.camera:camera-view:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.
मौजूदा समस्याएं
PreviewViewके साथPreviewViewका इस्तेमाल करने पर, हो सकता है कि यह कुछ डिवाइसों पर ठीक से काम न करे. ऐसा इसलिए होता है, क्योंकि झलक के लिए इस्तेमाल किया गयाSurfaceView, उस विंडो के लाइफ़साइकल के बंद होने पर अपनी सतह को अमान्य कर देता है. जब यह फिर से शुरू होता है, तो कैमरा फिर से खुल जाता है औरSurfaceViewकी सतह के फिर से मान्य होने से पहले, झलक को फिर से शुरू करने की कोशिश कर सकता है.ImplementationMode.SURFACE_VIEWफ़िलहाल, आपकोImplementationMode.TEXTURE_VIEWका इस्तेमाल करना चाहिए.
एपीआई में हुए बदलाव
PreviewView.setImplementationMode()का नाम बदलकरPreviewView.setPreferredImplementationMode()कर दिया गया.PreviewView.getImplementationMode()का नाम बदलकरPreviewView.getPreferredImplementationMode()कर दिया गया.PreviewView.getSurfaceProvider()कोPreviewView.createSurfaceProvider(CameraInfo)से बदल दिया गया है. यह एक ऐसा इंस्टेंस है जिसमें शून्य वैल्यू हो सकती है. इसका इस्तेमाल,ImplementationMode.SURFACE_VIEWका इस्तेमाल करके, झलक को ऑप्टिमाइज़ करने के लिए किया जाता है.CameraInfoअगर कोई शून्य इंस्टेंस पास किया जाता है या आपने पसंदीदा मोड कोImplementationMode.TEXTURE_VIEWपर सेट किया है, तोImplementationMode.TEXTURE_VIEWका इस्तेमाल अंदरूनी तौर पर किया जाता है.यहां दिए गए कोड सैंपल में दिखाया गया है कि PreviewView के साथ, झलक देखने की सुविधा का इस्तेमाल कैसे किया जाता था.
preview.setSurfaceProvider(previewView.previewSurfaceProvider) cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)फ़िलहाल, ये प्रॉम्प्ट लिखे जा सकते हैं:
val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview) previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))@UiThreadएनोटेशन कोPreviewView.getSurfaceProvider()में जोड़ा गया है. इसका मतलब है कि इसे मुख्य थ्रेड से कॉल किया जाना चाहिए. (I192f3)PreviewView.setScaleType()जोड़ा गया है. इससे झलक का स्केल टाइप सेट किया जा सकता है. यहPreviewView.ScaleTypeमें से कोई एक वैल्यू स्वीकार करता है. इसकी डिफ़ॉल्ट वैल्यूPreviewView.ScaleType.FILL_CENTERहोती है.PreviewView.getScaleType()जोड़ा गया.एक्सएमएल लेआउट में
PreviewViewएट्रिब्यूट का इस्तेमाल करके,PreviewViewके लिए लागू करने का मोड सेट करने की सुविधा हटा दी गई है.implementationModecreateMeteringPointFactory()API को PreviewView में जोड़ें, ताकिPreviewViewमें मौजूद (x, y) कोMeteringPointमें बदला जा सके. (Ib36d7)
गड़बड़ियां ठीक की गईं
- उन मामलों को ठीक किया गया है जिनमें
PreviewViewका साइज़ बदलने के बाद, गलत झलक दिखती है. (I71101)
Camera-Extensions वर्शन 1.0.0-alpha08
26 फ़रवरी, 2020
androidx.camera:camera-extensions:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.
Camera-View का वर्शन 1.0.0-alpha08
26 फ़रवरी, 2020
androidx.camera:camera-view:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
SurfaceRequest.provideSurface()पर मौजूदListenableFutureकोExecutorऔरCallbackसे बदला गया. इससे एपीआई इस्तेमाल करना आसान हो जाता है, क्योंकि अबprovideSurface()पर अपवादों को मैनेज करने की ज़रूरत नहीं होती. साथ ही, यह भी पक्का किया जाता है किprovideSurface()कॉलबैक को रद्द नहीं किया जा सकता. ऐसा इसलिए किया गया है, ताकि पुराने डिवाइसों पर क्रैश होने की समस्या न हो. यह समस्या, समय से पहले सर्फ़ेस रिलीज़ करने की वजह से होती है.SurfaceRequest.Resultऑब्जेक्ट का इस्तेमाल अब यह ट्रैक करने के लिए किया जाता है किSurfaceRequest, दिए गएSurfaceका इस्तेमाल कैसे करता है. (I7854b)SurfaceRequest.setSurface(Surface)का नाम बदलकरSurfaceRequest.provideSurface(Surface)औरSurfaceRequest.setWillNotComplete()का नाम बदलकरSurfaceRequest.willNotProvideSurface()किया गया. (I224fe)- ProGuard चालू होने पर, ऐप्लिकेशन के वैरिएंट के इनिशियलाइज़ेशन की समस्या ठीक की गई. साथ ही,
CameraXConfigसेवा देने वाली डिफ़ॉल्ट कंपनी को सेट करने वाले फ़्लैग को सुरक्षित रखा गया. (I2d6c1)
Camera-Extensions Version 1.0.0-alpha07
10 फ़रवरी, 2020
androidx.camera:camera-extensions:1.0.0-alpha07 रिलीज़ हो गया है. वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ImageCapture.OnImageSavedCallback.onError()औरImageCapture.OnImageCapturedCallback.onError()में पहले पास किए गए आर्ग्युमेंट को अब एक ही आर्ग्युमेंटImageCaptureExceptionसे बदल दिया गया है. इसमें अब भी वह सारी जानकारी शामिल है जो पहले पास की गई थी.ImageCapture.OnImageSavedCallback.onImageSaved()में पहले पास किए गए फ़ाइल आर्ग्युमेंट को हटा दिया गया है. (I750d2)
Camera-View Version 1.0.0-alpha07
10 फ़रवरी, 2020
androidx.camera:camera-view:1.0.0-alpha07 रिलीज़ हो गया है. वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
PreviewViewको लागू करने पर, अबTextureViewका साइज़, कैमरा सेंसर के आउटपुट साइज़ पर सेट हो जाता है. इसके बाद, इसे पैरंटPreviewViewके साइज़ के हिसाब से स्केल किया जाता है.TextureViewअगर आपको कैमरा प्रीव्यू को यूज़र इंटरफ़ेस (यूआई) के किसी हिस्से (जैसे, पूरी स्क्रीन) में दिखाना है, तो आपकोPreviewViewका साइज़ तय नहीं करना चाहिए. इसके अलावा, आपको इसके कॉन्टेंट को रैप नहीं करना चाहिए. उदाहरण के लिए, "wrap_content" एट्रिब्यूट का इस्तेमाल करके ऐसा किया जा सकता है. ऐसा करने पर, हो सकता है कि कैमरा प्रीव्यू,PreviewViewके सिर्फ़ एक हिस्से में दिखे. ऐसा तब होता है, जब कैमरा सेंसर का आउटपुट साइज़ छोटा होता है. इसके बजाय, आपकोPreviewViewको उसके पैरंट जितना बड़ा सेट करना चाहिए. उदाहरण के लिए, "match_parent" एट्रिब्यूट का इस्तेमाल करके. (1204869)
गड़बड़ियां ठीक की गईं
ImageCaptureको अपडेट किया गया है, ताकि इमेज कोUriऔरOutputStreamमें सेव किया जा सके.takePictureके ज़्यादा इस्तेमाल किए गए तरीकों को एक में मिला दिया गया है.Uriको कैननिकल उदाहरण के तौर पर इस्तेमाल करने के लिए, टेस्ट ऐप्लिकेशन को अपडेट किया गया. (Ia3bec)Preview.PreviewSurfaceProviderका नाम बदलकरPreview.SurfaceProviderकर दिया गया है.SurfaceProviderके लिए, अब डेवलपर को अपनाListenableFutureबनाने की ज़रूरत नहीं है. साथ ही,Surfaceदेने का काम अब नएSurfaceRequestऑब्जेक्ट के ज़रिए किया जाता है.Preview.getPreviewSurfaceProvider()तरीके को हटा दिया गया है. ऐसा इसलिए किया गया है, क्योंकिPreviewकोPreviewViewजैसी अन्य क्लास के साथ जोड़ने पर, इसका गलत इस्तेमाल किया जा सकता है. (I20105)ImageCapture.OnImageSavedCallback.onError()औरImageCapture.OnImageCapturedCallback.onError()में पहले पास किए गए आर्ग्युमेंट को अब एक ही आर्ग्युमेंटImageCaptureExceptionसे बदल दिया गया है. इसमें अब भी वह सारी जानकारी शामिल है जो पहले पास की गई थी.ImageCapture.OnImageSavedCallback.onImageSaved()में पहले पास किए गए फ़ाइल आर्ग्युमेंट को हटा दिया गया है. (I750d2)- एपीआई को अपडेट किया गया है. इसमें
CameraInfoकेgetZoomRatio(),getMaxZoomRatio(),getMinZoomRatio(), औरgetLinearZoom()तरीकों कोgetZoomState()में मर्ज किया गया है. इससेZoomStateइंस्टेंस मिलता है. (Ib19fe)
Camera-Extensions वर्शन 1.0.0-alpha06
22 जनवरी, 2020
androidx.camera:camera-extensions:1.0.0-alpha06 रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये बदलाव शामिल हैं.
अपडेट
- Camera Core और Camera2 में हुए बदलावों के साथ काम करने के लिए, कई सुधार और अपडेट किए गए हैं.
Camera-View का वर्शन 1.0.0-alpha06
22 जनवरी, 2020
androidx.camera:camera-view:1.0.0-alpha06 रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये बदलाव शामिल हैं.
अपडेट
- Camera Core और Camera2 में हुए बदलावों के साथ काम करने के लिए, कई सुधार और अपडेट किए गए हैं.
Camera-Extensions वर्शन 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 में शामिल बदलाव हैं
- आने वाले समय में, कैमरा एक्सटेंशन के लिए नई लाइब्रेरी उपलब्ध कराई जाएगी. इससे, उन डिवाइसों पर इफ़ेक्ट ऐक्सेस किए जा सकेंगे जिन पर ये एक्सटेंशन काम करते हैं. इस लाइब्रेरी पर अभी काम चल रहा है.
- कैमरे के नए व्यू की क्लास. इस लाइब्रेरी पर अभी काम चल रहा है.