CameraX
इस टेबल में, androidx.camera ग्रुप के सभी आर्टफ़ैक्ट की सूची दी गई है.
| सह-प्रॉडक्ट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| camera-camera2 | 1.5.3 | - | 1.6.0-beta02 | - |
| camera-core | 1.5.3 | - | 1.6.0-beta02 | - |
| camera-compose | 1.5.3 | - | 1.6.0-beta02 | - |
| camera-effects | 1.5.3 | - | 1.6.0-beta02 | - |
| camera-extensions | 1.5.3 | - | 1.6.0-beta02 | - |
| camera-feature-combination-query | - | - | - | 1.5.0-alpha06 |
| camera-feature-combination-query-play-services | - | - | - | 1.5.0-alpha06 |
| camera-lifecycle | 1.5.3 | - | 1.6.0-beta02 | - |
| camera-mlkit-vision | 1.5.3 | - | 1.6.0-beta02 | - |
| camera-view | 1.5.3 | - | 1.6.0-beta02 | - |
| camera-viewfinder | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
| camera-video | 1.5.3 | - | 1.6.0-beta02 | - |
डिवाइस की जांच करना
CameraX की जांच हमारे लैब में कई डिवाइसों पर की जाती है. लैब में मौजूद डिवाइसों की सूची देखने के लिए, CameraX की लैब में टेस्ट किए गए डिवाइस देखें.
डिपेंडेंसी का एलान करना
CameraX पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
Groovy
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.6.0-beta02" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation "androidx.camera:camera-core:${camerax_version}" implementation "androidx.camera:camera-camera2:${camerax_version}" // If you want to additionally use the CameraX Lifecycle library implementation "androidx.camera:camera-lifecycle:${camerax_version}" // If you want to additionally use the CameraX VideoCapture library implementation "androidx.camera:camera-video:${camerax_version}" // If you want to additionally use the CameraX View class implementation "androidx.camera:camera-view:${camerax_version}" // If you want to additionally add CameraX ML Kit Vision Integration implementation "androidx.camera:camera-mlkit-vision:${camerax_version}" // If you want to additionally use the CameraX Extensions library implementation "androidx.camera:camera-extensions:${camerax_version}" }
Kotlin
dependencies { // CameraX core library using the camera2 implementation val camerax_version = "1.6.0-beta02" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation("androidx.camera:camera-core:${camerax_version}") implementation("androidx.camera:camera-camera2:${camerax_version}") // If you want to additionally use the CameraX Lifecycle library implementation("androidx.camera:camera-lifecycle:${camerax_version}") // If you want to additionally use the CameraX VideoCapture library implementation("androidx.camera:camera-video:${camerax_version}") // If you want to additionally use the CameraX View class implementation("androidx.camera:camera-view:${camerax_version}") // If you want to additionally add CameraX ML Kit Vision Integration implementation("androidx.camera:camera-mlkit-vision:${camerax_version}") // If you want to additionally use the CameraX Extensions library implementation("androidx.camera:camera-extensions:${camerax_version}") }
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
Camera Viewfinder Compose का वर्शन 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, अलग-अलग आसपेक्ट रेशियो और टच इवेंट को हैंडल करने की सुविधा देता है.
कैमरा व्यूफ़ाइंडर का वर्शन 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केImplementationModeEnums का नाम बदलें, ताकि वे बेहतर तरीके से लागू हो सकें. साथ ही,TransformationInfo.sourceRotationके लिए तय किए गए कॉन्स्टेंट जोड़ें. (Ic6149)- ज़ूम करने के जेस्चर की स्थितियों को शामिल करने के लिए,
ZoomGestureDetector.ZoomEventजोड़ा गया. (I84cdf)
कैमरे का वर्शन 1.6
वर्शन 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)ExtensionSessionConfigएपीआई को ऐक्सेस किया गया है. ऐप्लिकेशन अब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का इस्तेमाल करने पर, अब Feature Group API एक जैसे नतीजे देता है. इस अपडेट में, उस गड़बड़ी को ठीक किया गया है जिसकी वजह से,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सुविधा कोVideoCaptureइस्तेमाल के उदाहरण के साथ जोड़ा गया था, लेकिनPreviewइस्तेमाल के उदाहरण के साथ नहीं जोड़ा गया था. इस वजह से, फ़ीचर ग्रुप API के नतीजे अलग-अलग आ रहे थे. (Ifed82) - कुछ मामलों में, पसंदीदा सुविधाओं को फ़िल्टर नहीं किया जा रहा था. ऐसा तब हो रहा था, जब सुविधाओं के काम करने के लिए ज़रूरी शर्तें पूरी नहीं की गई थीं. इस समस्या को ठीक कर दिया गया है. (I38db8)
संस्करण 1.5.1
08 अक्टूबर, 2025
androidx.camera:camera-*:1.5.1 रिलीज़ हो गया है. वर्शन 1.5.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एक साथ कई कैमरा कंपोज़िशन मोड में
CameraEffectका इस्तेमाल किया जा सकता है. इफ़ेक्ट, कंपोज़िशन के आउटपुट पर लागू होगा. कृपया ध्यान दें कि कैमरा कंपोज़िशन मोड में इफ़ेक्ट सेट होने पर,mirrorModeमेंVideoCaptureको अनदेखा कर दिया जाएगा. (If3d00, b/425565129) - उस समस्या को ठीक किया गया है जिसमें एक साथ कई कैमरे इस्तेमाल करने की सुविधा चालू होने पर, सेकंडरी कैमरे पर
mirrorModeको सही तरीके से लागू नहीं किया जाता था. (I686cd, b/446430827) - एक साथ कई कैमरे इस्तेमाल करते समय, कंपोज़िशन मोड के अलावा अन्य मोड में
Preview,ImageCapture, औरVideoCaptureको एक साथ बाइंड करने की सुविधा. (Ib410a, b/443009871) - उस समस्या को ठीक किया गया है जिसमें
ImageCaptureऔरVideoCaptureजैसे UseCases को फिर से बनाने पर, टारगेट रोटेशन की जानकारी मिट जाती थी. अगर डिवाइस को घुमाने के बाद,imageCaptureModeजैसी कोई सेटिंग बदली जाती है, तो इससे इमेज या वीडियो का ओरिएंटेशन गलत हो सकता है. (I477c8, b/444734537) - हमने उस समस्या को ठीक कर दिया है जिसकी वजह से Preview, 16:9 रिज़ॉल्यूशन नहीं चुन पा रहा था. साथ ही,
VideoCaptureQUALITY_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 FPS, और झलक देखने की सुविधा को स्थिर करने की सुविधा. आपके पास प्राथमिकता के साथ, पसंदीदा सुविधा ग्रुप सेट करने का विकल्प भी होता है. इससे CameraX को, सबसे सही कॉम्बिनेशन तय करने में मदद मिलती है. ज़्यादा जानकारी के लिए,SessionConfig.Builder#setPreferredFeatureGroup,SessionConfig.Builder#setRequiredFeatureGroup, औरCameraInfo#isFeatureGroupSupported(SessionConfig)देखें.- डिटरमिनिस्टिक फ़्रेम रेट एपीआई:
setTargetFrameRateका इस्तेमाल करके क्वेरी करें औरSessionConfig.setExpectedFrameRateRangeका इस्तेमाल करके सटीक और काम करने वाले फ़्रेम रेट सेट करें. इससेsetTargetFrameRateसे जुड़ी पिछली सीमाओं को हल किया जा सकता है.CameraInfo.getSupportedFrameRateRanges(sessionConfig) - कैमरा एक्सटेंशन: अब एक्सटेंशन के साथ 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चालू करने या इस्तेमाल के चार उदाहरणों(स्ट्रीम शेयर करने) को बाइंड करने पर होने वाली मेमोरी लीक की समस्या को ठीक किया गया है (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अब Compose के साथ सही तरीके से काम करता हैPager. इस बदलाव से यह पक्का होता है किAndroidViewकेonResetकॉलबैक को लागू करके, कंपोज़ेबल को सही तरीके से रीसेट किया जा सकता है. यहEMBEDDEDऔरEXTERNAL, दोनों के साथ काम करता है. (I0d9be) - लाइफ़साइकल के मालिक से यूज़ केस को अनबाइंड करते समय, लाइफ़साइकल के मालिक की जानकारी लीक होने की समस्या को ठीक किया गया है. ऐसा तब होता है, जब कैमरा प्रोवाइडर को बंद नहीं किया जाता है.
वर्शन 1.5.0-beta01
7 मई, 2025
androidx.camera:camera-*:1.5.0-beta01 रिलीज़ हो गया है. वर्शन 1.5.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- Kotlin 2.0 के साथ रिलीज़ किए गए प्रोजेक्ट के लिए, KGP 2.0.0 या उसके बाद का वर्शन इस्तेमाल करना ज़रूरी है (Idb6b5)
ContentScaleऔर अलाइनमेंट की सुविधा का इस्तेमाल अब व्यूफ़ाइंडर में किया जा सकता है. इससे, दिखाए गए ऑब्जेक्ट को उसके कंटेनर में स्केल और प्लेस किया जा सकता है. यह सुविधा,androidx.compose.foundation.Imageकी तरह काम करती है. (Ibcea3)TransformationInfoमें अब सभी आर्ग्युमेंट के लिए डिफ़ॉल्ट वैल्यू मौजूद हैं. इससे बिना किसीTransformationInfoके व्यूफ़ाइंडर बनाए जा सकेंगे. इनमें डिफ़ॉल्ट रूप से, सोर्स रोटेशन 0 पर सेट होगा, सोर्स मिररिंग नहीं होगी, और क्रॉप रेक्ट नहीं होगा. (I2b1b2)LifecycleCameraProviderजोड़ा गया. यह एक कैमरा प्रोवाइडर है. इसे अलग-अलग कॉन्फ़िगरेशन के साथ इंस्टैंशिएट किया जा सकता है. जैसे, कस्टम कॉन्टेक्स्ट के साथ कॉन्फ़िगर करके वर्चुअल डिवाइस के कैमरे को ऐक्सेस करना. (Ia2992)
गड़बड़ियां ठीक की गईं
- Samsung SM-E556B डिवाइस पर,
ImageAnalysisका इस्तेमाल करने वाली किसी अन्य स्ट्रीम के साथTEMPLATE_RECORDका इस्तेमाल करते समय, झलक के फ़्रीज़ होने की समस्या को ठीक किया गया है. (Ic0e62, b/409478042) - Samsung SM-M556B डिवाइस पर,
ImageAnalysisका इस्तेमाल करने वाली किसी अन्य स्ट्रीम के साथTEMPLATE_RECORDका इस्तेमाल करते समय, झलक के फ़्रीज़ होने की समस्या को ठीक किया गया है. (Ic1a6a, b/395822788) - Android 15 वाले Pixel डिवाइसों पर, ज़ूम करने से जुड़े ऑपरेशन करते समय, एक्सटेंशन के नाइट मोड
AssertErrorसे जुड़ी समस्या को ठीक किया गया है. (I27a5d, b/401460276) CameraControllerका इस्तेमाल करते समय, ML Kit Analyzer के गलत बाउंडिंग बॉक्स कोऑर्डिनेट की समस्या को ठीक किया गया. (Iae91b, b/409808510)
वर्शन 1.5.0-alpha06
26 फ़रवरी, 2025
androidx.camera:camera-*:1.5.0-alpha06 रिलीज़ हो गया है. वर्शन 1.5.0-alpha06 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- टॉर्च की रोशनी को पसंद के मुताबिक बनाने के लिए
CameraInfo.getTorchStrengthLevel,CameraInfo.getMaxTorchStrengthLevel, औरCameraControl.setTorchStrengthLevelको जोड़ा गया (I00878) - एक नया एपीआई
CameraController#setTapToFocusAutoCancelDurationजोड़ा गया है, ताकि उपयोगकर्ताPreviewViewटैप-टू-फ़ोकस इवेंट के लिए, अपने-आप रद्द होने की सुविधा को कंट्रोल कर सकें. डिफ़ॉल्ट रूप से, CameraX पांच सेकंड के बाद फ़ोकस इवेंट रद्द कर देता है.इसका मतलब है कि कैमरे का फ़ोकस रीसेट हो जाता है. यह एपीआई, उस अवधि में बदलाव करने या अपने-आप रद्द होने की सुविधा को पूरी तरह से बंद करने की अनुमति देता है. (Icf59a) FLASH_STATE_READYका नाम बदलकरNOT_FIREDकर दिया गया है. साथ ही, अन्यFlashStateकॉन्स्टेंट के नाम को आसान बना दिया गया है, ताकि उन्हें आसानी से पढ़ा जा सके. (I8771d)- Low Light Boost API को ऐक्सेस करने की सुविधा जोड़ी गई. Android 15 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों पर, कम रोशनी में फ़ोटो को बेहतर बनाने की सुविधा उपलब्ध हो सकती है. यह सुविधा, कम रोशनी में झलक, वीडियो या इमेज विश्लेषण स्ट्रीम की चमक को अपने-आप अडजस्ट कर सकती है. ऐप्लिकेशन, नए एपीआई का इस्तेमाल इन कामों के लिए कर सकते हैं: 1.
CameraInfo#isLowLightBoostSupportedका इस्तेमाल करके, यह देखा जा सकता है कि सुविधा उपलब्ध है या नहीं. 2. जब डिवाइसों पर यह मोड काम करता हो, तब इसे चालू करने के लिएCameraControl#enableLowLightBoostAsyncका इस्तेमाल करें. 3. कम रोशनी में बेहतर फ़ोटो लेने की सुविधा की स्थिति पर नज़र रखने के लिए,CameraInfo#getLowLightBoostStateका इस्तेमाल करें. (I937ed) - कैमरे की कई सुविधाओं को एक साथ इस्तेमाल करने की कोशिश में, camera2 के बिना तेज़ी से क्वेरी करने की अनुमति देने के लिए, कंपैट क्लास जोड़ें. (Ie97ee)
CameraControllerटैप-टू-फ़ोकस इवेंट के लिए, नया एपीआईgetTapToFocusInfoState()अब टैप की पोज़िशन भी दिखाता है. इसके लिए, यहTapToFocusInfoक्लास काLiveDataदिखाता है. वहीं,getTapToFocusState()दिखाने वाला पिछलाLiveData<Integer>एपीआई, नए एपीआई के पक्ष में बंद कर दिया गया है. (I238d2)
गड़बड़ियां ठीक की गईं
- हमने उस समस्या को ठीक किया है जिसमें एक्सटेंशन के साथ प्रीव्यू स्टेबलाइज़ेशन की सुविधा चालू होने पर, प्रीव्यू स्टेबलाइज़ेशन लागू नहीं होता था. (I24ad7)
- CameraX, फ़ोकस इवेंट को डिफ़ॉल्ट रूप से पांच सेकंड के बाद अपने-आप रद्द कर देता है. इस वजह से, फ़ोकस की स्थिति का इवेंट
CameraController,TAP_TO_FOCUS_NOT_STARTEDपर रीसेट नहीं हो रहा है. इस समस्या को ठीक कर दिया गया है. (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के साथ स्ट्रीम शेयर करने के लिए, स्ट्रीम शेयर करने का सिस्टम चालू होने पर,Preview/VideoCaptureटारगेट फ़्रेम रेट से जुड़ी समस्या को ठीक किया गया है. (I4fdac)- Samsung S10e और S10+ डिवाइसों पर, JPEG इमेज के मेटाडेटा की गलत जानकारी की समस्या को ठीक करने के लिए, वर्कअराउंड की सुविधा चालू की गई. इस फ़िक्स के बाद, CameraX इन डिवाइसों पर JPEG इमेज को सेव कर सकता है. इसके अलावा, अगर JPEG इमेज के मेटाडेटा से जुड़ी समस्या होती है, तो
ImageProxy.toBitmap()फ़ंक्शन को कॉल करने पर सही बिटमैप ऑब्जेक्ट वापस लाए जा सकते हैं. (Iae493, b/356428987) - Samsung A52s के बैक कैमरे के लिए एक्सटेंशन बंद कर दिए गए हैं. इस कैमरे का आईडी 0 है. ऐसा इसलिए किया गया है, क्योंकि एचडीआर इमेज कैप्चर करते समय नेटिव क्रैश हो सकते हैं. साथ ही, BOKEH या FACE_RETOUCH मोड के लिए कैप्चर सेशन कॉन्फ़िगर नहीं हो सकते. (I03ec9, b/364152642)
- वीडियो रिकॉर्ड करते समय और स्टोरेज में ज़रूरत के मुताबिक जगह न होने पर,
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEइवेंट ट्रिगर नहीं होता. इस समस्या को ठीक किया गया है. (Ia5b4f, b/356399842) - उस समस्या को ठीक कर दिया गया है जिसमें Oppo A5 (CPH1931) पर दूसरी बार वीडियो रिकॉर्ड करने की कोशिश करने पर समस्या आ रही थी. (I181d6)
वर्शन 1.5.0-alpha01
4 सितंबर, 2024
androidx.camera:camera-*:1.5.0-alpha01 रिलीज़ हो गया है. वर्शन 1.5.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- CameraX Viewfinder Compose Adapter के लिए एक नया आर्टफ़ैक्ट,
camera-composeरिलीज़ किया गया है. यहcamera-coreसे CameraXSurfaceRequestकी झलक वाली स्ट्रीम दिखाता है. (I8666e) - एक नया कंपोज़ेबल,
CameraXViewfinderजोड़ा गया है. यह एक इडियोमैटिक कंपोज़ेबल के तौर पर काम करता है. यह कंपोज़ेबलViewfinderके लिए, CameraXSurfaceRequests को अडैप्ट करता है. (I4770f)
एपीआई में हुए बदलाव
- एक साथ दो कैमरों से वीडियो कैप्चर करने के लिए, कंपोज़िशन सेटिंग सेट करने के लिए एपीआई उपलब्ध कराएं. इन सेटिंग में, ब्लेंडिंग के लिए ऐल्फ़ा वैल्यू, x और y कोऑर्डिनेट में ऑफ़सेट, और कैमरा फ़्रेम डिसप्ले विंडो की चौड़ाई और ऊंचाई का स्केल शामिल है. ऑफ़सेट, चौड़ाई, और ऊंचाई को सामान्य किए गए डिवाइस के कोऑर्डिनेट में बताया जाता है. (Ia2b8a)
CameraProvider.getCameraInfoको एक फ़ॉर्मल एपीआई के तौर पर उपलब्ध कराया गया है. (I901cd)- शुरुआती म्यूट स्थिति को कंट्रोल करने के लिए, एपीआई
PendingRecording.withAudioEnabled(boolean initialMuted)जोड़ा गया. (I635c3, b/354829267)
गड़बड़ियां ठीक की गईं
- डस्ट्रॉय किए गए
LifecycleOwnerके साथbindToLifecycleको शुरू करने पर होने वाले क्रैश की समस्या को ठीक किया गया है. (I6e6d8) - Motorola Edge 20 Fusion पर
VideoCaptureके साथ बाइंड करते समय, सामने वाले कैमरे में फ़िक्स्ड प्रीव्यू की सुविधा काम नहीं कर रही है. (I1fe88) PreviewViewमें ज़ूम करने के जेस्चर का पता लगाने के लिए, कॉन्फ़िगरेशन को ऑप्टिमाइज़ किया गया है, ताकि इसे आसानी से इस्तेमाल किया जा सके. (I04ffc)
कैमरे का वर्शन 1.4
वर्शन 1.4.2
26 मार्च, 2025
androidx.camera:camera-*:1.4.2 रिलीज़ हो गया है. वर्शन 1.4.2 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Samsung Galaxy M55 पर,
TEMPLATE_RECORDका इस्तेमाल करने वाली किसी अन्य स्ट्रीम के साथImageAnalysisका इस्तेमाल करते समय, झलक के फ़्रीज़ होने की समस्या को ठीक किया गया. (Ic1a6a, b/395822788)
वर्शन 1.4.1
11 दिसंबर, 2024
androidx.camera:camera-*:1.4.1 रिलीज़ हो गया है. वर्शन 1.4.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Pixel के Android 15 डिवाइसों पर, एक्सटेंशन में मौजूद नाइट मोड से जुड़ी एक समस्या को ठीक किया गया है. इस समस्या में, कैमरा किसी आस-पास मौजूद ऑब्जेक्ट पर फ़ोकस नहीं करता था. इस वजह से, नाइट मोड में इमेज कैप्चर नहीं हो पाती थीं. (I228d4)
- एक्सटेंशन चालू होने और
VideoCaptureएक साथ बाइंड होने पर,ImageCapture#takePictureके ठीक से काम न करने की समस्या को ठीक किया गया है. (I5c745)
वर्शन 1.4.0
30 अक्टूबर, 2024
androidx.camera:camera-*:1.4.0 रिलीज़ हो गया है. वर्शन 1.4.0 में ये बदलाव शामिल हैं.
1.3.0 के बाद हुए अहम बदलाव
CameraX 1.4.0 में कई शानदार अपडेट उपलब्ध हैं! यहां इन अपडेट की खास जानकारी दी गई है:
हेडलाइन फ़ीचर: 10-बिट एचडीआर:
- आसानी से शानदार एचडीआर फ़ोटो और वीडियो कैप्चर करें.
- एचएलजी और 10-बिट HEVC एन्कोडिंग के साथ काम करता है.
- 10-बिट एचडीआर की झलक देखें और डिवाइस की क्षमताओं के बारे में क्वेरी करें.
- यह सुविधा, ज़्यादा से ज़्यादा डिवाइसों पर
UltraHDRइमेज और एचडीआर वीडियो के साथ काम करती है.
अन्य बेहतरीन सुविधाएं:
- Kotlin एक्सटेंशन:
takePictureऔरawaitInstanceसस्पेंड फ़ंक्शन जोड़े गए. - रीयल-टाइम इफ़ेक्ट: वॉटरमार्क और ऑब्जेक्ट हाइलाइट करने जैसे इफ़ेक्ट लागू करें.
- CameraController API: वीडियो कैप्चर करने के कॉन्फ़िगरेशन के लिए नए कंट्रोल.
- झलक की स्थिरता: डिवाइस की क्षमता के बारे में क्वेरी करना और स्टेबलाइज़ेशन की सुविधा चालू करना.
- VideoCapture की बेहतर सुविधाएं: क्वालिटी पर बेहतर कंट्रोल और ज़्यादा रिज़ॉल्यूशन का ऐक्सेस.
- CameraX एक्सटेंशन इंटिग्रेशन:
VideoCaptureऔर नईImageCaptureसुविधाओं के साथ आसानी से इंटिग्रेट किया जा सकता है. - Shutter Sound API: इस एपीआई की मदद से, किसी देश/इलाके में शटर की आवाज़ से जुड़ी ज़रूरी शर्तों को आसानी से देखा जा सकता है.
- स्क्रीन फ़्लैश: सामने वाले कैमरे से कम रोशनी में बेहतर फ़ोटो ली जा सकती हैं.
- कैमरा एक्सटेंशन के मेटाडेटा एपीआई: ये एपीआई, एक्सटेंशन की परफ़ॉर्मेंस को अडजस्ट करने और
ExtensionMode#AUTOमें मौजूदा एक्सटेंशन मोड की सूचना पाने में मदद करते हैं. बग ठीक करने से जुड़ी ज़्यादा जानकारी के लिए, बीटा और आरसी से जुड़ी सूचनाएं देखें.
वर्शन 1.4.0-rc04
16 अक्टूबर, 2024
androidx.camera:camera-*:1.4.0-rc04 रिलीज़ हो गया है. वर्शन 1.4.0-rc04 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें किसी इफ़ेक्ट के चालू होने या चार इस्तेमाल के उदाहरणों के बाइंड होने (स्ट्रीम-शेयरिंग) पर,
startFocusMeteringकोPreviewView.getMeteringPointFactoryके साथ चालू करने पर सेंसर के सही कोऑर्डिनेट नहीं मिलते थे. (I916c5, b/345993685)
वर्शन 1.4.0-rc03
2 अक्टूबर, 2024
androidx.camera:camera-*:1.4.0-rc03 रिलीज़ हो गया है. वर्शन 1.4.0-rc03 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
CameraEffectकी मदद से इमेज कैप्चर करने के लिए, फ़्लैश/टॉर्च/3A की सुविधाएं जोड़ी गईं.CameraEffectके साथ कैप्चर की गई इमेज में, कैप्चर करने से पहले और बाद में की जाने वाली प्रोसेसिंग (जैसे, फ़्लैश ट्रिगर, 3A कन्वर्जेंस वगैरह) अब वैसी ही होनी चाहिए जैसीCameraEffectके बिना कैप्चर की गई इमेज में होती है. (I5ff30)PreviewViewमें, दो उंगलियों से ज़ूम करने की सुविधा को बेहतर बनाया गया है (I04ffc)- अल्ट्रा एचडीआर को 10-बिट आउटपुट की सुविधा से अलग करें, क्योंकि अल्ट्रा एचडीआर की सुविधा के लिए अब डिवाइसों में 10-बिट आउटपुट की सुविधा होना ज़रूरी नहीं है. (I96ff2, I0c3b3)
वर्शन 1.4.0-rc02
18 सितंबर, 2024
androidx.camera:camera-*:1.4.0-rc02 रिलीज़ हो गया है. वर्शन 1.4.0-rc02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- डस्ट्रॉय किए गए
LifecycleOwnerके साथbindToLifecycleको शुरू करने पर होने वाले क्रैश की समस्या को ठीक किया गया है. (I6e6d8) ScreenFlash#applyके लिए,ScreenFlashViewमें दिखने से जुड़ा ऐनिमेशन जोड़ा गया है. इससे, रोशनी में बदलाव होने के कुछ समय बाद एसिंक्रोनस तरीके से होने वाली गड़बड़ियां भी ठीक हो जाती हैं. (I37cdb)- ज़ूम करने की सुविधा को ज़्यादा बेहतर बनाया गया है. इसके लिए, फ़्रेमवर्क में ज़ूम करने की सेटिंग को बदला गया है. यह सुविधा, उन डिवाइसों पर काम करती है जिन पर यह सुविधा काम करती है.
वर्शन 1.4.0-rc01
7 अगस्त, 2024
androidx.camera:camera-*:1.4.0-rc01 रिलीज़ हो गया है. वर्शन 1.4.0-rc01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- एक्सपेरिमेंट के तौर पर
CameraInfo.getCameraInfoजोड़ा गया है. इससे कैमरे की खास जानकारी दी जा सकती है. इसके लिए, कैमरे के इस्तेमाल के उदाहरणों को कैमरे से बाइंड करने की ज़रूरत नहीं होती. (I550d1)
एपीआई में हुए बदलाव
- ऐसे मामलों के लिए
PreviewView.getScreenFlashऔरPreviewView.setScreenFlashOverlayColorएपीआई जोड़े गए हैं जहांScreenFlashViewको साफ़ तौर पर नहीं जोड़ा गया है. (I43945)
गड़बड़ियां ठीक की गईं
- कम रोशनी में फ़्लैश चालू करके, VideoCapture के इस्तेमाल के मामले में फ़्लैश चालू करके इमेज कैप्चर करने पर, एक्सपोज़र और कलर टिंट से जुड़ी समस्याओं को ठीक किया गया है. (Ic9814)
- एक्सटेंशन चालू होने पर,
takePictureके अनुरोध को बीच में रोकने पर, नतीजे नहीं मिलते थे. साथ ही,takePictureका अगला अनुरोध काम नहीं करता था. इस समस्या को ठीक किया गया है. (Iae78f) - एक्सटेंशन चालू होने पर मेमोरी लीक होने की समस्या को ठीक किया गया है. (Iab276)
- Pixel 7/8 और Samsung Galaxy S24 सीरीज़ जैसे डिवाइसों पर, CameraX एक्सटेंशन के ठीक से काम न करने की समस्या को ठीक किया गया है. यह समस्या, रिलीज़ मोड में
Camera2OutputConfigImplकन्वर्ज़न की समस्या की वजह से हुई है. यह समस्या, AGP को 8.5.1 पर अपग्रेड करने और कोड छोटा करने की सुविधा चालू करने के बाद सामने आई है. (I99598, b/354824993)
वर्शन 1.4.0-beta02
12 जून, 2024
androidx.camera:camera-*:1.4.0-beta02 रिलीज़ हो गया है. वर्शन 1.4.0-beta02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
VideoCaptureकी तरह ही, Preview के इस्तेमाल के उदाहरण के लिएsetMirrorModeजोड़ें. यह एपीआई 33 और उसके बाद के वर्शन के लिए,OutputConfiguration.setMirrorModeके ज़रिए प्रीव्यू स्ट्रीम के लिए मिरर मोड चालू और बंद करने की सुविधा देगा. पुराने एपीआई के लिए, यह सुविधा उपलब्ध नहीं होगी. (I821f4)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें Samsung Tab A8 पर ऐप्लिकेशन, फ़ोटो नहीं ले पाते थे. ऐसा तब होता था, जब
ImageCapturePreview+VideoCapture+ImageCaptureUseCaseकॉम्बिनेशन में 1920x1080 चुनता था. (I5a463, b/336925549) - कैमरा बदलने पर, लगातार रिकॉर्डिंग की सुविधा काम नहीं कर सकती. (Icb0a1)
वर्शन 1.4.0-beta01
14 मई, 2024
androidx.camera:camera-*:1.4.0-beta01 रिलीज़ हो गया है. वर्शन 1.4.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ज़ूम करने के जेस्चर की स्थितियों को शामिल करने के लिए,
ZoomGestureDetector.ZoomEventजोड़ा गया. (I84cdf)
गड़बड़ियां ठीक की गईं
- हमने एक ऐसी गड़बड़ी को ठीक किया है जिसमें अब भी कैप्चर और टैप-टू-फ़ोकस, बार-बार अनुरोध किए जाने वाले एफ़पीएस/स्टेबलाइज़ेशन मोड की वैल्यू का इस्तेमाल नहीं करते हैं. इससे कैप्चर सेशन फिर से शुरू हो सकता है और कुछ डिवाइसों में देरी की समस्याएं हो सकती हैं या प्रीव्यू फ़्रीज़ हो सकता है. (I7dc0b)
- गड़बड़ी ठीक की गई. कुछ डिवाइसों पर
CameraEffectचालू होने पर, ज़्यादा रिज़ॉल्यूशन नहीं चुना जा सकता था. (जैसे, Samsung A32 5G पर 4000x3000). (Ie3ed3, b/337336152) - Pixel 4XL API29 पर, Preview,
ImageCapture, औरVideoCapture(UHD)का इस्तेमाल करके फ़ोटो लेते समय ऐप्लिकेशन के क्रैश होने की समस्या ठीक की गई. (I5b288) - वर्चुअल डिवाइसों के साथ काम करता है:
ProcessCameraProviderमें पास किया गया कॉन्टेक्स्ट, डिवाइस आईडी को सुरक्षित रखेगा. इससे वर्चुअल डिवाइस एनवायरमेंट में फ़ंक्शन काम कर पाएगा. (I5ba48)
वर्शन 1.4.0-alpha05
17 अप्रैल, 2024
androidx.camera:camera-*:1.4.0-alpha05 रिलीज़ हो गया है. वर्शन 1.4.0-alpha05 में ये बदलाव शामिल हैं.
नई सुविधाएं
ProcessCameraProviderको Kotlin में लागू किया गया. (I46d4f)ImageCapture.takePictureसस्पेंड फ़ंक्शन जोड़े गए हैं, ताकि इसे Kotlin के स्टैंडर्ड तरीके से कॉल किया जा सके. (I920be)
एपीआई में हुए बदलाव
ImageCaptureमें आउटपुट फ़ॉर्मैट एपीआई जोड़ें. साथ ही, डिवाइस की क्षमता के बारे में क्वेरी करने के लिए,ImageCaptureCapabilitiesमेंgetSupportedOutputFormatsतरीका जोड़ें. डिफ़ॉल्ट आउटपुट फ़ॉर्मैट की वैल्यूOUTPUT_FORMAT_JPEGहोती है. इससे एसडीआर इमेज को JPEG फ़ॉर्मैट में कैप्चर किया जाता है. अगर डिवाइस पर अल्ट्रा एचडीआर की सुविधा काम करती है और आउटपुट फ़ॉर्मैटOUTPUT_FORMAT_JPEG_ULTRA_HDRपर सेट है, तो CameraX, JPEG/R इमेज फ़ॉर्मैट का इस्तेमाल करके, कंप्रेस की गई अल्ट्रा एचडीआर इमेज कैप्चर करेगा. यह फ़ॉर्मैट, एसडीआर JPEG फ़ॉर्मैट के साथ काम करता है. साथ ही, इसमें कॉन्टेंट को एचडीआर में रेंडर किया जा सकता है. इसका मतलब है कि पुराने ऐप्लिकेशन या डिवाइसों पर, इमेज सामान्य JPEG फ़ॉर्मैट में दिखती हैं. वहीं, जिन ऐप्लिकेशन और डिवाइसों को इस फ़ॉर्मैट के साथ काम करने के लिए अपडेट किया गया है उन पर इमेज, एचडीआर फ़ॉर्मैट में दिखती हैं. (I5de50)- फ़िज़िकल कैमरे की जानकारी के लिए क्वेरी करने के लिए,
CameraInfoमेंPhysicalCameraInfoजोड़ें. साथ ही,CameraSelector(Ic5b90) में फ़िज़िकल कैमरे का आईडी सेटर/गेटर जोड़ें CameraController#COORDINATE_SYSTEM_VIEW_REFERENCEDकोImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCEDसे बदलें. कॉन्स्टेंट की वैल्यू में कोई बदलाव नहीं होता. इसका इस्तेमाल, सभी कॉन्स्टेंट को एक जगह पर इकट्ठा करने के लिए किया जाता है. (I890bb)- नए
RetryPolicyएपीआई की मदद से, डेवलपर CameraX को शुरू करने के लिए फिर से कोशिश करने की सुविधा को पसंद के मुताबिक बना सकते हैं. (I36dd2) - जांच में मदद करने के लिए,
ImageCaptureLatencyEstimateऑब्जेक्ट बनाने की सुविधा चालू करें (Iaba99) ImageAnalysis#COORDINATE_SYSTEM_SENSORजोड़ें. इसका इस्तेमाल करने पर,MlKitAnalyzerकैमरा सेंसर कोऑर्डिनेट सिस्टम में कोऑर्डिनेट दिखाता है. (I3ec61)- एक्सटेंशन के मेटाडेटा एपीआई को सार्वजनिक किया गया है. नए
CameraExtensionsInfoऔरCameraExtensionsControlइंटरफ़ेस की मदद से, ऐप्लिकेशन एक्सटेंशन की ताकत की सेटिंग को मॉनिटर और अडजस्ट कर सकते हैं. ऐप्लिकेशन, नए जोड़े गएExtensionsManager#getCameraExtensionsInfo()याExtensionsManager#getCameraExtensionsControl()तरीकों सेCameraExtensionsInfoयाCameraExtensionsControlइंस्टेंस पा सकते हैं. (I28e1a) ProcessCameraProvider.awaitInstanceको जोड़ा गया है. यहProcessCameraProvider.getInstance(Ib22b9) का निलंबित किया गया वर्शन हैPreviewView#getSensorToViewTransform()एपीआई जोड़ें. मैट्रिक्स, कैमरा सेंसर के कोऑर्डिनेट सेPreviewViewके कोऑर्डिनेट में बदलने की प्रोसेस को दिखाता है. इसका इस्तेमाल, निर्देशांकों को एकUseCaseसे दूसरे में बदलने के लिए किया जा सकता है. उदाहरण के लिए,ImageAnalysisमें पता लगाए गए ऑब्जेक्ट के निर्देशांकों कोPreviewViewओवरले में बदलना. (I947ab)camera-viewfinder-coreएपीआई को ज़्यादा सामान्य बनाएं, ताकि इसका इस्तेमालcamera-viewfinderऔरcamera-viewfinder-composeकर सकें. (I1e295)ViewfinderSurfaceRequestमेंgetSurfaceफ़ंक्शन जोड़ें. (I781a0)camera-viewfinderमेंcamera-viewfinder-coreका इस्तेमाल करें. साथ ही,ViewfinderSurfaceRequestऔरCameraViewfinderको बंद करें. (I6198c)ZoomGestureDetectorजोड़ा गया है. यह खास तौर पर पिंच करके ज़ूम करने की सुविधा के लिए कॉन्फ़िगर किए गए स्केलिंग जेस्चर को इंटरप्रेट करता है. (Ifafbf)
गड़बड़ियां ठीक की गईं
- ठीक की गई
ImageAnalysis' ऐनलिसिस करने वाले टूल की डिफ़ॉल्ट टारगेट रिज़ॉल्यूशन सेटिंग से जुड़ी रिज़ॉल्यूशन चुनने की समस्या: टारगेट रिज़ॉल्यूशन को गलत तरीके से 640x480 पर सेट किया गया था. भले ही, ऐप्लिकेशन ने ऐनलिसिस करने वाले टूल की डिफ़ॉल्ट रिज़ॉल्यूशन सेटिंग को अलग तरीके से सेट किया हो. अगर ऐप्लिकेशन को यह समस्या (1.3.0 ~ 1.3.2) आ रही है और वे इस समस्या को हल करने वाले नए वर्शन में अपग्रेड नहीं कर पा रहे हैं, तो सीधे तौर परResolutionSelectorको पसंदीदा रिज़ॉल्यूशन औरImageAnalysisUseCaseसे मेल खाने वालेAspectRatioStrategyके साथ सेट करके, इस समस्या को हल किया जा सकता है. (I81f72, b/330091012) - उस समस्या को ठीक किया गया है जिसकी वजह से, मौजूदा अनुरोध पूरा न होने पर,
takePictureअनुरोध को प्रोसेस करने में समस्या आ सकती थी. (Ie0801) - Vivo X60 और X60 Pro डिवाइसों पर, अमान्य JPEG डेटा की जांच करने की सुविधा चालू करें. इससे इन डिवाइसों पर, बहुत बड़ी इमेज की समस्या ठीक हो सकती है. (I82247, b/288828159)
- Samsung A24 डिवाइसों पर, JPEG इमेज के मेटाडेटा से जुड़ी गलत जानकारी की समस्या को ठीक किया गया है. इस सुधार के बाद, CameraX, JPEG इमेज को सेव कर सकता है. इसके अलावा, Samsung A24 डिवाइसों पर
ImageProxy.toBitmap()फ़ंक्शन को कॉल करने पर, सही बिटमैप ऑब्जेक्ट वापस किए जा सकते हैं. (I8d6eb, b/309005680) - अगर कैप्चर की गई इमेज 10 एमबी से बड़ी है, तो सभी Samsung डिवाइसों पर अमान्य JPEG डेटा की जांच करें. इससे Samsung डिवाइसों पर, इमेज के बहुत बड़े होने की समस्या ठीक की जा सकती है. (Ic2a65, b/288828159)
- CameraX Extensions पर
ImageAnalysisके साथ काम करने की सुविधा हटा दी गई है. ऐसा इसलिए, क्योंकि कई ओईएम के एक्सटेंशन,ImageAnalysisके साथ ठीक से काम नहीं करते हैं. इससे समस्याएं हो सकती हैं. (I2d926)
वर्शन 1.4.0-alpha04
24 जनवरी, 2024
androidx.camera:camera-*:1.4.0-alpha04 रिलीज़ हो गया है. वर्शन 1.4.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
- नया आर्टफ़ैक्ट: camera-effects: यह एक लाइब्रेरी है. इसका इस्तेमाल CameraX के आउटपुट पर रीयल टाइम में इफ़ेक्ट लागू करने के लिए किया जाता है. इसमें
Preview,VideoCapture, और/याImageCaptureशामिल हैं. इस आर्टफ़ैक्ट में,CameraEffectएपीआई के OpenGL वर्शन शामिल हैं. यह एपीआई, कैमरे के आउटपुट को बेहतर तरीके से मैनेज करता है. OverlayEffect: Android के Canvas API की मदद से ओवरले बनाने के लिए. इससे ऐप्लिकेशन को, कैमरे से ली गई इमेज पर वॉटरमार्क लगाने या पहचाने गए ऑब्जेक्ट को हाइलाइट करने की अनुमति मिलती है.DynamicRangeझलक देखने के लिए एपीआई: अब झलक देखने के लिए, डाइनैमिक रेंज सेट की जा सकती है. यह वीडियो के लिए डाइनैमिक रेंज से अलग होगी. इससे सिर्फ़ झलक देखने के लिए, एचडीआर डाइनैमिक रेंज (जैसे, HLG10) का इस्तेमाल किया जा सकता है.CameraInfoमें नए एपीआई भी उपलब्ध हैं. इनकी मदद से यह क्वेरी की जा सकती है कि हर कैमरा कौनसी डाइनैमिक रेंज के साथ काम करता है.
एपीआई में हुए बदलाव
ScreenFlashUiCompleterका नाम बदलकरScreenFlashListenerकर दिया गया है. साथ ही,ScreenFlashUiCompleter#getExpirationTimeMillisकोScreenFlash#applyकेexpirationTimeMillisपैरामीटर में ले जाया गया है. (I13944)- नए एपीआई जोड़े गए हैं. इनकी मदद से, झलक देखने के लिए डाइनैमिक रेंज सेट की जा सकती है. साथ ही, हर कैमरे के साथ काम करने वाली डाइनैमिक रेंज के बारे में क्वेरी की जा सकती है. इससे, एचडीआर डाइनैमिक रेंज (जैसे, HLG10) को सिर्फ़ झलक देखने की सुविधा के साथ इस्तेमाल किया जा सकता है. इसके लिए, अब
VideoCaptureको एक साथ बाइंड करने की ज़रूरत नहीं है. (If25e3) getMirroring()का नाम बदलकरisMirroring()किया गया (I47063)- CameraX में, रीयलटाइम में फ़ोटो कैप्चर करने में लगने वाले समय का अनुमान लगाने की सुविधा जोड़ी गई. कैमरा एक्सटेंशन की मदद से, ऐप्लिकेशन ऐसे एपीआई का इस्तेमाल कर सकते हैं जो यह अनुमान लगाता है कि कैप्चर करने में कितना समय लगेगा. अनुमान लगाते समय, मौजूदा माहौल की स्थितियों और कैमरे की स्थिति को ध्यान में रखा जाता है. साथ ही, इसमें मल्टी-फ़्रेम कैप्चर करने के अनुरोधों को प्रोसेस करने में लगने वाला समय शामिल होता है. इसके अलावा, अगर ज़रूरी हो, तो प्रोसेस किए गए बफ़र को एन्कोड करने में लगने वाला अतिरिक्त समय भी शामिल होता है. (I05c3a)
ScreenFlashUiControlका नाम बदलकरScreenFlash,ScreenFlashUiControl#applyScreenFlashUiका नाम बदलकरScreenFlash#apply, औरScreenFlashUiControl#clearScreenFlashUiका नाम बदलकरScreenFlash#clearकर दिया गया है. साथ ही,SCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDSको सीधे तौर पर दिखाने के बजाय,getScreenFlashUiApplyTimeoutSecondsतरीका जोड़ा गया है. (Iccdd0)
गड़बड़ियां ठीक की गईं
- मेमोरी लीक होने की समस्या को ठीक किया गया है. इसकी वजह से, एक्सटेंशन चालू होने पर गतिविधियां या फ़्रैगमेंट रिलीज़ नहीं होते थे (I14215)
- ज़ूम रेशियो बढ़ाने पर,
getZoomRatioके कम वैल्यू दिखाने की समस्या ठीक कर दी गई है. (I4aa0d, b/317543616) - इवेंट को तुरंत तब शुरू किया जाता है, जब
ImageCaptureको अनबाउंड किया जाता है या कैमरा बंद किया जाता है. साथ ही, यह उन बग को भी ठीक करता है जहां इन स्थितियों में कैप्चर पूरा न होने की वजह से, इसे कभी शुरू नहीं किया जाता.ImageCapture#ScreenFlash#clear(If99f9) - लाइफ़साइकल के
takePictureअनुरोध के पूरा होने से पहले बंद होने पर होने वाली क्रैश की समस्या को ठीक किया गया (Idf017, b/306202751) - उस समस्या को ठीक कर दिया गया है जिसमें कुछ डिवाइसों पर एक्सटेंशन चालू होने पर, कैमरे की झलक काली हो जाती थी (I1ffd0)
- Snapdragon 778G SoC का इस्तेमाल करने वाले डिवाइसों पर, वीडियो रिकॉर्डिंग की अवधि से जुड़ी समस्या ठीक की गई. (If6aa7, b/316057919)
वर्शन 1.4.0-alpha03
13 दिसंबर, 2023
androidx.camera:camera-*:1.4.0-alpha03 रिलीज़ हो गया है. वर्शन 1.4.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
CameraInfo.mustPlayShutterSoundजोड़ा गया है, ताकि यह जानकारी दी जा सके कि क्षेत्र के हिसाब से पाबंदियों के मुताबिक, शटर की आवाज़ सुनाई देनी चाहिए या नहीं. (Ifda84)- कैमरे से फ़्रेम कैप्चर करने की प्रोसेस शुरू होने पर सूचना देने के लिए,
OnImageCapturedCallback.onCaptureStartedऔरOnImageSavedCallback.onCaptureStartedको जोड़ा गया. हमारा सुझाव है कि इस समय शटर की आवाज़ या शटर ऐनिमेशन चलाया जाए. (Ic49b3) - सामने वाले कैमरे से इमेज कैप्चर करने के लिए, CameraX में स्क्रीन फ़्लैश की सुविधा जोड़ी गई है. CameraX, फ़्रेमवर्क-साइड एपीआई को हैंडल करेगा.साथ ही, ज़रूरत के मुताबिक ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) में होने वाले बदलावों के साथ समय को सिंक करेगा. उदाहरण के लिए, ऐप्लिकेशन की स्क्रीन का रंग/चमक बदलने के बाद, एई प्रीकैप्चर ट्रिगर करना. ऐप्लिकेशन को सिर्फ़ अपने यूज़र इंटरफ़ेस (यूआई) के लिए, CameraX को दिए गए
ScreenFlashUiControlइंटरफ़ेस में लागू करने की सुविधा जोड़नी होगी. (I8ae84) - CameraX में, स्क्रीन फ़्लैश की सुविधा को यूज़र इंटरफ़ेस (यूआई) के साथ इंटिग्रेट करने की सुविधा जोड़ी गई. ऐप्लिकेशन,
PreviewViewया हाल ही में जोड़े गएScreenFlashViewसेImageCapture.ScreenFlashUiControlको लागू करने की बुनियादी सुविधा पा सकेंगे. इससे स्क्रीन फ़्लैश के साथ फ़ोटो कैप्चर करने के दौरान, एक रंग का ओवरले व्यू दिखेगा और स्क्रीन की रोशनी ज़्यादा होगी. (I1810e)
एपीआई में हुए बदलाव
- एक्सटेंशन की नई सुविधाओं के साथ काम करता है(पोस्टव्यू और कैप्चर प्रोसेस की प्रोग्रेस): ऐप्लिकेशन के लिए
ImageCapture#getImageCaptureCapabilities()एपीआई जोड़े गए हैं, ताकि वे पोस्टव्यू और कैप्चर प्रोसेस की प्रोग्रेस के कॉलबैक की क्षमताओं के बारे में क्वेरी कर सकें. ऐप्लिकेशन,ImageCapture.Builder#setPostviewEnabled()का इस्तेमाल करके पोस्टव्यू की सुविधा चालू कर सकते हैं.ImageCapture.Builder#setPostviewResolutionSelector()का इस्तेमाल करके, पोस्टव्यू का साइज़ चुना जा सकता है.takePicture()को चालू करते समय,onPostviewBitmapAvailableऔरonCaptureProcessProgressedकोOnImageSavedCallbackयाOnImageCapturedCallbackमें लागू किया जा सकता है. इससे, अगर सुविधा उपलब्ध है, तो पोस्टव्यू और प्रोसेस की प्रोग्रेस की सूचना मिल सकती है. (I5cd88) - सेंसर से मौजूदा बफ़र तक, कोऑर्डिनेट ट्रांसफ़ॉर्मेशन का हिसाब लगाने के लिए एपीआई. साथ ही, एक फ़्लैग जो यह बताता है कि Surface में कैमरे के ओरिएंटेशन की जानकारी है या नहीं. (I59096)
- एपीआई को
PreviewCapabitlityमें क्वेरी करने के लिए उपलब्ध कराएंUseCase. (Ie5b6c) VideoCaptureके लिए, ज़्यादा क्वालिटी को सपोर्ट करने वाले एपीआई जोड़े गए.Recorder.Builder#setVideoCapabilitiesSource(int)का इस्तेमालVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIESके साथ किया जा सकता है, ताकिRecorderइंस्टेंस बनाया जा सके. यहVIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILEकी तुलना में ज़्यादा क्वालिटी के साथ काम करता है. इसका एक सामान्य उदाहरण यह है कि जब कोई ऐप्लिकेशन, यूएचडी वीडियो रिकॉर्ड करने की कोशिश करता है, लेकिन डिवाइस कीCamcorderProfileमें यूएचडी सेटिंग शामिल नहीं होती है. हालांकि, कोडेक यूएचडी वीडियो रिकॉर्ड कर सकता है. (Iedbe2, b/263961771)CameraControllerमेंImageAnalysisआउटपुट फ़ॉर्मैट गेटर/सेटर जोड़ें. (I9a96c, b/308240643)
गड़बड़ियां ठीक की गईं
- कैमरा
1.3.1:ProcessCameraProvider#bindToLifecycle()की परफ़ॉर्मेंस को बेहतर बनाया गया है. मुख्य बदलाव यह है किUseCasesके लिए सबसे सही साइज़ कॉम्बिनेशन की पहचान करने की प्रोसेस को ऑप्टिमाइज़ किया गया है. सबसे अच्छे नतीजे,UseCaseके खास कॉम्बिनेशन और टारगेट डिवाइसों के लिए, आउटपुट के सपोर्ट किए गए साइज़ की संख्या के आधार पर अलग-अलग होते हैं. (I454f2) - एक्सटेंशन चालू होने पर,
VideoCaptureके इस्तेमाल की अनुमति दें. (I91f32) - Samsung A71 और M51 सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या को ठीक किया गया है. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ बहुत ज़्यादा हो जाता है. इमेज फ़ाइल के साइज़ को सामान्य बनाने के लिए, पैडिंग डेटा में मौजूद गैर-ज़रूरी 0 हटा दिए जाएंगे. (I01afc, b/288828159)
- Pixel फ़ोन पर
ImageAnalysisकी सुविधा बंद करें, ताकि Pixel फ़ोन पर मौजूद उस बग से बचा जा सके जो गलती सेImageAnalysisके साथ काम करने वाले साइज़ की जानकारी दिखाता है. (I7ec31) - परफ़ॉर्मेंस से जुड़ी समस्या को ठीक किया गया है. एक्सटेंशन चालू होने पर, सीपीयू का लोड और बिजली की खपत बढ़ जाती थी. (Ibdccb)
CameraUseInconsistentTimebaseQuirkमें Snapdragon 480 जोड़ा गया. इससे Android 12 पर इस चिपसेट का इस्तेमाल करने वाले डिवाइसों में होने वाली एक समस्या ठीक हो जाती है. इस समस्या में, डिवाइस के निलंबित होने की अवधि के हिसाब से रिकॉर्डिंग में ऑडियो ऑफ़सेट हो जाता है. (I58010)
वर्शन 1.4.0-alpha02
18 अक्टूबर, 2023
androidx.camera:camera-*:1.4.0-alpha02 रिलीज़ हो गया है. वर्शन 1.4.0-alpha02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- एपीआई का नाम बदलकर
setCameraOpenRetryMaxTimeoutInMillisWhileResumingकरें और आर्ग्युमेंट का नाम बदलें. (I72370) - डिवाइस की क्षमता के बारे में क्वेरी करने और वीडियो/प्रीव्यू को स्थिर करने की सुविधा चालू करने के लिए, एपीआई जोड़े गए हैं. (I87544)
- कैमरा खोलने की कोशिश करने के लिए, ज़्यादा से ज़्यादा टाइम आउट को पसंद के मुताबिक बनाने के लिए एपीआई उपलब्ध कराएं. (I0c642)
ProcessCameraProvider.shutdownAsyncको सार्वजनिक टेस्टिंग एपीआई के तौर पर रिलीज़ किया गया है. इससे कैमरा उपलब्ध कराने वाली प्रोसेस को टेस्ट सुइट में इस्तेमाल किया जा सकता है. इसके लिए, टेस्ट के बीच में CameraX को अलग-अलग तरीकों से शुरू करना पड़ सकता है. (I9eca7)- वीडियो कैप्चर करने की डाइनैमिक रेंज, फ़्रेम रेट, और मिरर मोड को कॉन्फ़िगर करने के लिए एपीआई जोड़े गए हैं. (Ifb8f7)
OutputSizeको बंद करें और उसकी जगहResolutionSelectorका इस्तेमाल करें.ResolutionSelector, रिज़ॉल्यूशन चुनने का ज़्यादा बेहतर तरीका है. साथ ही, यह कैमरा-कोर एपीआई के साथ काम करता है. (I93abd, b/286801438)
गड़बड़ियां ठीक की गईं
- Samsung Galaxy S23 Ultra 5G में, पीछे वाले कैमरे पर
ImageAnalysisचालू होने पर, Extensions Bokeh या Face-Retouch की सुविधा चालू होने पर, काली झलक दिखने की समस्या को ठीक किया गया है. (I2e8b1) - Moto E5 Play पर, झलक देखने और
VideoCaptureके स्ट्रेच होने से जुड़ी समस्याएं ठीक की गई हैं. (73dce2)
वर्शन 1.4.0-alpha01
20 सितंबर, 2023
androidx.camera:camera-*:1.4.0-alpha01 रिलीज़ हो गया है. वर्शन 1.4.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- रिकॉर्डिंग के दौरान ऑडियो ऐम्प्लिट्यूड की जानकारी ऐक्सेस करने के लिए, नया एपीआई जोड़ा गया है. (Id4925)
गड़बड़ियां ठीक की गईं
- यह पक्का करें कि एक्सटेंशन को शुरू और बंद करने वाले इवेंट सही क्रम में ट्रिगर हों. इससे एक्सटेंशन के काम करने की स्थिति बेहतर होगी. (Ib3b8e)
- अंदरूनी तौर पर बार-बार दिखने वाले अतिरिक्त डिसप्ले को जोड़ने की वजह से, डिसप्ले के कॉम्बिनेशन की तय सीमा से ज़्यादा होने पर, कैप्चर सेशन के कॉन्फ़िगरेशन में होने वाली गड़बड़ी को ठीक किया गया. (Id718c)
- Vivo S16 डिवाइस पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या ठीक की गई. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ बढ़ जाता है. इमेज फ़ाइल के साइज़ को सामान्य बनाने के लिए, पैडिंग डेटा में मौजूद गैर-ज़रूरी 0 हटा दिए जाएंगे. (I79505, b/299069235)
- हमने उस समस्या को ठीक कर दिया है जिसमें कुछ डिवाइसों पर एक्सटेंशन मोड चालू होने पर,
ImageAnalysisकोImageCaptureऔर झलक के साथ बाइंड नहीं किया जा सकता था. इस फ़िक्स के बाद, ऐप्लिकेशनExtensionsManager#isImageAnalysisSupported()के ज़रिएImageAnalysisकी उपलब्धता के बारे में क्वेरी करने पर, सही वैल्यू मिलेगी. (I7d538) - JavaDoc को अपडेट करें, ताकि वह व्यवहार से मेल खाए.
#setZoomRatio,#setLinearZoom, और#enableTorch, तुरंत पूरा होने के बजाय, तब तक इंतज़ार करते हैं, जब तक कैमरा तैयार नहीं हो जाता. साथ ही,#takePictureएपीआई की मदद से ज़्यादा से ज़्यादा फ़ील्ड ऑफ़ व्यू पाने के तरीके के बारे में जानकारी जोड़ी गई है. (I23588)
वर्शन 1.3
वर्शन 1.3.4
12 जून, 2024
androidx.camera:camera-*:1.3.4 रिलीज़ हो गया है. वर्शन 1.3.4 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- ज़ूम रेशियो बढ़ाने पर,
getZoomRatioके कम वैल्यू दिखाने की समस्या ठीक कर दी गई है. (I4aa0d, b/317543616) - अब भी कैप्चर किए जा रहे फ़्रेम/टैप-टू-फ़ोकस की सुविधा में, बार-बार किए जा रहे अनुरोध के फ़्रेम प्रति सेकंड (एफ़पीएस)/स्टेबलाइज़ेशन मोड की वैल्यू का इस्तेमाल नहीं किया जा रहा है. इससे कैप्चर सेशन फिर से शुरू हो सकता है. साथ ही, कुछ डिवाइसों में देरी की समस्याएं हो सकती हैं या झलक रुक सकती है. (I7dc0b)
setTargetFrameRateके साथFRAME_RATE_RANGE_UNSPECIFIEDको कॉल करने पर, फ़्रेम रेट को कम वैल्यू पर सेट करने की समस्या को ठीक किया गया है. (I78c61)
वर्शन 1.3.3
17 अप्रैल, 2024
androidx.camera:camera-*:1.3.3 रिलीज़ हो गया है. वर्शन 1.3.3 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- ठीक की गई
ImageAnalysis' ऐनलिसिस करने वाले टूल की डिफ़ॉल्ट टारगेट रिज़ॉल्यूशन सेटिंग से जुड़ी रिज़ॉल्यूशन चुनने की समस्या: टारगेट रिज़ॉल्यूशन को गलत तरीके से 640x480 पर सेट किया गया था. भले ही, ऐप्लिकेशन ने ऐनलिसिस करने वाले टूल की डिफ़ॉल्ट रिज़ॉल्यूशन सेटिंग को अलग तरीके से सेट किया हो. अगर ऐप्लिकेशन को यह समस्या (1.3.0 ~ 1.3.2) आती है और वे समस्या को हल करने वाले नए वर्शन रिलीज़ का इस्तेमाल करने के लिए अपग्रेड नहीं कर सकते, तो सीधे तौर पर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 हटा दिए जाएंगे. (I407b0, b/288828159)
- Samsung S22 (SM-S901B, SM-S901B/DS) और S22+ (SM-S906B) सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या को ठीक किया गया है. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इसकी वजह से, कैप्चर की गई इमेज का फ़ाइल साइज़ ज़्यादा होता है. S22 SM-S901B/DS डिवाइस पर यह करीब 13 एमबी होता है. इमेज फ़ाइल के साइज़ को सामान्य बनाने के लिए, पैडिंग डेटा में मौजूद गैर-ज़रूरी 0 हटा दिए जाएंगे. (I73be9, b/288828159)
- Samsung A5, A52, A70, और A72 सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या ठीक की गई. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ज़रूरत से ज़्यादा 0's पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ बहुत ज़्यादा हो जाता है. उदाहरण के लिए, करीब 32 एमबी या 96 एमबी. कैप्चर की गई इमेज के फ़ाइल साइज़ को सामान्य बनाने के लिए, फ़ालतू 0's पैडिंग डेटा को हटा दिया जाएगा. (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's पैडिंग डेटा को हटा दिया जाएगा. (I29837, b/288828159)
CaptureFailedRetryQuirkमें बताए गए डिवाइसों में, कैप्चर करने में समस्या आने पर फिर से कोशिश करने की सुविधा ठीक से काम नहीं कर रही थी. इस समस्या को ठीक कर दिया गया है. (I7b589)
वर्शन 1.3.0-beta01
21 जून, 2023
androidx.camera:camera-*:1.3.0-beta01 रिलीज़ हो गया है. वर्शन 1.3.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)फ़ंक्शन का नाम बदलकरsetAllowedResolutionModeकर दिया गया है. साथ ही,ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONकॉन्स्टेंट का नाम बदलकरPREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATEकर दिया गया है. (If84e8)- अब इस्तेमाल नहीं किए जाने वाले एपीआई
ImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int), औरVideoCapture.setTargetRotationDegrees(int)को हटा दिया गया है. (Id8e77) DynamicRangeक्लास, इमेज की डाइनैमिक रेंज को दिखाती है. इसका इस्तेमाल,VideoCaptureसे लेकरVideoCapture.Builder#setDynamicRange()तक के आउटपुट के तौर पर, हाई डाइनैमिक रेंज वाले फ़ॉर्मैट चुनने के लिए किया जा सकता है. (Ib0377)ExtensionsManagerमें एकisImageAnalysisSupportedएपीआई जोड़ा गया है. इसकी मदद से ऐप्लिकेशन यह तय कर सकते हैं किImageAnalysisइस्तेमाल के उदाहरण को, पूर्वावलोकन औरImageCaptureके साथ बाइंड किया जा सकता है या नहीं. ऐसा तब किया जा सकता है, जब एक्सटेंशन चालू हों. (I1bc63)Recorderसे मिली नईVideoCapabilitiesक्लास का इस्तेमाल, डिवाइस पर वीडियो रिकॉर्डिंग के लिए, डाइनैमिक रेंज और क्वालिटी के बारे में क्वेरी करने के लिए किया जा सकता है.QualitySelectorकेgetSupportedQualities()औरisQualitySupported()तरीकों को बंद किया जा रहा है. इसके बजाय, कृपयाVideoCapabilitiesकेgetSupportedQualities()औरisQualitySupported()तरीकों का इस्तेमाल करें. (I04014)CameraController#setVideoCaptureTargetQuality()का नाम बदलकरsetVideoCaptureQualitySelectorकर दिया गया है. यहQualitySelectorआर्ग्युमेंट लेता है, जिससे वीडियो क्वालिटी को सेट अप करने में ज़्यादा आसानी होती है. इसके मुताबिक,CameraController#getVideoCaptureTargetQuality()कोgetVideoCaptureQualitySelectorमें बदल दिया जाता है. (I520ed)- वीडियो सुविधाओं के लिए एक्सपेरिमेंटल एनोटेशन हटा दिया गया है. वीडियो की सुविधाएं अब स्थिर हो गई हैं. (I1a113)
गड़बड़ियां ठीक की गईं
- कम रोशनी में फ़ोटो की क्वालिटी और उसे कैप्चर करने की स्पीड को बेहतर बनाने के लिए, Samsung SM-A320 मॉडल पर टॉर्च का इस्तेमाल फ़्लैश के तौर पर करें. (I6a022, b/286190938)
ImageProxy.toBitmap()के लिए,ImageFormat.JPEGफ़ॉर्मैट के साथ काम करने की सुविधा जोड़ी गई. अगर JPEG बाइट ऐरे को डिकोड नहीं किया जा सकता, तोUnsupportedOperationExceptionदिखेगा. (I81958, b/282057603)
वर्शन 1.3.0-alpha07
24 मई, 2023
androidx.camera:camera-*:1.3.0-alpha07 रिलीज़ हो गया है. वर्शन 1.3.0-alpha07 में ये बदलाव शामिल हैं.
नई सुविधाएं
- नए
VideoCapture.Builder# setTargetFrameRate(Range)एपीआई की मदद से, डिवाइस के डिफ़ॉल्ट फ़्रेम रेट के अलावा, अन्य फ़्रेम रेट पर भी वीडियो रिकॉर्डिंग की जा सकती हैं. रिकॉर्डिंग के लिए उपलब्ध फ़्रेम रेट के बारे में, नएCameraInfo#getSupportedFrameRates()एपीआई के ज़रिए क्वेरी की जा सकती है.
एपीआई में हुए बदलाव
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONकॉन्स्टेंट का नाम बदलकरALLOWED_RESOLUTIONS_NORMAL/SLOWकर दिया गया है. साथ ही, बिल्डरsetHighResolutionEnabledFlagफ़ंक्शन का नाम बदलकरsetAllowedResolutionModeकर दिया गया है. (Iae817)CameraInfo#getSupportedFrameRateRanges()अबListके बजायSetदिखाता है, ताकि यह बेहतर तरीके से पता चल सके कि रेंज क्रम में नहीं हैं. (I02f43)CameraEffectमें गड़बड़ी सुनने वाला एक लिसनर जोड़ें, ताकि ऐसी गड़बड़ियों को ठीक किया जा सके जिन्हें ठीक नहीं किया जा सकता (Ice471)- बेहतर तरीके से जांच करने के लिए,
ResolutionInfoमें सार्वजनिक कंस्ट्रक्टर जोड़ें (If6d1c) setTargetRotationDegreesके इस्तेमाल को बदलने और एपीआईImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int), औरVideoCapture.setTargetRotationDegrees(int)को बंद करने के लिए, एपीआईUseCase.snapToSurfaceRotation(int)उपलब्ध कराया गया है. (Ia9010)- एपीआई
Preview#getTargetFrameRateऔरPreview.Builder#setTargetFrameRateको जोड़ा गया है, ताकि झलक देखने के लिए टारगेट फ़्रेम रेट सेट किया जा सके और उसे वापस पाया जा सके (If4f22) VideoRecordEvent.FinalizeअबERROR_RECORDING_GARBAGE_COLLECTEDगड़बड़ी कोड के साथ पूरा होगा, जबRecordingऑब्जेक्ट को गार्बेज कलेक्शन की वजह से रोक दिया जाता है. (Iba974)
गड़बड़ियां ठीक की गईं
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()(I83304) में javadoc से जुड़ी गड़बड़ी ठीक करें - लेगसी
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मेंsetTargetFrameRate()API औरgetTargetFramerate()API जोड़ें (I109d4)VideoCapture.BuilderSurfaceOutputको Closable इंटरफ़ेस लागू करने वाला बनाएं और SurfaceOutput.Eventके सार्वजनिक कंस्ट्रक्टर को छिपाएं. (I60ea8)- प्रोसेस की जा रही रिकॉर्डिंग को डाइनैमिक तरीके से म्यूट या अनम्यूट करने के लिए,
Recording.muteजोड़ा गया. जब प्रोसेस की जा रही रिकॉर्डिंग को जान-बूझकर म्यूट किया जाता है, तबRecordingStatsमेंAudioStats.AUDIO_STATE_MUTEDशामिल होता है. (Ie17fc) #setEffects()पैरामीटर को गैर-शून्य बनाया गया. इफ़ेक्ट हटाने के लिए,#clearEffects()एपीआई जोड़ें. इफ़ेक्ट हटाने के लिए, ऐप्लिकेशन को#clearEffects()को कॉल करना चाहिए. (I4b4d9)- कॉपी कंस्ट्रक्टर (I621a7) के लिए बिल्डर लेने के लिए,
ViewfinderSurfaceRequest.Builderके लिए दूसरा कंस्ट्रक्टर जोड़ा गया
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें कैमरा बंद करते समय, Extensions API का इस्तेमाल करने वाले ऐप्लिकेशन क्रैश हो सकते थे (Ib27e5)
- उस समस्या को ठीक किया गया है जिसकी वजह से, कुछ डिवाइसों पर सामने वाले कैमरे के साथ
VideoCaptureकाम नहीं कर पा रहा था. उदाहरण के लिए, Samsung Galaxy S23 और Xiaomi 2107113SG पर. (Ibec7e, b/270656244) - Android 10 या इसके बाद के वर्शन में, बाहरी स्टोरेज के सार्वजनिक फ़ोल्डर में मौजूद फ़ाइल का इस्तेमाल करके फ़ोटो लेने पर आने वाली समस्या को ठीक किया गया है. कृपया ध्यान दें कि Android 10 में, बाहरी स्टोरेज के सार्वजनिक फ़ोल्डर में मौजूद फ़ाइल का इस्तेमाल करके फ़ोटो लेने के लिए, ऐप्लिकेशन टैग में
requestLegacyExternalStorageको सही के तौर पर सेट करना भी ज़रूरी है. (I11b2c) DefaultSurfaceProcessorमेंRejectedExecutionExceptionके क्रैश होने की समस्या ठीक की गई.VideoCaptureके बाइंड होने और गतिविधि के रुकने पर, क्रैश हो सकता है. (Idb46a, b/273713906)
वर्शन 1.3.0-alpha05
22 मार्च, 2023
androidx.camera:camera-*:1.3.0-alpha05 रिलीज़ हो गया है. वर्शन 1.3.0-alpha05 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
VideoCaptureरोटेशन एपीआई जोड़े गए हैं. इनमेंVideoCapture.Builder.setTargetRotation(int),VideoCapture.setTargetRotation(int),VideoCapture.setTargetRotationDegrees(int), औरVideoCapture.getTargetRotation()शामिल हैं. ये एपीआई, डिवाइस के ओरिएंटेशन को लॉक करने वाले ऐप्लिकेशन के लिए काम के होते हैं.ImageCapture.setTargetRotationDegrees(int)औरImageAnalysis.setTargetRotationDegrees(int)को भी जोड़ा गया है. (Id3ffe, b/205242781)- इफ़ेक्ट के टारगेट के तौर पर
VIDEO_CAPTUREऔरPREVIEW|VIDEO_CAPTUREको अनुमति दें.VIDEO_CAPTUREको टारगेट करने वाले इफ़ेक्ट,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()में#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याCameraControllerएपीआई का इस्तेमाल करने पर, वीडियो को काटने की सुविधा (WYSIWYG सुविधा) उपलब्ध होगी. (Ifbba8, b/201085351)- Huawei P40 lite पर, फ़्रंट कैमरे से कैप्चर किया गया वीडियो रिकॉर्ड नहीं हो पा रहा था. इस समस्या को ठीक कर दिया गया है. (I87c57, b/250807400)
वर्शन 1.2
वर्शन 1.2.3
24 मई, 2023
androidx.camera:camera-*:1.2.3 रिलीज़ हो गया है. वर्शन 1.2.3 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसकी वजह से, कुछ डिवाइसों पर सामने वाले कैमरे के साथ
VideoCaptureकाम नहीं कर पा रहा था. उदाहरण के लिए, Samsung Galaxy S23 और Xiaomi 2107113SG पर. (Ibec7e, b/270656244)
वर्शन 1.2.2
22 मार्च, 2023
androidx.camera:camera-*:1.2.2 रिलीज़ हो गया है. वर्शन 1.2.2 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- हमने उस समस्या को ठीक कर दिया है जिसमें कुछ डिवाइसों, जैसे कि Pixel (I90aa2) पर proguard चालू होने पर, CameraX Extensions ठीक से काम नहीं करते थे
वर्शन 1.2.1
25 जनवरी, 2023
androidx.camera:camera-*:1.2.1 रिलीज़ हो गया है. वर्शन 1.2.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- कुछ Samsung Android 12 डिवाइसों पर Exif की जगह की जानकारी का डेटा लिखते समय, JPEG इमेज के खराब होने की समस्या ठीक की गई. (b/263289024)
वर्शन 1.2.0
7 दिसंबर, 2022
androidx.camera:camera-*:1.2.0 रिलीज़ हो गया है. वर्शन 1.2.0 में ये बदलाव शामिल हैं.
1.1.0 के बाद हुए अहम बदलाव
- नई लाइब्रेरी camera-mlkit-vision. CameraX को MLKit की कई सुविधाओं के साथ आसानी से इंटिग्रेट करें. जैसे, बारकोड स्कैनिंग, चेहरे की पहचान, टेक्स्ट की पहचान वगैरह.
MLKitAnalyzerको नए एपीआई के तौर पर जोड़ा गया है. - एक्सपेरिमेंट के तौर पर नया Zero-Shutter Lag API उपलब्ध है. यह इमेज की क्वालिटी को बेहतर बनाए रखता है. साथ ही, कैप्चर पाइपलाइन को ऑप्टिमाइज़ करता है, ताकि कम समय में इमेज कैप्चर की जा सके. कैप्चर मोड को
CAPTURE_MODE_ZERO_SHUTTER_LAGपर सेट करने पर, शटर बटन पर क्लिक करने और फ़ोटो लिए जाने के बीच का समय कम हो जाता है. ऐसा अन्य कैप्चर मोड की तुलना में होता है. जिन डिवाइसों परZERO_SHUTTER_LAGकाम नहीं करता उन पर यह सुविधा,CAPTURE_MODE_MINIMIZE_LATENCYपर फ़ॉलबैक हो जाएगी. android.camera.core.VideoCaptureका इस्तेमाल बंद करें.setStreamUseCase()को सार्वजनिकCamera2Interopएपीआई के तौर पर जोड़ा गया.setOutputImageRotationEnabledके लिए, एपीआई लेवल से जुड़ी ज़रूरी शर्तें जोड़ी गई हैं.ImageAnalysis.Analyzer#getTargetResolutionOverride()का नाम बदलकरImageAnalysis.Analyzer#getDefaultTargetResolution()कर दिया गया.- सेव किए गए वीडियो में जगह की जानकारी वाला मेटाडेटा सेट करने के लिए एपीआई जोड़ा गया.
VideoCaptureऔर 16:9 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के साथ इस्तेमाल के उदाहरणों की झलक देखने पर, फ़्रेमरेट कम होने की समस्या ठीक की गई- कुछ Samsung डिवाइसों पर BOKEH एक्सटेंशन चालू होने और उपयोगकर्ता के कैमरे बदलने पर, काली झलक दिखने की समस्या ठीक की गई.
- API लेवल 27 वाले डिवाइसों पर, Samsung J7 Prime (SM-G610M) और J7 (SM-J710MN) में
Preview/VideoCaptureके स्ट्रेच होने की समस्या ठीक की गई. - Samsung Android T पर, सामने वाले कैमरों के एएफ़ रीजन को हॉरिज़ॉन्टली फ़्लिप करने के तरीके को बंद कर दिया गया है. ऐसा इसलिए, क्योंकि इस समस्या को ठीक कर दिया गया है
वर्शन 1.2.0-rc01
24 अक्टूबर, 2022
androidx.camera:camera-*:1.2.0-rc01 रिलीज़ हो गया है. वर्शन 1.2.0-rc01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
OutputConfigurationके लिए,setStreamUseCaseएपीआई जोड़ें. उपयोगकर्ता, स्ट्रीम सेशन के लिए स्ट्रीम के इस्तेमाल का तरीका तय कर सकता है. इससे CameraX के इंटरनल लॉजिक को बदलकर, स्ट्रीम के इस्तेमाल का तरीका चुना जा सकता है, ताकि उपयोगकर्ता की ज़रूरत के हिसाब से ऑप्टिमाइज़ किया जा सके. (Ib1a95)
गड़बड़ियां ठीक की गईं
- API लेवल 27 वाले डिवाइसों पर, Samsung J7 Prime (SM-G610M) और J7 (SM-J710MN) में
Preview/VideoCaptureके स्ट्रेच होने की समस्या ठीक की गई. रिज़ॉल्यूशन 1920x1080 होने की वजह से,Preview/VideoCaptureइमेज स्ट्रेच हो जाती हैं. झलक याVideoCaptureके लिए 1920x1080 रिज़ॉल्यूशन न चुनने के लिए, एक तरीका जोड़ा गया है, ताकि इमेज के खिंचने की समस्या से बचा जा सके. (I0e04e) - कुछ Huawei डिवाइसों पर, 16:9 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के साथ
VideoCaptureऔर झलक के इस्तेमाल के उदाहरणों का इस्तेमाल करते समय, फ़्रेमरेट कम होने की समस्या ठीक की गई है. (If8c88, b/223643510) - Preview के
SurfaceProviderको सेट न करने पर, कैमरा चालू न होने की समस्या ठीक कर दी गई है. इस समस्या को ठीक करने के लिए, अब बिनाSurfaceProviderसेट किए झलक देखने की सुविधा को, कैमरा कैप्चर सेशन में कॉन्फ़िगर नहीं किया जाएगा. (I99681)
वर्शन 1.2.0-beta02
21 सितंबर, 2022
androidx.camera:camera-*:1.2.0-beta02 रिलीज़ हो गया है. वर्शन 1.2.0-beta02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
setOutputImageRotationEnabled(I26e3e, b/240993561) के लिए, एपीआई लेवल से जुड़ी ज़रूरी शर्तें जोड़ें
गड़बड़ियां ठीक की गईं
- Samsung Android T पर, सामने वाले कैमरों के एएफ़ रीजन को हॉरिज़ॉन्टल तौर पर फ़्लिप करने की सुविधा बंद कर दी गई है. ऐसा इसलिए किया गया है, क्योंकि इस समस्या को ठीक कर दिया गया है. (I05f69)
- कुछ Samsung डिवाइसों पर
BOKEHएक्सटेंशन चालू होने और उपयोगकर्ता के कैमरे स्विच करने पर, काली झलक दिखने की समस्या को ठीक किया गया है. (If6168)
वर्शन 1.2.0-beta01
24 अगस्त, 2022
androidx.camera:camera-*:1.2.0-beta01 रिलीज़ हो गया है. वर्शन 1.2.0-beta01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- नई लाइब्रेरी
camera-mlkit-vision. CameraX को ML Kit की कई सुविधाओं के साथ आसानी से इंटिग्रेट किया जा सकता है. जैसे, बारकोड स्कैन करना, चेहरे की पहचान करना, टेक्स्ट की पहचान करना वगैरह. कृपया सैंपल कोड यहां देखें. - एक्सपेरिमेंट के तौर पर उपलब्ध नया Zero-Shutter Lag API. यह इमेज की क्वालिटी को बेहतर बनाए रखता है. साथ ही, कैप्चर पाइपलाइन को ऑप्टिमाइज़ करता है, ताकि कम समय में इमेज कैप्चर की जा सके. अगर कैप्चर मोड को CAPTURE_MODE_ZERO_SHUTTER_LAG पर सेट किया जाता है, तो शटर बटन पर क्लिक करने और फ़ोटो लेने के बीच लगने वाला समय, अन्य कैप्चर मोड की तुलना में कम होता है. जिन डिवाइसों पर ZERO_SHUTTER_LAG काम नहीं करता है उन पर CAPTURE_MODE_MINIMIZE_LATENCY का इस्तेमाल किया जाएगा.
ImageAnalysis.AnalyzerऔरMLKitAnalyzerको आधिकारिक एपीआई के तौर पर बनाया गया.- सेव किए गए वीडियो के लिए, जगह का मेटाडेटा सेट करने के लिए एपीआई उपलब्ध कराया गया है.
ImageAnalysis.Analyzer#getTargetResolutionOverride()का नाम बदलकरImageAnalysis.Analyzer#getDefaultTargetResolution()करें.
गड़बड़ियां ठीक की गईं
- Alps k61v1_basic_ref में इमेज कैप्चर करने से जुड़ी समस्या को ठीक किया गया. HAL से कैप्चर की गई JPEG इमेज में, Exif मेटाडेटा गलत है. Exif मेटाडेटा में 0xffd9 या 0xffda टैग मौजूद नहीं है. इसलिए,
ExifInterfaceएट्रिब्यूट को सही तरीके से पार्स नहीं कर सकता. इस समस्या को हल करने के लिए, YUV फ़ॉर्मैट में इमेज कैप्चर की जाती हैं. इसके बाद, उन्हें JPEG आउटपुट इमेज में कंप्रेस किया जाता है. (I45abb)
वर्शन 1.2.0-alpha04
27 जुलाई, 2022
androidx.camera:camera-*:1.2.0-alpha04 रिलीज़ हो गया है. वर्शन 1.2.0-alpha04 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ImageAnalysis.Analyzer#getTargetResolutionOverride()का नाम बदलकरImageAnalysis.Analyzer#getDefaultTargetResolution()करें. इसके अलावा, इस तरीके के व्यवहार में भी बदलाव किया गया है, ताकि इस तरीके से मिली वैल्यू कोImageAnalysis#setTargetResolution()की वैल्यू से बदला जा सके. (If1d36)- सेव किए गए वीडियो के लिए, जगह का मेटाडेटा सेट करने के लिए एपीआई उपलब्ध कराया गया है.
android.location.Locationऑब्जेक्ट को नए एपीआईandroidx.camera.video.OutputOptions.Builder.setLocation(Location)की मदद से सेट किया जा सकता है. (I313a0, b/204197544)
गड़बड़ियां ठीक की गईं
- अनबाइंड की गई झलक के साथ फ़ोटो लेने की सुविधा से जुड़ी समस्या हल करें (Ie70b6, b/235119898)
- ऑडियो सोर्स उपलब्ध न होने पर, रिकॉर्डिंग की कोशिश करते समय
Recorderमें क्रैश होने की समस्या ठीक की गई. (I9f652)
वर्शन 1.2.0-alpha03
29 जून, 2022
androidx.camera:camera-*:1.2.0-alpha03 रिलीज़ हो गया है. वर्शन 1.2.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ImageAnalysis.AnalyzerऔरMLKitAnalyzerके लिए, एक्सपेरिमेंट के तौर पर उपलब्ध एनोटेशन हटा दिया गया है. (I0ff22)
गड़बड़ियां ठीक की गईं
- ऑटो फ़ोकस के लिए डिफ़ॉल्ट टाइमआउट 5000 मि॰से॰ जोड़ा गया है. अगर
FocusMeteringActionको रद्द नहीं किया जाता है और एएफ़ का हिस्सा इस अवधि में कन्वर्ज नहीं होता है, तो यह एएफ़ के हिस्से कोisFocusSuccessfulफ़ॉल्स के साथ पूरा करेगा. (Ibc2e3) - बिना बाइंड की गई झलक के साथ फ़ोटो लेने की समस्या को ठीक किया गया (I1d3a2, b/235119898)
- ऐडवांस एक्सटेंडर को लागू करने की सुविधा चालू की गई. साथ ही, CameraX के साथ काम करने वाले एक्सटेंशन-इंटरफ़ेस के वर्शन को 1.2 (I92256) पर अपडेट किया गया
वर्शन 1.2.0-alpha02
1 जून, 2022
androidx.camera:camera-*:1.2.0-alpha02 रिलीज़ हो गया है. वर्शन 1.2.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- CameraX Zero-Shutter Lag API को एक्सपेरिमेंटल के तौर पर उपलब्ध कराया गया है.
एपीआई में हुए बदलाव
ImageCaptureमें नया कैप्चर मोडCAPTURE_MODE_ZERO_SHUTTER_LAGजोड़ें. साथ ही, डिवाइस की क्षमता के बारे में क्वेरी करने के लिए,CameraInfoमेंisZslSupportedजोड़ें.CAPTURE_MODE_ZERO_SHUTTER_LAGमोड का मकसद, तुरंत कैप्चर करने के लिए कम से कम इंतज़ार का समय देना है. इसे रिंग बफ़र के आधार पर लागू किया जाता है. यह इंटरमीडिएट कैप्चर के नतीजों को कैश मेमोरी में सेव करता है, ताकि जब उपयोगकर्ता फ़ोटो लेने के लिए बटन दबाए, तो बाद में उन्हें फिर से प्रोसेस किया जा सके. अगर {@link VideoCapture} बाउंड है या फ़्लैश मोड बंद नहीं है या OEM एक्सटेंशन चालू है, तो यह मोड अपने-आप बंद हो जाएगा. (I9ae74)ImageAnalysis.getBackgroundExecutor()तरीका जोड़ा गया (Icc945)
गड़बड़ियां ठीक की गईं
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 रिज़ॉल्यूशन मिलता है. इस इस्तेमाल के उदाहरण के लिए, UHD रिज़ॉल्यूशन काम करता है. इसलिए, इसका इस्तेमाल किया जाना चाहिए. (I0e788, b/230651237) NullPointerExceptionकोImageCapture.takePicture()को ठीक कर दिया गया है. (I92366, b/230454568, b/229766155)androidx.camera.video.Recorder(Ia8ce8) के एसिंक पॉज़ के व्यवहार से जुड़ी समस्या ठीक की गई
Camera-Camera2, Camera-Core, Camera-Lifecycle, और Camera-Video वर्शन 1.1.0
वर्शन 1.1.0
29 जून, 2022
androidx.camera:camera-*:1.1.0 रिलीज़ हो गया है. वर्शन 1.1.0 में ये बदलाव शामिल हैं.
1.0.0 के बाद हुए अहम बदलाव
- लैंडेड व्यू, एक्सटेंशन, और वीडियो कैप्चर लाइब्रेरी को पहले आरसी वर्शन के तौर पर इस्तेमाल किया जा सकता है. CameraX की सभी लाइब्रेरी, 1.1.0-beta01 से एक ही वर्शन नंबर के साथ काम करेंगी. इससे डेवलपर को वर्शन को ट्रैक करने में आसानी होगी. साथ ही, वर्शन के साथ काम करने से जुड़ी बड़ी मैट्रिक्स की जटिलता कम हो जाएगी.
- नए सार्वजनिक एपीआई और सुविधाएं लॉन्च की गईं. इनमें ये शामिल हैं:
- वीडियो कैप्चर करने के लिए, आधिकारिक कैमरा-वीडियो लाइब्रेरी जोड़ें.
- YUV को RGB में बदलने और घुमाने की सुविधा (
ImageAnalysis.Builder.setOutputImageRotationEnabledऔरsetOutputImageFormat) - मल्टी-विंडो मोड के साथ काम करता है. इससे CameraX ऐप्लिकेशन को कैमरा फिर से चालू करने की अनुमति मिलती है. ऐसा तब होता है, जब किसी दूसरे ऐप्लिकेशन की वजह से कैमरा बंद हो जाता है और फ़ोकस वापस आ जाता है.
- इससे फ़ोल्ड किए जा सकने वाले डिवाइसों में CameraX ठीक से काम करता है. इसके लिए, कुछ पूर्वावलोकन से जुड़ी समस्याओं को ठीक किया जाता है.
- एक
CameraStateएपीआई जोड़ा गया है, जिसे CameraInfo के ज़रिए ऐक्सेस किया जा सकेगा. - उपलब्ध कैमरों के बारे में सीधे जानकारी पाने के लिए, एक एपीआई
ProcessCameraProvider.getAvailableCameraInfos()जोड़ा गया है - एक्सटेंशन चालू होने पर,
ImageCapture#OnImageCapturedCallbackके लिए JPEG फ़ॉर्मैट में आउटपुट. CameraInfoमें एक एपीआईisFocusMeteringSupportedजोड़ा गया है. इससे ऐप्लिकेशन यह देख सकते हैं कि दिया गयाFocusMeteringAction, मौजूदा कैमरे पर काम करता है या नहीं.- झलक देखने की सुविधा
getResolutionInfo,ImageCapture, औरImageAnalysisके लिए, समस्या हल करने की जानकारी देने वाला एपीआई उपलब्ध कराया गया है. - फ़ोटो खींचते समय, आउटपुट JPEG इमेज की कंप्रेस करने की क्वालिटी बदलने की अनुमति देने के लिए, नया एपीआई
ImageCapture.Builder#setJpegQualityजोड़ा गया है. CameraSelectorके आधार परCameraInfosकी सूची को फ़िल्टर करने के लिए, सार्वजनिक एपीआई मेंCameraSelector#filterजोड़ा गया.- मौजूदा कैप्चर अनुरोध के विकल्पों को हटाने के लिए,
Camera2CameraControl.clearCaptureRequestOptionsजोड़ा गया. - बाहरी इमेज प्रोसेसिंग लाइब्रेरी के साथ
CameraControllerका इस्तेमाल करने के लिए, एक्सपेरिमेंटल एपीआई जोड़ा गया है. उदाहरण के लिए, MLKit - एक्सपेरिमेंट के तौर पर एपीआई
CameraInfo#getCameraSelector()जोड़ा गया है. यह एपीआई, कैमरे के लिए यूनीकCameraSelectorदिखाता है - कई एक्सपेरिमेंटल एपीआई को आधिकारिक तौर पर सार्वजनिक एपीआई के तौर पर प्रमोट किया गया
- एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई के लिए, एनोटेशन
@Experimentalको@RequiresOptInसे बदला गया. एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई को कॉल करने के लिए, androidx.annotation.experimental.UseExperimental के बजाय androidx.annotation.OptIn का इस्तेमाल करें. - इन एक्सपेरिमेंटल एपीआई को आधिकारिक एपीआई के तौर पर प्रमोट किया गया है:
CameraXConfig.Builder#setAvailableCamerasLimiter(),CameraXConfig.Builder#setMinimumLoggingLevel(),CameraXconfig.Builder#setSchedulerHandler(),CameraXConfig#getAvailableCamerasLimiter(),CameraXConfig#getMinimumLoggingLevel(),CameraXConfig#getCameraExecutor(),CameraXConfig#getSchedulerHandler(), @ExperimentalCameraFilterएपीआई- एक्सपोज़र कंपंसेशन के एक्सपेरिमेंटल एपीआई.
- कैमरा-कोर, कैमरा-लाइफ़साइकल, और कैमरा-वीडियो के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध
UseCaseGroupएपीआई का प्रमोशन किया गया. व्यूपोर्ट को पसंद के मुताबिक बनाने के लिए,ViewPort#getLayoutDirection,ViewPort.Builder#setLayoutDirection, औरViewPort.Builder#setScaleTypeको जोड़ा गया. ExperimentalUseCaseGroupLifecycleको सार्वजनिक तौर पर उपलब्ध एपीआई के तौर पर प्रमोट किया.- मौजूदा एपीआई में बदलाव
Renamed MediaStoreOutputOptions.getCollectionसेMediaStoreOutputOptions.getCollectionUri.- ज़्यादा जानकारी को कम करने के लिए,
ActiveRecordingका नाम बदलकर "Recording" कर दिया गया है. QualitySelectorक्रिएटर एपीआई को सूची पर आधारित एपीआई में बदला गया
गड़बड़ियां ठीक की गईं
- एक्सटेंशन मोड चालू होने और
ImageCapture#CAPTURE_MODE_MAX_QUALITYमोड सेट होने पर,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 माइग्रेशन (I3366d) की वजह से, :compose:ui:ui-test api (updateApi) को अपडेट किया गया
वर्शन 1.1.0-beta02
23 फ़रवरी, 2022
androidx.camera:camera-*:1.1.0-beta02 रिलीज़ हो गया है. वर्शन 1.1.0-beta02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- Camera2Interop के ज़रिए, फ़िज़िकल कैमरा आईडी तय करने की सुविधा जोड़ी गई. (I5aed8)
गड़बड़ियां ठीक की गईं
- Oppo Find N (I7d004) पर, स्ट्रेच की गई झलक की समस्या को ठीक किया गया
- Galaxy J7 Prime में झलक के खराब दिखने की समस्या को ठीक किया गया है. (I4c500)
- वीडियो एन्कोडर ढूंढने के लिए, बिटरेट का इस्तेमाल करें. (d969052)
वर्शन 1.1.0-beta01
26 जनवरी, 2022
androidx.camera:camera-*:1.1.0-beta01 रिलीज़ हो गया है. वर्शन 1.1.0-beta01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- CameraX की सभी लाइब्रेरी, 1.1.0-beta01 से एक ही वर्शन नंबर के साथ काम करेंगी. इससे डेवलपर को वर्शन को ट्रैक करने में आसानी होगी. साथ ही, वर्शन के साथ काम करने वाली बड़ी मैट्रिक्स की जटिलता कम हो जाएगी.
एपीआई में हुए बदलाव
- कैप्चर करने के मौजूदा अनुरोध के विकल्पों को हटाने के लिए,
Camera2CameraControl.clearCaptureRequestOptionsजोड़ा गया है. (Ifa07d)
गड़बड़ियां ठीक की गईं
- Android O(API 26) से पहले के कुछ डिवाइसों पर वीडियो रिकॉर्ड करते समय, ऐप्लिकेशन के क्रैश होने की समस्या को ठीक किया गया है. (I88fdf, b/212328261)
- Samsung डिवाइसों में, सामने की ओर लेंस वाले कैमरे पर
cameraControl#startFocusAndMetering()का इस्तेमाल करते समय, एएफ़ क्षेत्र की गलत जानकारी देने वाली समस्या को ठीक किया गया (Ifbf59, b/210548792) - Pixel 3a/Pixel 3a XL पर टॉर्च का इस्तेमाल फ़्लैश के तौर पर करें, ताकि अंधेरे में फ़ोटो खींचने की स्पीड और क्वालिटी को बेहतर बनाया जा सके (Ib12b6, b/211474332)
- इस सुविधा की मदद से, मल्टी-विंडो मोड में ज़्यादा प्राथमिकता वाले किसी दूसरे ऐप्लिकेशन की वजह से कैमरे के रुक जाने पर, ऐप्लिकेशन को कैमरे का इस्तेमाल फिर से शुरू करने की अनुमति मिलती है. साथ ही, फ़ोकस वापस ऐप्लिकेशन पर आ जाता है. कृपया ध्यान दें कि फ़्रेमवर्क से जुड़ी किसी समस्या की वजह से, फ़ोकस में बदलाव होने और कैमरा फिर से खुलने के बीच कुछ समय(एक से 10 सेकंड या इससे ज़्यादा) लग सकता है. (I4d092)
वर्शन 1.1.0-alpha12
15 दिसंबर, 2021
androidx.camera:camera-*:1.1.0-alpha12 रिलीज़ हो गया है. वर्शन 1.1.0-alpha12 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- अंदरूनी क्लास/इंटरफ़ेस से, गैर-ज़रूरी
@RequiresApi(21)एनोटेशन हटा दिए गए हैं. (I8e286, b/204917951) QualitySelectorके क्वालिटी कॉन्स्टेंट और फ़ॉलबैक रणनीति के कॉन्स्टेंट को क्लास ऑब्जेक्ट के तौर पर दिखाया गया है. उदाहरण के लिए,QualitySelector.QUALITY_HDकोQuality.HDमें बदल दिया जाता है. साथ ही,QualitySelector.FALLBACK_STRATEGY_LOWERकोFallbackStrategy.lowerQualityOrHigherThan(Quality)से मिले इंस्टेंस में बदल दिया जाता है.QualitySelectorबनाने के लिए इस्तेमाल किए जाने वाले एपीआई को, सूची पर आधारित एपीआई में बदल दिया गया है. नया APIQualitySelector.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)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें कम रोशनी वाले माहौल में, फ़्लैश मोड के ऑटो या always_on पर सेट होने पर, टैप-टू-फ़ोकस (startFocusAndMetering) के दौरान फ़्लैश चालू हो जाता था. (Id4c11)
- Pixel 2 XL / Pixel 3 XL पर, MINIMIZE_LATENCY मोड में HDR+ की सुविधा बंद कर दी गई है, ताकि लेटेंसी कम हो सके. (Ib6270, b/203505523)
बाहरी योगदान
वर्शन 1.1.0-alpha10
13 अक्टूबर, 2021
androidx.camera:camera-*:1.1.0-alpha10 रिलीज़ हो गया है. वर्शन 1.1.0-alpha10 में ये बदलाव शामिल हैं.
नई सुविधाएं
- वीडियो के लिए,
androidx.camera:camera-video:1.1.0-alpha10को पहले ऐल्फ़ा वर्शन के तौर पर आधिकारिक तौर पर रिलीज़ किया गया. आने वाले समय में रिलीज़ होने वाले वर्शन में, कई समस्याएं ठीक की जाएंगी.
एपीआई में हुए बदलाव
- सभी CameraX क्लास में
@RequiresApi(21)एनोटेशन जोड़ा गया. साथ ही, AndroidManifest.xml से minSdkVersion को हटा दिया गया. इससे camera-core को उन ऐप्लिकेशन में आसानी से इंटिग्रेट किया जा सकेगा जिनमें minSdkVersion 21 से कम है. हालांकि, वे एपीआई 21 और उसके बाद के वर्शन पर निर्भर करने वाले कोड पाथ का इस्तेमाल कुछ शर्तों के साथ करना चाहते हैं. minSdkVersion 21 या उसके बाद के वर्शन वाले किसी भी ऐप्लिकेशन के लिए, इस बदलाव को लागू करने के लिए कुछ नहीं करना होगा. (Ie7f2e, b/200599470)
गड़बड़ियां ठीक की गईं
- 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 के साथ बाइंड किया जाता है, तो LIMITED-लेवल से ऊपर का डिवाइस, 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)
- ठीक की गई
YuvToJpegProcessorEOFException समस्या. यह समस्या तब होती थी, जब एक्सटेंशन मोड चालू होता था औरImageCapture#CAPTURE_MODE_MAX_QUALITYमोड सेट होता था. (I538bd, b/192017012)
वर्शन 1.1.0-alpha06
30 जून, 2021
androidx.camera:camera-camera2:1.1.0-alpha06, androidx.camera:camera-core:1.1.0-alpha06, और androidx.camera:camera-lifecycle:1.1.0-alpha06 रिलीज़ किए जाते हैं. वर्शन 1.1.0-alpha06 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- कैमरा-कोर (I08ee8) के लिए, एक्सपेरिमेंटल एक्सपोज़र कॉम्पन्सेशन एपीआई को प्रमोट करें
- CameraInfo में API isFocusMeteringSupported जोड़ा गया है. इससे ऐप्लिकेशन यह देख सकते हैं कि मौजूदा कैमरे पर, FocusMeteringAction काम करता है या नहीं. (Ib45ae, b/188606490)
- Preview, ImageCapture, और ImageAnalysis के लिए रिज़ॉल्यूशन की जानकारी देने के लिए, getResolutionInfo API को ऐक्सेस करने की सुविधा दी गई है. (I2b613, b/188600718)
- इन एक्सपेरिमेंटल एपीआई को आधिकारिक एपीआई के तौर पर प्रमोट किया गया है: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
- कैमराProvider इंटरफ़ेस को ऐक्सेस करने की सुविधा दी गई है, ताकि कैमरों के सेट को ऐक्सेस किया जा सके. (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अब एपीआई, एक्सपेरिमेंटल स्टेज से बाहर आ गए हैं और फ़ॉर्मल एपीआई बन गए हैं. इनका इस्तेमाल, एनोटेट किए गए OptIn के बिना किया जा सकता है. (I4bc94)- कैमरे की स्थिति बताने वाला एपीआई जोड़ा गया है. इसे
CameraInfo#getCameraState()के ज़रिए ऐक्सेस किया जा सकता है. (Ia86b4) - एक्सपेरिमेंट के तौर पर एपीआई
CameraInfo#getCameraSelector()जोड़ा गया है. यह एपीआई, कैमरे के हिसाब से यूनीक CameraSelector दिखाता है (I77f9f)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें setZoomRatio और setLinearZoom में ListenableFuture, कुछ Android 11 डिवाइसों पर पूरा नहीं हो पाता था (I716d7)
- कैमरा स्विच करने की प्रोसेस को तेज़ किया गया है. साथ ही, कैमरा डिवाइस में होने वाली गड़बड़ियों की दर को कम किया गया है (I34c99)
- ExperimentalUseCaseGroupLifecycle को ExperimentalUseCaseGroup से बदल दिया गया है. (I3b2ef, b/159033688)
वर्शन 1.1.0-alpha04
21 अप्रैल, 2021
androidx.camera:camera-camera2:1.1.0-alpha04, androidx.camera:camera-core:1.1.0-alpha04, और androidx.camera:camera-lifecycle:1.1.0-alpha04 रिलीज़ किए जाते हैं. वर्शन 1.1.0-alpha04 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एक ही कलेक्शन को एक साथ ऐक्सेस करने वाले कई थ्रेड की वजह से होने वाली मेमोरी लीक की समस्या को ठीक किया गया है. मेमोरी लीक की वजह से, Preview इंस्टेंस में Activity या Fragment सेव हो सकता है. (I7b4b8)
- एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई के लिए, एनोटेशन
@Experimentalको@RequiresOptInसे बदला गया. एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई को कॉल करने के लिए, बंद हो चुकेandroidx.annotation.experimental.UseExperimentalके बजायandroidx.annotation.OptInका इस्तेमाल करें. (Iff226) - Samsung Galaxy S7 पर, फ़्लैश चालू/अपने-आप चालू होने की सुविधा के साथ ImageCapture का इस्तेमाल करने पर, धुंधली इमेज मिलती हैं. इस समस्या को ठीक कर दिया गया है. (I30001)
- CameraState API जोड़ा गया है, जिसे CameraInfo के ज़रिए ऐक्सेस किया जा सकेगा. (I75392)
वर्शन 1.1.0-alpha03
24 मार्च, 2021
androidx.camera:camera-camera2:1.1.0-alpha03, androidx.camera:camera-core:1.1.0-alpha03, और androidx.camera:camera-lifecycle:1.1.0-alpha03 रिलीज़ किए जाते हैं. वर्शन 1.1.0-alpha03 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एक्सटेंशन मोड चालू होने पर,
ImageCapture#OnImageCapturedCallbackके लिए JPEG फ़ॉर्मैट में आउटपुट. (I0d7b1) - UMIDIGI BISON डिवाइसों पर, शुरू होने में आने वाली समस्या को ठीक किया गया (I57d9e, b/180818665)
- PreviewView में, Samsung A3 पर स्ट्रेच की गई झलक की समस्या ठीक की गई. (Iacb30, b/180121821)
वर्शन 1.1.0-alpha02
24 फ़रवरी, 2021
androidx.camera:camera-camera2:1.1.0-alpha02, androidx.camera:camera-core:1.1.0-alpha02, और androidx.camera:camera-lifecycle:1.1.0-alpha02 रिलीज़ किए जाते हैं. वर्शन 1.1.0-alpha02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- उपलब्ध कैमरों के बारे में सीधे जानकारी पाने के लिए, एक एपीआई
ProcessCameraProvider.getAvailableCameraInfos()जोड़ा गया है. ये कैमरे, डिवाइस के सभी कैमरे याCameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector)में दिए गएCameraSelectorसे चुने गए कैमरे हो सकते हैं. (Ieac08)
गड़बड़ियां ठीक की गईं
- CameraX अब पहली बार में ही कैमरा खोलने की कोशिश करता है. इससे हो सकता है कि CameraX, अन्य कैमरा क्लाइंट से कैमरा छीन ले, क्योंकि उसके ऐप्लिकेशन को ज़्यादा प्राथमिकता दी जाती है. (Iab069, b/175820568)
- CameraXConfig में setAvailableCamerasLimiter का इस्तेमाल करने पर, Robolectric टेस्ट के फ़ेल होने की समस्या ठीक की गई. (Ice307)
- इस बदलाव से, ImageAnalysis में इमेज की ज़्यादा से ज़्यादा संख्या होने पर होने वाली गड़बड़ी का पता चलता है. इसलिए, हो सकता है कि क्रैश होने के बजाय, आपको इस्तेमाल के अन्य उदाहरणों के रुकने या धीमे होने की समस्या दिखे. उदाहरण के लिए, झलक का रुक जाना/धीमा हो जाना. (Ic12da, b/175851631)
- सिर्फ़ Preview या ImageCapture के बाइंड होने पर गड़बड़ियों की सूचना देने के लिए, ExtensionsErrorListener को ठीक किया गया है. (I5ae39)
- ImageCapture की परफ़ॉर्मेंस में गिरावट की समस्या को ठीक किया गया है. इसके लिए, फ़ोटो लेने से पहले, सेव की गई इमेज की जगह की पुष्टि करने की सुविधा को हटा दिया गया है. यह बदलाव करने के बाद, अगर सेव करने की जगह अमान्य है, तो फ़ोटो लेने के बाद इमेज को सेव करने की कोशिश की जाएगी. इसलिए, सेव नहीं हो पाने की सूचना मिलने में ज़्यादा समय लगेगा. (I1fd4e, b/177061560)
- "File" टाइप OutputFileOptions के साथ, ImageCapture की परफ़ॉर्मेंस में गिरावट की समस्या ठीक की गई. (I5164a, b/177061560)
- दस्तावेज़ को अपडेट किया गया है. इसमें लाइब्रेरी कोड से
ProcessCameraProvider.configureInstance(...)का इस्तेमाल न करने का सुझाव दिया गया है. (Ib8a9f)
वर्शन 1.1.0-alpha01
27 जनवरी, 2021
androidx.camera:camera-camera2:1.1.0-alpha01, androidx.camera:camera-core:1.1.0-alpha01, और androidx.camera:camera-lifecycle:1.1.0-alpha01 रिलीज़ किए जाते हैं. वर्शन 1.1.0-alpha01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- SM-G930T के पीछे वाले कैमरे से ली गई JPEG फ़ाइलों में, इमेज का डेटा कभी-कभी खराब हो जाता है. इस समस्या को ठीक करने का तरीका शामिल किया गया है. (I52001, b/159831206)
- हमने
IllegalArgumentExceptionसमस्या को ठीक कर दिया है. यह समस्या तब होती थी, जब झलक दिखाने के लिए इस्तेमाल किए जा सकने वाले सभी साइज़ 640x480 से छोटे होते थे और डिसप्ले साइज़ 640x480 से बड़ा होता था. (I2a63c, b/150506192) - जिन लाइब्रेरी में सार्वजनिक संसाधनों के बारे में साफ़ तौर पर नहीं बताया गया है (जैसे, public.xml के ज़रिए), उनमें मौजूद संसाधन अब डिफ़ॉल्ट रूप से निजी होंगे. (Ia1dcc, b/170882230)
Camera-Camera2, Camera-Core, और Camera-Lifecycle का वर्शन 1.0.2
वर्शन 1.0.2
29 सितंबर, 2021
androidx.camera:camera-camera2:1.0.2, androidx.camera:camera-core:1.0.2, और androidx.camera:camera-lifecycle:1.0.2 रिलीज़ किए जाते हैं. वर्शन 1.0.2 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
MAXIMIZE_QUALITYमोड में ली गई फ़ोटो धुंधली दिखने की समस्या को ठीक किया गया है. (I173a9, b/193823892)- उस समस्या को ठीक किया गया है जिसकी वजह से, फ़्लैश के साथ ली गई इमेज कई डिवाइसों पर डार्क दिखती थी. (I4e510)
Camera-Camera2, Camera-Core, और Camera-Lifecycle का वर्शन 1.0.1
वर्शन 1.0.1
21 जुलाई, 2021
androidx.camera:camera-camera2:1.0.1, androidx.camera:camera-core:1.0.1, और androidx.camera:camera-lifecycle:1.0.1 रिलीज़ किए जाते हैं. वर्शन 1.0.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
उस समस्या को ठीक कर दिया गया है जिसकी वजह से,
ListenableFutureमेंsetZoomRatioऔरsetLinearZoom, Android 11 वाले कुछ डिवाइसों (I716d7) पर पूरा नहीं हो पाता थाकुछ डिवाइसों पर, कैमरा बंद करते समय उसके अटक जाने की समस्या को ठीक किया गया है. इसकी वजह से, कैमरे की झलक काली दिखती थी. (I34c99)
Camera-Camera2, Camera-Core, और Camera-Lifecycle का वर्शन 1.0.0
वर्शन 1.0.0
5 मई, 2021
androidx.camera:camera-camera2:1.0.0, androidx.camera:camera-core:1.0.0, और androidx.camera:camera-lifecycle:1.0.0 रिलीज़ किए जाते हैं. वर्शन 1.0.0 में ये बदलाव शामिल हैं.
1.0.0 वर्शन की मुख्य सुविधाएं
- CameraX, Preview, ImageCapture, और Analysis के साथ काम करता है
- CameraX, इस्तेमाल में आसान एपीआई के ज़रिए कैमरे के लाइफ़साइकल को मैनेज करता है
- CameraX का मकसद, एक ऐसी लेयर उपलब्ध कराना है जो Android Camera Ecosystem की कई समस्याओं को ठीक करती है
मौजूदा समस्याएं
- आम समस्याओं की सूची देखें
वर्शन 1.0.0-rc05
21 अप्रैल, 2021
androidx.camera:camera-camera2:1.0.0-rc05, androidx.camera:camera-core:1.0.0-rc05, और androidx.camera:camera-lifecycle:1.0.0-rc05 रिलीज़ किए जाते हैं. वर्शन 1.0.0-rc05 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Samsung Galaxy S7 पर, फ़्लैश चालू/अपने-आप चालू होने की सुविधा के साथ ImageCapture का इस्तेमाल करने पर, धुंधली इमेज मिलती हैं. इस समस्या को ठीक कर दिया गया है. (I30001)
वर्शन 1.0.0-rc04
24 मार्च, 2021
androidx.camera:camera-camera2:1.0.0-rc04, androidx.camera:camera-core:1.0.0-rc04, और androidx.camera:camera-lifecycle:1.0.0-rc04 रिलीज़ किए जाते हैं. वर्शन 1.0.0-rc04 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- UMIDIGI BISON डिवाइसों पर, शुरू होने में आने वाली समस्या को ठीक किया गया (I57d9e, b/180818665)
वर्शन 1.0.0-rc03
24 फ़रवरी, 2021
androidx.camera:camera-camera2:1.0.0-rc03, androidx.camera:camera-core:1.0.0-rc03, और androidx.camera:camera-lifecycle:1.0.0-rc03 रिलीज़ किए जाते हैं. वर्शन 1.0.0-rc03 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ProcessCameraProvider#getInstanceके दस्तावेज़ में फ़ॉर्मैट से जुड़ी गड़बड़ी ठीक करें- CameraXConfig में setAvailableCamerasLimiter का इस्तेमाल करने पर, Robolectric टेस्ट के फ़ेल होने की समस्या ठीक की गई.
- ImageCapture की परफ़ॉर्मेंस में गिरावट की समस्या को ठीक किया गया है. इसके लिए, फ़ोटो लेने से पहले, सेव की गई इमेज की जगह की पुष्टि करने की सुविधा को हटा दिया गया है. यह बदलाव करने के बाद, अगर सेव करने की जगह अमान्य है, तो फ़ोटो लिए जाने के बाद इमेज को सेव करने की कोशिश की जाएगी. इसलिए, जवाब मिलने में ज़्यादा समय लगेगा
- इस बदलाव से, ImageAnalysis में इमेज की ज़्यादा से ज़्यादा संख्या होने पर होने वाली गड़बड़ी का पता चलता है. इसलिए, क्रैश होने के बजाय, आपको इस्तेमाल के अन्य उदाहरणों के फ़्रीज़ होने या धीमे होने की समस्या दिख सकती है. उदाहरण के लिए, फ़्रीज़/धीमी प्रीव्यू.
- SM-G930T के पीछे वाले कैमरे से ली गई JPEG फ़ाइलों में, इमेज का डेटा कभी-कभी खराब हो जाता है. इस समस्या को ठीक करने का तरीका शामिल किया गया है. (I52001, b/159831206)
- इस बदलाव से, ImageAnalysis में इमेज की ज़्यादा से ज़्यादा संख्या होने पर होने वाली गड़बड़ी का पता चलता है. इसलिए, हो सकता है कि क्रैश होने के बजाय, आपको इस्तेमाल के अन्य उदाहरणों के रुकने या धीमे होने की समस्या दिखे. उदाहरण के लिए, झलक का रुक जाना/धीमा हो जाना. (Ic12da, b/175851631)
- CameraXConfig में setAvailableCamerasLimiter का इस्तेमाल करने पर, Robolectric टेस्ट के फ़ेल होने की समस्या ठीक की गई. (Ice307)
- ImageCapture की परफ़ॉर्मेंस में गिरावट की समस्या को ठीक किया गया है. इसके लिए, फ़ोटो लेने से पहले, सेव की गई इमेज की जगह की पुष्टि करने की सुविधा को हटा दिया गया है. यह बदलाव करने के बाद, अगर सेव करने की जगह अमान्य है, तो फ़ोटो लेने के बाद इमेज को सेव करने की कोशिश की जाएगी. इसलिए, सेव नहीं हो पाने की सूचना मिलने में ज़्यादा समय लगेगा. (I1fd4e, b/177061560)
- "File" टाइप OutputFileOptions के साथ, ImageCapture की परफ़ॉर्मेंस में गिरावट की समस्या ठीक की गई. (I5164a, b/177061560)
वर्शन 1.0.0-rc02
27 जनवरी, 2021
androidx.camera:camera-camera2:1.0.0-rc02, androidx.camera:camera-core:1.0.0-rc02, और androidx.camera:camera-lifecycle:1.0.0-rc02 रिलीज़ किए जाते हैं. वर्शन 1.0.0-rc02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- IllegalArgumentException की समस्या ठीक की गई है. यह समस्या तब होती थी, जब झलक दिखाने के लिए काम करने वाले सभी साइज़ 640x480 से छोटे होते थे और डिसप्ले का साइज़ 640x480 से बड़ा होता था. (b/150506192)
कैमरे को फिर से खोलने की कोशिशों की संख्या सीमित करें. कैमरा खोलने के दौरान कुछ समस्याओं को ठीक करने की कोशिश करते समय, CameraX अब कैमरे को बार-बार नहीं खोलेगा. इसके बजाय, वह 10 सेकंड तक फिर से कोशिश करने के बाद बंद हो जाएगा.I435d2
हमने
IllegalArgumentExceptionसमस्या को ठीक कर दिया है. यह समस्या तब होती थी, जब झलक दिखाने के लिए इस्तेमाल किए जा सकने वाले सभी साइज़ 640x480 से छोटे होते थे और डिसप्ले साइज़ 640x480 से बड़ा होता था. (I2a63c, b/150506192)
वर्शन 1.0.0-rc01
16 दिसंबर, 2020
androidx.camera:camera-camera2:1.0.0-rc01, androidx.camera:camera-core:1.0.0-rc01, और androidx.camera:camera-lifecycle:1.0.0-rc01 रिलीज़ किए जाते हैं. वर्शन 1.0.0-rc01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- CameraFilter और Camera2Filter को CameraInfo में बदल दिया गया है. (I6883d)
- Camera2CameraControl नाम की एक्सपेरिमेंटल क्लास जोड़ी गई है, ताकि Camera2 एपीआई के साथ डाइनैमिक तरीके से इंटरऑपरेट किया जा सके. (I45cf3)
- Camera2CameraInfo#fromCameraInfo का नाम बदलकर #from कर दिया गया है. (Ia2bd6)
- CameraXConfig में, एक्सपेरिमेंट के तौर पर उपलब्ध setAvailableCamerasLimiter API जोड़ा गया है. इससे ऐप्लिकेशन, इस्तेमाल न किए गए कैमरों को शुरू करने से बच सकते हैं. साथ ही, शुरू होने में लगने वाले समय को ऑप्टिमाइज़ कर सकते हैं. (I6cf88)
- हमने एक्सपेरिमेंट के तौर पर
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)- Experimental एनोटेशन के androidx वैरिएंट को बंद कर दिया गया है, ताकि Kotlin के साथ समानता बनी रहे. इसकी जगह, 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
CONTROL_ZOOM_RATIOAPI के साथ काम करता है. इससे Android 11 या उसके बाद के वर्शन वाले डिवाइसों पर ज़ूम किया जा सकता है. इसके लिए, डिवाइस में मान्यCONTROL_ZOOM_RATIOहोना चाहिए.CONTROL_ZOOM_RATIO_RANGE(I62cc6)
गड़बड़ियां ठीक की गईं
- कैमरा आईडी के पूर्णांक न होने पर, NumberFormatException की समस्या को ठीक किया गया है. (Ib2228)
- CameraX को शुरू करने और bindToLifecycle के इंतज़ार के समय को कम किया गया है (I61dc5)
- UseCase बनाने के लिए, CameraX को शुरू करने की ज़रूरत नहीं होती. लागू करने से जुड़े सभी कॉन्फ़िगरेशन, Camera instance से अटैच होने के बाद UseCase पर सेट किए जाते हैं. सार्वजनिक एपीआई के लिए, यह
ProcessCameraProvider.bindToLifecycle()है. (Ia5411) - अगर Camera इंस्टेंस से अटैच होने से पहले इस फ़ंक्शन को कॉल किया जाता है, तो
<UseCase>.getTargetRotation()Surface.ROTATION_0दिखाएगा. हालांकि, अगर बिल्डर या UseCase पर targetRotation सेट किया गया है, तो ऐसा नहीं होगा. (I80fcd)
Camera-Core का वर्शन 1.0.0-beta11
14 अक्टूबर, 2020
androidx.camera:camera-core:1.0.0-beta11 रिलीज़ हो गया है. वर्शन 1.0.0-beta11 में ये बदलाव शामिल हैं.
नई सुविधाएं
- Android 11 या इसके बाद के वर्शन वाले डिवाइसों पर ज़ूम करने के लिए, android 11 CONTROL_ZOOM_RATIO एपीआई के साथ काम करता है. इन डिवाइसों में मान्य CONTROL_ZOOM_RATIO_RANGE होना चाहिए. (I62cc6)
गड़बड़ियां ठीक की गईं
- कैमरा आईडी के पूर्णांक न होने पर, NumberFormatException की समस्या को ठीक किया गया है. (Ib2228)
- UseCase बनाने के लिए, CameraX को शुरू करने की ज़रूरत नहीं होती. लागू करने से जुड़े सभी कॉन्फ़िगरेशन, Camera instance से अटैच होने के बाद UseCase पर सेट किए जाते हैं. सार्वजनिक एपीआई के लिए, यह
ProcessCameraProvider.bindToLifecycle()है. (Ia5411) - अगर Camera इंस्टेंस से अटैच होने से पहले इस फ़ंक्शन को कॉल किया जाता है, तो
<UseCase>.getTargetRotation()Surface.ROTATION_0दिखाएगा. हालांकि, अगर बिल्डर या UseCase पर targetRotation सेट किया गया है, तो ऐसा नहीं होगा. (I80fcd)
Camera-Core का वर्शन 1.0.0-beta10
23 सितंबर, 2020
androidx.camera:camera-core:1.0.0-beta10 रिलीज़ हो गया है. वर्शन 1.0.0-beta10 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- इमेज कैप्चर करने के लिए, फ़ाइल सेव करने की जगह की पुष्टि करने से जुड़ी गड़बड़ी को ठीक किया गया (I8c565, b/167697553)
Camera-Camera2 वर्शन 1.0.0-beta10
23 सितंबर, 2020
androidx.camera:camera-camera2:1.0.0-beta10 रिलीज़ हो गया है. वर्शन 1.0.0-beta10 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ किया गया
Camera-Camera2 वर्शन 1.0.0-beta09
16 सितंबर, 2020
androidx.camera:camera-camera2:1.0.0-beta09 रिलीज़ हो गया है. वर्शन 1.0.0-beta09 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- स्टैटिक तरीके उपलब्ध कराने के बजाय, Camera2CameraInfo को CameraInfo इंस्टेंस मिलता है. इससे Camera2 से जुड़ी जानकारी को वापस पाया जा सकता है. (I5b844)
गड़बड़ियां ठीक की गईं
- टैबलेट डिवाइसों पर, टारगेट आसपेक्ट रेशियो से जुड़ी समस्या ठीक की गई. अगर टारगेट आसपेक्ट रेशियो
AspectRatio.RATIO_16_9के तौर पर सेट किया गया है, तो 16:9 का साइज़ चुना जाना चाहिए. (Ib7fcf, b/151969438) InitializationExceptionको थ्रो करें, ताकि ऐप्लिकेशन CameraCharacteristics बनाते समय हुई AssertionError को आसानी से हैंडल कर सके. (I89c8c, b/160524721)- ExposureCompensation के लिए एक्सपेरिमेंटल इंटरफ़ेस जोड़े गए (If96c7)
Camera-Core का वर्शन 1.0.0-beta09
16 सितंबर, 2020
androidx.camera:camera-core:1.0.0-beta09 रिलीज़ हो गया है. वर्शन 1.0.0-beta09 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- उस गड़बड़ी को ठीक किया गया है जिसमें UseCaseGroup पर व्यूपोर्ट को non-null के तौर पर मार्क किया गया था. डेवलपर को व्यूपोर्ट सेट किए बिना व्यूपोर्ट बनाने की सुविधा मिलनी चाहिए. (Ie3d2e)
ExposureCompensation(If96c7) के लिए एक्सपेरिमेंट वाले इंटरफ़ेस जोड़े गए- झलक देखने के लिए, टारगेट रोटेशन की अनुमति दें. बदलाव की जानकारी का हिसाब लगाया जाता है और उसे उपयोगकर्ता को तुरंत भेज दिया जाता है. इसके लिए, नए
TranformationInfoListenerकॉलबैक का इस्तेमाल किया जाता है. (I21470)
गड़बड़ियां ठीक की गईं
- कुछ डिवाइसों पर फ़्लैश बंद न होने की समस्या को ठीक किया गया है. ऐसा तब होता है, जब फ़ोटो लेने के लिए फ़्लैश मोड को
FLASH_MODE_ONपर सेट किया जाता है और फ़्लैश चालू होने पर इसेFLASH_MODE_OFFपर बदल दिया जाता है. यह समस्या, टॉर्च मोड चालू होने जैसी है. (Ib4451, b/162568128) - अगर एक्सटेंशन इफ़ेक्ट चालू है और वेंडर लाइब्रेरी को आउटपुट सर्फ़ेस पर कोई खास प्रोसेस करनी है, तो TextureView का इस्तेमाल करने के लिए, PreviewView को फ़ोर्स किया जाता है. (I0c3cc)
ProcessCameraProvider.getInstance(Context)को गतिविधि/फ़्रैगमेंट का कॉन्टेक्स्ट पास किए जाने पर, गतिविधि/फ़्रैगमेंट लीक होने की समस्या ठीक की गई.
मौजूदा समस्याएं
- ViewPort सेट होने पर, HAL में इमेज बफ़र को घुमाने वाले डिवाइसों पर ImageCapture का क्रॉप रेक्ट गलत हो सकता है. इस समस्या को अगले वर्शन में ठीक कर दिया जाएगा.
Camera-Camera2 का वर्शन 1.0.0-beta08
19 अगस्त, 2020
androidx.camera:camera-camera2:1.0.0-beta08 रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- bindToLifecycle को ऑप्टिमाइज़ किया गया है, ताकि यह मुख्य थ्रेड पर तेज़ी से चल सके. (I1d57e)
- DisplayOrientedMeteringPointFactory, CameraSelector के बजाय CameraInfo इंस्टेंस लेता है. इससे यह पता चलता है कि फ़ैक्ट्री किस कैमरे के लिए पॉइंट जनरेट करेगी. DisplayOrientedMeteringPointFactory का इस्तेमाल करने वाली सभी क्लास, CameraSelector के बजाय CameraInfo इंस्टेंस का इस्तेमाल करती हैं. (I400c1)
- अपने-आप तय होने वाले रिज़ॉल्यूशन के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के साइज़ ग्रुपिंग से जुड़ी समस्या को ठीक किया गया है. इस समस्या में, टारगेट रिज़ॉल्यूशन सेटिंग 2016x1080 होने पर, 16:9 mod16 साइज़ (864x480) चुना जाता है. साथ ही, 1920x1080 16:9 साइज़ भी उपलब्ध होता है. (I53167, b/159363774)
- CameraControl से जुड़ी उस समस्या को ठीक किया गया है जिसमें रेस कंडीशन की वजह से, यह काम नहीं कर पाता है (I2279f, b/152333890, b/160714166)
Camera-Core का वर्शन 1.0.0-beta08
19 अगस्त, 2020
androidx.camera:camera-core:1.0.0-beta08 रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
DisplayOrientedMeteringPointFactory,CameraSelectorके बजायCameraInfoका इंस्टेंस लेता है. इसलिए, यह सीधे तौर पर मैप करता है कि फ़ैक्ट्री किस कैमरे के लिए पॉइंट जनरेट करेगी.DisplayOrientedMeteringPointFactoryका इस्तेमाल करने वाली सभी क्लास,CameraSelectorके बजायCameraInfoइंस्टेंस का इस्तेमाल करती हैं. (I400c1)
गड़बड़ियां ठीक की गईं
- इमेज कैप्चर करने के लिए, कैमरे की दिशा के आधार पर मेटाडेटा में, दाएं या बाएं घुमाने वाले फ़्लैग को बदलें. (I28499)
Context.getApplicationContext()से Application ऑब्जेक्ट को वापस नहीं भेजने वाले Context का इस्तेमाल करने पर, अब इनिशियलाइज़ेशन क्रैश नहीं होना चाहिए. (I3d3c9, b/160817073)
Camera-Camera2 का वर्शन 1.0.0-beta07
22 जुलाई, 2020
androidx.camera:camera-camera2:1.0.0-beta07 रिलीज़ हो गया है. वर्शन 1.0.0-beta07 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Android 5.0 वाले लेगसी डिवाइस पर, झलक के स्ट्रेच होने की समस्या को ठीक किया गया है. (I0c03a)
- JPEG फ़ॉर्मैट में काम करने वाले कुछ ऐसे साइज़ हटाए गए हैं जिनकी वजह से, कुछ डिवाइसों पर WYSIWYG की समस्या आ सकती है. (Ib5128)
Camera-Core का वर्शन 1.0.0-beta07
22 जुलाई, 2020
androidx.camera:camera-core:1.0.0-beta07 रिलीज़ हो गया है. वर्शन 1.0.0-beta07 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
FIT_CENTER,FIT_START, औरFIT_ENDके फ़िट स्टाइल कोFITके साथ मर्ज करें.FITका मतलब है कि लौटाया गया क्रॉप रेक्ट, सेंसर रेक्ट के बराबर होगा. (Ia73c3)- झलक की क्रॉप आयत को व्यूपोर्ट के हिसाब से कॉन्फ़िगर किया जाता है. असली उपयोगकर्ताओं को सिर्फ़ क्रॉप रेक्ट में शामिल हिस्सा दिखना चाहिए. (I142a4)
गड़बड़ियां ठीक की गईं
- हमने उस समस्या को ठीक कर दिया है जिसमें Android 5.0 वाले लेगसी डिवाइस पर झलक वाली इमेज स्ट्रेच हो जाती थी. (I0c03a)
- इस्तेमाल के उदाहरणों को अनबाइंड करते समय,
ConcurrentModificationExceptionअपवाद से जुड़ी समस्या ठीक की गई. (I371c0)
Camera-Camera2 वर्शन 1.0.0-beta06
24 जून, 2020
androidx.camera:camera-camera2:1.0.0-beta06 रिलीज़ हो गया है. वर्शन 1.0.0-beta06 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- कैमरा आईडी और CameraCharacteristics के हिसाब से कैमरों को फ़िल्टर करने के लिए, एक्सपेरिमेंटल इंटरफ़ेस जोड़े गए. (I28f61)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें Samsung Galaxy S7 पर startFocusAndMetering फ़ंक्शन, फ़ोकस करने में सफल नहीं हो पाता था. (If3be7, b/159039233)
- ऐप्लिकेशन बंद करने के बाद, कैमरे के बंद न होने की समस्या ठीक की गई. (I7a7b3)
- कैमरा स्विच करने पर, PreviewView के SurfaceView को लागू करने के दौरान झलक दिखाने की सुविधा काम नहीं करती है. इस समस्या को ठीक किया गया है (I920ce)
- अगर तय किए गए किसी भी MeteringPoint से, मीटरिंग के मान्य रेक्टैंगल जनरेट नहीं किए जा सकते, तो
CameraControl#startFocusAndMeteringकाम नहीं करेगा. (Id53ce)
Camera-Core का वर्शन 1.0.0-beta06
24 जून, 2020
androidx.camera:camera-core:1.0.0-beta06 रिलीज़ हो गया है. वर्शन 1.0.0-beta06 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- कैमरा आईडी और CameraCharacteristics के हिसाब से कैमरों को फ़िल्टर करने के लिए, एक्सपेरिमेंटल इंटरफ़ेस जोड़े गए. (I28f61)
गड़बड़ियां ठीक की गईं
- अब CameraX को
ProcessCameraProvider#configureInstance()के साथ कॉन्फ़िगर किया जा सकता है. इसके बाद,ProcessCameraProvider#getInstance()को कॉल किया जा सकता है. इससेCameraXConfig.Providerको ऐप्लिकेशन के ऐप्लिकेशन क्लास में लागू किए बिना,CameraXConfigको पसंद के मुताबिक बनाया जा सकता है. (Ia1a8d) - अगर तय किए गए किसी भी MeteringPoint से, मीटरिंग के मान्य रेक्टैंगल जनरेट नहीं किए जा सकते, तो
CameraControl#startFocusAndMeteringकाम नहीं करेगा. (Id53ce)
Camera-Camera2 वर्शन 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के ज़रिए किसी भी camera2 कैप्चर अनुरोध पैरामीटर को सेट कर सकते हैं. इससे ऐप्लिकेशन क्रैश नहीं होगा. कृपया ध्यान दें कि अगर पैरामीटर को बदलने की वजह से समस्याएं आती हैं. 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 वर्शन 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) OPTION_TARGET_CLASSऔरOPTION_TARGET_NAMEएपीआई फ़ील्ड कोCameraXConfigसे हटा दिया गया है, क्योंकि इनका इस्तेमाल सिर्फ़ इंटरनल लाइब्रेरी के लिए किया जाता है.CameraXConfig.Builderके लिए कंस्ट्रक्टर हटाया गया. (I96912)- ऐप्लिकेशन के लिए, CameraX को शुरू करने के लिए
Applicationको बढ़ाना ज़रूरी नहीं है. जब तकcamera-camera2आर्टफ़ैक्ट को ऐप्लिकेशन केbuild.gradleमें शामिल किया जाता है, तब तक CameraX को डिफ़ॉल्ट Camera2 कॉन्फ़िगरेशन के साथ शुरू किया जाएगा. (I58ff5) (b/146923574)
Camera-Camera2 वर्शन 1.0.0-alpha09
22 जनवरी, 2020
androidx.camera:camera-camera2:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
Camera2 कैमरा आईडी निकालने के लिए, camera2 इंटरऑप पाथ जोड़ा गया.
Camera2CameraInfo.extractCameraId()का इस्तेमाल करके,CameraInfoसे कैमरा आईडी निकाला जा सकता है. नीचे दिए गए कोड सैंपल में, इसे इस्तेमाल करने का तरीका बताया गया है:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());Camera2CameraInfoक्लास के लिए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पैरामीटर लेता है और मौजूदा डिसप्ले में पास होता है.MeteringModeऔर 3A फ़्लैग के बारे में, फ़ोकस और मीटरिंग एपीआई के लिए Javadoc में सुधार किए गए हैं. साथ ही,Displayपैरामीटर के इस्तेमाल के बारे में भी जानकारी दी गई है.setZoomRatioऔरsetLinearZoomके लिए रेफ़रंस दस्तावेज़ को ज़्यादा जानकारी के साथ अपडेट किया गया है.
गड़बड़ियां ठीक की गईं
- कैमरों को बंद करने और फिर खोलने पर होने वाली समस्याओं को ठीक किया गया है. इन समस्याओं की वजह से, "प्रीकंडिशन" की जांच पूरी नहीं हो पाती थी.
- टॉर्च और ज़ूम एपीआई का इस्तेमाल करते समय होने वाली
ConcurrentModificationExceptionगड़बड़ी को ठीक किया गया. - अब mod16 डाइमेंशन का साइज़ उपलब्ध होने पर, अनुरोध किए गए रिज़ॉल्यूशन के आस-पास के रिज़ॉल्यूशन चुने जा सकते हैं. इस समस्या को ठीक कर दिया गया है.
startFocusMeteringऔरcancelFocusMeteringएपीआई अब दस्तावेज़ में बताए गए तरीके से काम करते हैं. ये सही समय पर काम करते हैं और गड़बड़ी होने पर, उसकी जानकारी देते हैं.- उस समस्या को ठीक किया गया है जिसमें ऐसे डिवाइस पर क्रॉप किए गए पहलू के अनुपात के साथ किसी खास टारगेट रिज़ॉल्यूशन का अनुरोध किया जाता था जो इस तरह के साइज़ के साथ काम नहीं करता है. अब, जब भी उपलब्ध होगा, तब ओरिजनल अनुरोध को बाउंड करने के लिए, बिना काटे गए साइज़ की इमेज चुनी जाएगी. इसका रिज़ॉल्यूशन भी सही होगा.
Camera-Camera2 वर्शन 1.0.0-alpha08
18 दिसंबर, 2019
androidx.camera:camera-camera2:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.
मौजूदा समस्याएं
- Camera2 इंटरऑप का इस्तेमाल करते समय, Camera2 के सभी कैप्चर अनुरोध विकल्प काम नहीं करते. अगर अनुरोध किया गया विकल्प काम नहीं करता है, तो सेशन शुरू नहीं हो पाएगा. साथ ही, इस तरह की गड़बड़ी हो सकती है:
09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination
गड़बड़ियां ठीक की गईं
- एपीआई लेवल 21 और 22 के लिए, कैमरे को घुमाने या स्विच करने के बाद, झलक वाली ब्लैक स्क्रीन दिखने की समस्या को ठीक किया गया है.
एपीआई में हुए बदलाव
- एक्सपेरिमेंट के तौर पर उपलब्ध है: कैमरा आईडी निकालने के लिए, camera2 इंटरऑप पाथ जोड़ा गया.
Camera-Core का वर्शन 1.0.0-alpha08
18 दिसंबर, 2019
androidx.camera:camera-core:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.
मौजूदा समस्याएं
PreviewViewयाCameraViewका इस्तेमाल करने वाले ऐप्लिकेशन में, आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) की झलक गलत दिख सकती है. ऐसा कुछ FULL डिवाइसों पर, वीडियो को रोकने या फिर से शुरू करने के बाद होता है. जैसे, Pixel 2.
गड़बड़ियां ठीक की गईं
FocusMeteringActionऔरCameraControlके लिए दस्तावेज़ अपडेट किए गए.enableTorch()औरgetTorchState()के लिएTorchControlलागू किया गया हो.
एपीआई में हुए बदलाव
- IntDefs को छिपाया गया और IntDef कॉन्स्टेंट को IntDef की परिभाषा से बाहर ले जाया गया.
rotationDegreesको क्लासOnImageCaptureCallbackसेImageInfoमें ले जाया गया.rotationDegreesको क्लासAnalyzerसेImageInfoमें ले जाया गया.
Camera-Camera2 वर्शन 1.0.0-alpha07
4 दिसंबर, 2019
androidx.camera:camera-camera2:1.0.0-alpha07 रिलीज़ हो गया है. camera-camera2 के वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं
Camera2Configअब CameraX के लिए, Camera2 पर आधारित सुविधा को शुरू करने और कॉन्फ़िगर करने के लिए उपलब्ध है. इसे शुरू करने के तरीके के बारे में ज़्यादा जानकारी, रिलीज़ नोट के camera-core सेक्शन में दी गई है.- camera2 इंटरऑप की सुविधा को अब एक्सपेरिमेंटल के तौर पर मार्क कर दिया गया है. साथ ही, इसे एक अलग पैकेज,
androidx.camera.camera2.interop.में ले जाया गया है
Camera-Core का वर्शन 1.0.0-alpha07
4 दिसंबर, 2019
androidx.camera:camera-core:1.0.0-alpha07 रिलीज़ हो गया है. camera-core के वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं
ध्यान दें कि बीटा वर्शन के लिए तैयारी करते समय, इस ऐल्फ़ा वर्शन में कुछ अहम बदलाव किए गए हैं. हमारा सुझाव है कि आप बदलावों की समीक्षा करें. साथ ही, अगर आपको कोई सुझाव/राय देनी है या शिकायत करनी है, तो CameraX Google ग्रुप पर जाकर बताएं. Play Store पर मौजूद ऐप्लिकेशन में CameraX का इस्तेमाल करने वाले डेवलपर को हमारा सुझाव है कि वे अपने ऐप्लिकेशन में लाइब्रेरी को अपग्रेड करने से पहले, बीटा वर्शन की आधिकारिक रिलीज़ का इंतज़ार करें.
एपीआई में हुए बदलाव
अहम जानकारी: CameraX को शुरू करने का तरीका बदल गया है. ऐप्लिकेशन में
CameraXConfig.Providerको लागू किया जाना चाहिए. साथ ही,androidx.camera.camera2की ओर से उपलब्ध कराए गए डिफ़ॉल्टCamera2Configका इस्तेमाल किया जाना चाहिए. इसका सामान्य इस्तेमाल इस तरह किया जाता है:import androidx.camera.camera2.Camera2Config import androidx.camera.core.CameraXConfig public class MyCameraXApplication : Application(), CameraXConfig.Provider { override fun getCameraXConfig(): CameraXConfig { return Camera2Config.defaultConfig(this) } }CameraX क्लास को हटा दिया गया है. CameraX क्लास कॉल से पहले उपलब्ध कराए गए
bindToLifecycle(),unbind(),unbindAll(),isBound(), औरhasCamera()अबProcessCameraProviderके ज़रिए उपलब्ध हैं.ProcessCameraProviderका पर-प्रोसेस इंस्टेंस, स्टैटिक मेथडProcessCameraProvider.getInstance()का इस्तेमाल करके एसिंक्रोनस रूप से हासिल किया जाता है. यह एक लिसनेबल फ़्यूचर दिखाता है, जो पूरा होने परProcessCameraProviderउपलब्ध कराता है. यहांonCreate()में, सामान्य इस्तेमाल के लिए इसे दिखाया गया है. गतिविधि के लाइफ़साइकल में बाद मेंgetInstance()को कॉल किया जा सकता है, ताकि शुरू होने में लगने वाले समय को बाद के लिए टाला जा सके. जैसे, जब कोई उपयोगकर्ता कार्रवाई करके कैमरा यूज़र इंटरफ़ेस खोलता है.import androidx.camera.lifecycle.ProcessCameraProvider import com.google.common.util.concurrent.ListenableFuture class MainActivity : AppCompatActivity() { private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider> override fun onCreate(savedInstanceState: Bundle?) { cameraProviderFuture = ProcessCameraProvider.getInstance(this); }getInstance()से मिलेListenableFutureमें, सुनने वाले को जोड़ा जा सकता है. इससे यह पक्का होता है कि कैमरा उपलब्ध कराने वाली कंपनी कोFuture.get()पर ब्लॉक किए बिना,Futureसे वापस पाया जा सकता हैcameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))अब कैमरा चुनने की सुविधा, हर इस्तेमाल के हिसाब से नहीं, बल्कि कैमरा सिलेक्टर के ज़रिए मिलती है
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()CameraProvider.bindToLifecycleको लाइफ़साइकल का मालिक, कैमरा चुनने वाला टूल, और इस्तेमाल के उदाहरण दिए जाते हैं. इसके बाद, इन्हें लाइफ़साइकल के मालिक से जोड़ा जाता है और चुने गए कैमरे के लिए चलाया जाता है.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)“Config” क्लास के इस्तेमाल के उदाहरण हटा दिए गए हैं. इसके बजाय, सीधे तौर पर इस्तेमाल के उदाहरण बनाएं. इसके लिए, इस्तेमाल के उदाहरण बनाने वाले हर टूल में विकल्प सेट करें. उदाहरण के लिए:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()Android के सबसे सही तरीकों को ध्यान में रखते हुए, 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कर दिया गया है
CameraControlएपीआई को टैप-टू-फ़ोकस एपीआई के साथ जोड़ा गयालेंस के हिसाब से चुने गए कैमरे के लिए, CameraX से
CameraControlपाने के लिए एपीआई जोड़ा गया:CameraX.getCameraControl(LensFacing lensFacing)टैप करके फ़ोकस करने की सुविधा को चालू करने के लिए,
MeteringPointFactory,MeteringPoint,MeteringMode, औरFocusMeteringActionको जोड़ा गया:MeteringPointFactory factory = new SensorOrientedMeteringPointFactory(width, height); MeteringPoint point = factory.createPoint(x, y); FocusMeteringAction action = FocusMeteringAction.Builder.from(point, MeteringMode.AF_ONLY) .addPoint(point2, MeteringMode.AE_ONLY) // could have many .setAutoFocusCallback(new OnAutoFocusListener(){ public void onFocusCompleted(boolean isSuccess) { } }) // auto calling cancelFocusAndMetering in 5 sec. .setAutoCancelDuration(5, TimeUnit.Second) .build();फ़ोकस मीटरिंग शुरू करने और रद्द करने के लिए,
CameraControlके लिए एपीआई जोड़ा गया:getCameraControl(lensFacing).startFocusAndMetering(action);getCameraControl(lensFacing).cancelFocusAndMetering();मीटरिंग पॉइंट फ़ैक्ट्रियों के लिए एपीआई जोड़े गए हैं. ये व्यू क्लास के आधार पर, टैप कोऑर्डिनेट को सेंसर कोऑर्डिनेट में बदलने में मदद करते हैं:
MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView);MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);
यह मुख्य (यूआई) थ्रेड पर, यहां दिए गए तरीकों को लागू करता है. अगर ऐसा नहीं होता है, तो
IllegalStateExceptionदिखाता है. आने वाले वर्शन में, इसका इस्तेमाल अन्य थ्रेड पर किया जा सकेगा. साथ ही, यह भी पक्का किया जा सकेगा कि यह क्रम से काम करे.CameraX.bindToLifecycle()CameraX.unbind()CameraX.unbindAll()ImageAnalysis.setAnalyzer()ImageAnalysis.getAnalyzer()ImageAnalysis.removeAnalyzer()Preview.removePreviewOutputListener()Preview.getOnPreviewOutputUpdateListener()Preview.setOnPreviewOutputUpdateListener()
कॉन्फ़िगरेशन की अलग-अलग सेटिंग अब शून्य पैरामीटर स्वीकार करती हैं. साथ ही, उनसे जुड़े गेटर शून्य वैल्यू दिखा सकते हैं.
उन इम्यूलेटर पर टेस्टिंग के दौरान आने वाली समस्या को ठीक किया गया है जो AF/AE/AWB सेटिंग के साथ काम नहीं करते.
इमेज का विश्लेषण करते समय, रोटेशन के दौरान क्रैश होने वाली गड़बड़ी को ठीक किया गया है.
उस बग को ठीक किया गया है जिसकी वजह से, रोटेशन के बाद या फ़्रंट और बैक कैमरे के बीच स्विच करने पर, झलक काली दिखती थी (कैमरे का कोई डेटा नहीं दिखता था).
एक साथ कई इमेज का विश्लेषण करने के उदाहरणों के लिए, टेस्टिंग की सुविधा हटा दी गई है. यह पक्का करने के लिए कि ऐप्लिकेशन ठीक से काम करे, उसे सिर्फ़ इमेज विश्लेषण के इस्तेमाल का एक उदाहरण अटैच करना चाहिए.
कैमरा-टेस्टिंग सुइट में, फ़ेक कैमरे के लिए शुरुआती रोबोटिक टेस्ट जोड़े गए (WIP).
Camera2Inititalizer टेस्ट को हटा दिया गया है, क्योंकि इसकी कवरेज साफ़ तौर पर नहीं बताई गई थी/गुमराह करने वाली थी.
Camera-Camera2 और Camera-Core वर्शन 1.0.0-alpha04
7 अगस्त, 2019
androidx.camera:camera-camera2:1.0.0-alpha04 और androidx.camera:camera-core:1.0.0-alpha04 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
आस्पेक्ट रेशियो और रिज़ॉल्यूशन चुनने की सुविधा में हुए बदलाव
CameraX का मकसद, कैमरा सेशन को सही तरीके से शुरू करना है. इसका मतलब है कि CameraX, डिवाइस की क्षमता के आधार पर रिज़ॉल्यूशन/आस्पेक्ट रेशियो से समझौता करता है, ताकि कैप्चर सेशन शुरू किया जा सके. इसलिए, हो सकता है कि सटीक अनुरोधों को पूरा न किया जा सके. ऐसा इन वजहों से हो सकता है:
- ऐसे डिवाइस जिन पर अनुरोध किया गया रिज़ॉल्यूशन काम नहीं करता
- डिवाइस के साथ काम न करने से जुड़ी समस्याएं. जैसे, लेगसी डिवाइसों पर कुछ रिज़ॉल्यूशन का इस्तेमाल करना ज़रूरी होता है, ताकि वे ठीक से काम कर सकें
- कुछ डिवाइसों पर, कुछ फ़ॉर्मैट सिर्फ़ कुछ आसपेक्ट रेशियो में उपलब्ध होते हैं
- JPEG या वीडियो एन्कोडिंग के लिए, “nearest mod16” को प्राथमिकता दी जाती है.
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAPदेखें
CameraX, सेशन बनाता है और उसे मैनेज करता है. हालांकि, आपको हमेशा अपने कोड में, इस्तेमाल के उदाहरण के आउटपुट पर दिखाई गई इमेज के साइज़ की जांच करनी चाहिए. साथ ही, उसके हिसाब से बदलाव करना चाहिए.
एपीआई को ज़्यादा साफ़ तौर पर समझने के लिए, रिज़ॉल्यूशन और आसपेक्ट रेशियो सेट करने से जुड़े कुछ बदलाव किए गए हैं:
- अगर झलक दिखाने की सुविधा के लिए कोई आसपेक्ट रेशियो सेट नहीं किया गया है, तो अब इसे डिफ़ॉल्ट रूप से 4:3 आसपेक्ट रेशियो में दिखाया जाएगा.
- जब CameraX, डिवाइस की क्षमता के आधार पर, अनुरोध किए गए रिज़ॉल्यूशन और आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) में बदलाव करता है, तो वह सबसे पहले उसी आसपेक्ट रेशियो को बनाए रखने की कोशिश करता है जिसे
setTargetAspectRatioयाsetTargetResolutionकॉल से तय किया गया है - रिज़ॉल्यूशन के “Nearest mod16” वर्शन को एक ही आसपेक्ट रेशियो माना जाता है.
ImageAnalysis Non-Blocking Mode
ImageReaderMode.ACQUIRE_LATEST_IMAGEका व्यवहार अब नॉन-ब्लॉकिंग है. यह इमेज को क्यू में सबसे ऊपर रखता है. हालांकि, यह इस्तेमाल न की गई इमेज को लगातार हटाता रहता है, ताकि कैमरा पाइपलाइन को ब्लॉक होने से बचाया जा सके.- विश्लेषण करने वाला टूल, पाइपलाइन को रोके बिना किसी इमेज को अनिश्चित काल तक सेव करके रख सकता है.
- अगर ऐप्लिकेशन, एक्ज़ीक्यूटर उपलब्ध कराता है और वह ब्लॉक हो जाता है, तो ImageAnalysis का इस्तेमाल नहीं किया जा सकता.
- डिफ़ॉल्ट रूप से सेट किया गया एक्ज़ीक्यूटर, नॉन-ब्लॉकिंग एक्ज़ीक्यूटर के तौर पर काम करता है.
गड़बड़ियां ठीक की गईं
- ऑटो-फ़ोकस, ऑटो एक्सपोज़र, और ऑटो-व्हाइटबैलेंस की सुविधा के बिना डिवाइसों पर इमेज कैप्चर करते समय, 3A कन्वर्जेंस के लिए इंतज़ार करने से जुड़ी टाइमआउट की समस्याओं को ठीक किया गया
- ImageCapture की मदद से तेज़ी से फ़ोटो लेने पर होने वाली समस्या को ठीक किया गया. गड़बड़ी ठीक की गई:
java.lang.IllegalStateException: maxImages (2) has already been acquired - उस समस्या को ठीक किया गया है जिसमें इस्तेमाल के उदाहरण के लिए
setLensFacingको कॉल नहीं किया गया था. इस वजह से,java.lang.IllegalArgumentException: Unable to get camera ID for use caseकी समस्या आ रही थी. - उस समस्या को ठीक किया गया है जिसमें LEGACY डिवाइस के लिए, ज़्यादा से ज़्यादा JPEG रिज़ॉल्यूशन के तौर पर खास आसपेक्ट रेशियो की ज़रूरत होती थी
- कैमरा चालू होने के दौरान ऐप्लिकेशन को बैकग्राउंड में ले जाने पर आने वाली समस्या को ठीक किया गया है
- एपीआई < 25 पर समस्या ठीक कर दी गई है. गड़बड़ी
checkAndUpdateEglState: invalid current EGLDisplayको हटाया जा रहा है - एक्सटेंशन चालू करने और शुरू करने के बाद, झलक देखने की सुविधा को अनबाइंड करने से जुड़ी समस्या ठीक की गई
- कैमरा-व्यू और कैमरा-एक्सटेंशन के लिए, बिल्ड आर्टफ़ैक्ट अब ऐल्फ़ा वर्शन के तौर पर पब्लिश किए जाते हैं
Camera-Camera2 और Camera-Core वर्शन 1.0.0-alpha03
2 जुलाई, 2019
androidx.camera:camera-core:1.0.0-alpha03 और androidx.camera:camera-camera2:1.0.0-alpha03 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- setTarget कॉन्फ़िगरेशन कॉल में “target” के लिए, javadoc में ज़्यादा जानकारी जोड़ी गई
Camera-Core
- तेज़ी से खोलने/बंद करने या बाइंड/अनबाइंड करने पर, कॉन्फ़िगर नहीं किए गए इनपुट/आउटपुट सर्फ़ेस के क्रैश होने की समस्या ठीक की गई
- फ़्यूचर्स के नए वर्शन पर माइग्रेट करना
- बेहतर टेस्टिंग के लिए, समस्याओं को ठीक करने वाले टेस्ट
- कोर इंटिग्रेशन टेस्ट में अब फ़ोटो कैप्चर करने का समय दिखता है
- एक्ज़ीक्यूटर के लिए इंटरनल कंपैट क्लास डेवलप की गई
- टाइमिंग टेस्ट ऐप्लिकेशन, इमेज कैप्चर करने से पहले पिछली प्रोसेस के पूरा होने का इंतज़ार करता है. इससे ऐप्लिकेशन ज़्यादा स्थिर रहता है
एक्सटेंशन
- वर्शन की जांच करने की सुविधा जोड़ी गई
- टेस्ट कवरेज से जुड़ी अन्य जानकारी - एक्सटेंशन इवेंट कॉलबैक
- आंतरिक तौर पर इमेज और मेटा-डेटा को बेहतर बनाया गया है
- टेस्ट ऐप्लिकेशन में मोड स्विच करने से जुड़ी समस्याएं ठीक की गईं
Camera-Camera2 और Camera-Core वर्शन 1.0.0-alpha02
5 जून, 2019
androidx.camera:camera-core:1.0.0-alpha02 और androidx.camera:camera-camera2:1.0.0-alpha02 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एम्युलेटर का इस्तेमाल करते समय, शून्य से भाग देने की समस्या को ठीक किया गया
- कुछ डिवाइसों पर, फ़ोटो लेते समय NullPointerException/Surface Abandoned गड़बड़ी ठीक की गई है. यह गड़बड़ी, अनबाइंड करने और फिर से बाइंड करने के इस्तेमाल के उदाहरणों को तेज़ी से लागू करते समय होती है.
- आंतरिक समस्या को ठीक किया गया है, ताकि कैप्चर अनुरोध से जुड़े अपडेट सभी प्लैटफ़ॉर्म पर एक जैसा असर डालें
- ऐप्लिकेशन के नए इंस्टेंस में इस्तेमाल के उदाहरणों को फिर से शुरू करते समय, स्थिरता में सुधार
- एपीआई में एक्ज़ीक्यूटर की सुविधा को चालू करने के लिए, इंटरनल आर्किटेक्चर में बदलाव किए गए हैं
- CameraX क्लास और लाइफ़साइकल मैनेजमेंट के बारे में Javadoc में अतिरिक्त जानकारी
- Antelope परफ़ॉर्मेंस टेस्ट ऐप्लिकेशन के लिए, इंस्ट्रुमेंटेड टेस्टिंग की सुविधा जोड़ी गई
- ऐप्लिकेशन के Proguard कॉन्फ़िगरेशन में, '-keepattributes Signature' की ज़रूरत नहीं है
Camera-Camera2 और Camera-Core 1.0.0-alpha01
7 मई, 2019
androidx.camera:camera-core:1.0.0-alpha01 और
androidx.camera:camera-camera2:1.0.0-alpha01 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.
Camera-Lifecycle का वर्शन 1.0.0-beta11
14 अक्टूबर, 2020
androidx.camera:camera-lifecycle:1.0.0-beta11 रिलीज़ हो गया है. वर्शन 1.0.0-beta11 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- अगर Camera इंस्टेंस से अटैच होने से पहले इस फ़ंक्शन को कॉल किया जाता है, तो
<UseCase>.getTargetRotation()Surface.ROTATION_0दिखाएगा. हालांकि, अगर बिल्डर या UseCase पर targetRotation सेट किया गया है, तो ऐसा नहीं होगा. (I80fcd)
Camera-Lifecycle वर्शन 1.0.0-beta10
23 सितंबर, 2020
androidx.camera:camera-lifecycle:1.0.0-beta10 रिलीज़ हो गया है. वर्शन 1.0.0-beta10 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ किया गया
Camera-Lifecycle का वर्शन 1.0.0-beta09
16 सितंबर, 2020
androidx.camera:camera-lifecycle:1.0.0-beta09 रिलीज़ हो गया है. वर्शन 1.0.0-beta09 में ये बदलाव शामिल हैं.
Camera-Lifecycle वर्शन 1.0.0-beta08
19 अगस्त, 2020
androidx.camera:camera-lifecycle:1.0.0-beta08 रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
Context.getApplicationContext()से 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() के साथ कॉन्फ़िगर किया जा सकता है. इससे, ऐप्लिकेशन की Application क्लास में CameraXConfig.Provider को लागू किए बिना, CameraXConfig को पसंद के मुताबिक बनाया जा सकता है. (Ia1a8d)
Camera-Lifecycle वर्शन 1.0.0-beta05
10 जून, 2020
androidx.camera:camera-lifecycle:1.0.0-beta05 रिलीज़ हो गया है. वर्शन 1.0.0-beta05 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- फ़ोन के 'परेशान न करें' मोड में होने पर, CameraX को शुरू करते समय ऐप्लिकेशन के क्रैश होने की समस्या ठीक की गई.
InitializationExceptionमें मौजूदCameraUnavailableExceptionको ऐप्लिकेशन क्रैश होने से बचाने के लिए, उसेListenableFutureपर सेट किया जाएगा. (I9909a, b/149413835)
Camera-Lifecycle वर्शन 1.0.0-beta04
27 मई, 2020
androidx.camera:camera-lifecycle:1.0.0-beta04 रिलीज़ हो गया है. वर्शन 1.0.0-beta04 में ये बदलाव शामिल हैं.
Camera-Lifecycle वर्शन 1.0.0-beta03
15 अप्रैल, 2020
androidx.camera:camera-lifecycle:1.0.0-beta03 रिलीज़ हो गया है. वर्शन 1.0.0-beta03 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- beta03 वर्शन में हुई रिग्रेशन की समस्या को ठीक किया गया है. इस समस्या में, शून्य
UseCaseके साथbindToLifecycle()को कॉल करने पर अपवाद होता था. इस कुकी का इस्तेमाल,UseCaseको बाइंड किए बिनाCameraको वापस पाने से रोकने के लिए किया जाता है. camera-coreको रिलीज़ करने से जुड़ी गड़बड़ियां ठीक की गईं
Camera-Lifecycle वर्शन 1.0.0-beta01
26 फ़रवरी, 2020
androidx.camera:camera-lifecycle:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- दस्तावेज़ में यह जानकारी जोड़ी गई है कि
ProcessCameraProviderको शुरू करते समय, डिफ़ॉल्ट कॉन्फ़िगरेशन का इस्तेमाल किया जाता है. साथ ही,Applicationको बढ़ाना ज़रूरी नहीं है. (I5e395)
Camera-Lifecycle वर्शन 1.0.0-beta02
1 अप्रैल, 2020
androidx.camera:camera-lifecycle:1.0.0-beta02 रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
camera-camera2:1.0.0-beta02औरcamera-core:1.0.0-beta02आर्टफ़ैक्ट में गड़बड़ियां ठीक करने के लिए, इसे अपडेट किया गया है.
Camera-Lifecycle वर्शन 1.0.0-alpha10
10 फ़रवरी, 2020
androidx.camera:camera-lifecycle:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- BindToLifecycle, unbind, और unbindAll तरीकों में
@MainThreadएनोटेशन जोड़ा गया. (I990d2)
Camera-Lifecycle वर्शन 1.0.0-alpha03
22 जनवरी, 2020
androidx.camera:camera-lifecycle:1.0.0-alpha03 रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.
अपडेट
- Camera Core और Camera2 में हुए बदलावों के साथ काम करने के लिए, कई सुधार और अपडेट किए गए हैं.
Camera-Lifecycle वर्शन 1.0.0-alpha02
18 दिसंबर, 2019
androidx.camera:camera-lifecycle:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.
डिपेंडेंसी में बदलाव
androidx.camera:camera-core:1.0.0-alpha08का इस्तेमाल करने के लिए अपडेट किया गया.
Camera-Lifecycle का वर्शन 1.0.0-alpha01
4 दिसंबर, 2019
androidx.camera:camera-lifecycle:1.0.0-alpha01 रिलीज़ हो गया है. camera-lifecycle के वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं
एपीआई से जुड़ी जानकारी
- कैमरा-लाइफ़साइकल आर्टफ़ैक्ट जोड़ा गया है. यह
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()एपीआई में ले जाएं. इससे उपयोगकर्ताओं कोCameraProviderफ़ंक्शन को कॉल करते समय, हर बारCameraProviderपैरामीटर डालने की ज़रूरत नहीं पड़ती.ExtensionsManager(Ic7e48)
वर्शन 1.0.0-alpha31
17 नवंबर, 2021
androidx.camera:camera-extensions:1.0.0-alpha31 और androidx.camera:camera-view:1.0.0-alpha31 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha31 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- CameraSelector#filter को सार्वजनिक एपीआई में जोड़ा गया है, ताकि CameraSelector के आधार पर CameraInfos की सूची को फ़िल्टर किया जा सके. (I105d0)
गड़बड़ियां ठीक की गईं
- कुछ डिवाइसों पर एक्सटेंशन मोड को तेज़ी से स्विच करने पर, क्रैश होने की समस्या ठीक की गई. (Iebbef)
वर्शन 1.0.0-alpha30
13 अक्टूबर, 2021
androidx.camera:camera-extensions:1.0.0-alpha30 और androidx.camera:camera-view:1.0.0-alpha30 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha30 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- सभी CameraX क्लास में @RequiresApi(21) एनोटेशन जोड़ा गया है. साथ ही, AndroidManifest.xml से minSdkVersion को हटा दिया गया है. इससे camera-core को उन ऐप्लिकेशन में आसानी से इंटिग्रेट किया जा सकेगा जिनमें minSdkVersion 21 से कम है. हालांकि, वे एपीआई 21 और उसके बाद के वर्शन पर निर्भर करने वाले कोड पाथ का इस्तेमाल कुछ शर्तों के साथ करना चाहते हैं. minSdkVersion 21 या उसके बाद के वर्शन वाले किसी भी ऐप्लिकेशन के लिए, इस बदलाव को लागू करने के लिए कुछ नहीं करना होगा. (Ie7f2e, b/200599470)
गड़बड़ियां ठीक की गईं
- AbstractMethodError की समस्या को ठीक किया गया है. यह समस्या तब होती है, जब ProGuard चालू होता है. (Iae468, b/201177844)
वर्शन 1.0.0-alpha29
29 सितंबर, 2021
androidx.camera:camera-extensions:1.0.0-alpha29 और androidx.camera:camera-view:1.0.0-alpha29 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha29 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- एपीआई के एक्सपेरिमेंटल वर्शन के बंद होने के बाद, ExperimentalUseCaseGroup एनोटेशन हटा दिया गया है. (I01ef5)
RotationProvider#removeAllListeners()हटाएं. इसके बजाय, कृपयाRotationProvider#removeListener(...)का इस्तेमाल करें. (Id9d4a)- RotationReceiver क्लास को अपडेट किया गया है: set/clear Listener को add/remove/removeAll में बदला गया है. साथ ही, setListener के उस वर्शन को हटाया गया है जो डिफ़ॉल्ट रूप से मुख्य थ्रेड का इस्तेमाल करता है. इसके अलावा, तरीकों का एनोटेशन जोड़ा गया है. (Ib1669)
गड़बड़ियां ठीक की गईं
- ExtensionMode#BEAUTY का नाम बदलकर FACE_RETOUCH कर दिया गया है, ताकि एक्सटेंशन मोड के काम को सही तरीके से दिखाया जा सके. (I61f54, b/198515274)
- एक ही गतिविधि में कई CameraController और PreviewView का इस्तेमाल करने पर, कैमरा अपने-आप बंद हो जाने की समस्या ठीक कर दी गई है. (Ibfd18, b/197539358)
वर्शन 1.0.0-alpha28
18 अगस्त, 2021
androidx.camera:camera-extensions:1.0.0-alpha28 और androidx.camera:camera-view:1.0.0-alpha28 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha28 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ExperimentalUseCaseGroupLifecycle एनोटेशन को हटा दिया गया है, क्योंकि अब एपीआई एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. (I17b85)
- RotationListener को रीफ़ैक्टर किया गया है और इसका नाम बदलकर RotationProvider कर दिया गया है. यह सुविधा अब भी उपलब्ध है, लेकिन इसके लिए एपीआई थोड़ा अलग है. (Idffc5)
- TAP_TO_FOCUS_UNSUCCESSFUL का नाम बदलकर TAP_TO_FOCUS_NOT_FOCUSED और TAP_TO_FOCUS_SUCCESSFUL का नाम बदलकर TAP_TO_FOCUS_FOCUSED कर दिया गया है. OutputSize को फ़ाइनल बनाया गया (I099fa)
गड़बड़ियां ठीक की गईं
- लेगसी हो चुकी
<EffectName><UseCase>Extenderक्लास, ExtensionsErrorListener, और इनसे जुड़े ExtensionsManager API हटा दिए गए हैं. (I3b8c3)
वर्शन 1.0.0-alpha27
21 जुलाई, 2021
androidx.camera:camera-extensions:1.0.0-alpha27 और androidx.camera:camera-view:1.0.0-alpha27 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha27 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- व्यूपोर्ट एपीआई को एक्सपेरिमेंटल से प्रमोट किया गया. एपीआई के एक्सपेरिमेंटल एनोटेशन को हटाएं. (I717ea)
CoordinateTransform#getTransformका नाम बदलकरCoordinateTransform#transformकिया गया और JavaDoc (I864ae) अपडेट किया गया
गड़बड़ियां ठीक की गईं
- Compose UI के साथ
PreviewView PERFORMANCEमोड का इस्तेमाल करने पर, स्ट्रेच होने की समस्या को ठीक किया गया है. (Ie1137, b/183864890)
वर्शन 1.0.0-alpha26
30 जून, 2021
androidx.camera:camera-extensions:1.0.0-alpha26 और androidx.camera:camera-view:1.0.0-alpha26 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha26 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- एक नया तरीका
CameraController#getTapToFocusState()जोड़ें, जो टैप-टू-फ़ोकस के सबसे नए नतीजे को दिखाता है. (Iaccb0) - CameraController में कैमरा-कोर की ज़्यादा सुविधाएं जोड़ी गई हैं: टारगेट आसपेक्ट रेशियो, टारगेट रिज़ॉल्यूशन, कैप्चर मोड, CameraControl, और कस्टम एक्ज़ीक्यूटर के लिए गेटर/सेटर. (Iea8f2)
- RotationReceiver क्लास जोड़ें, जो Surface रोटेशन में हुए बदलावों को स्वीकार करती है. इसका इस्तेमाल, डिवाइस के फ़िक्स्ड पोर्ट्रेट/लैंडस्केप मोड में होने पर, टारगेट रोटेशन सेट करने के लिए किया जा सकता है. (Ib278f)
- ExtensionsManager क्लास में, getEstimatedCaptureLatencyRange के नए सार्वजनिक एपीआई उपलब्ध कराए गए हैं. (I6a8ec)
- ExtensionsErrorListener अब काम नहीं करता. फ़िलहाल, इस इंटरफ़ेस का इस्तेमाल सिर्फ़ यह मॉनिटर करने के लिए किया जाता है कि एक्सटेंशन मोड चालू करते समय, Preview या ImageCapture की कमी तो नहीं है. CameraX, एक्सटेंशन के फ़ंक्शन को बेहतर तरीके से काम करने के लिए, Preview या ImageCapture को अपने-आप जोड़ देगा. इसके बाद, इस इंटरफ़ेस के ज़रिए कोई गड़बड़ी रिपोर्ट नहीं की जाएगी. (I47d9e)
- ExtensionsManager के नए getInstance, isExtensionAvailable, और getExtensionEnabledCameraSelector पब्लिक एपीआई उपलब्ध कराए गए हैं. साथ ही, पुरानी
<EffectName><UseCase>Extenderक्लास और उनसे जुड़े एपीआई बंद कर दिए गए हैं. (I329e6)
वर्शन 1.0.0-alpha25
2 जून, 2021
androidx.camera:camera-extensions:1.0.0-alpha25 और androidx.camera:camera-view:1.0.0-alpha25 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha25 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ExperimentalCameraFilter API अब एक्सपेरिमेंटल स्टेज में नहीं हैं. ये अब फ़ॉर्मल एपीआई बन गए हैं. इनका इस्तेमाल, एनोटेट किए गए OptIn के बिना किया जा सकता है. (I4bc94)
- एक ऐसी सुविधा जोड़ें जो इस्तेमाल के उदाहरणों के बीच निर्देशांकों को बदलती है. इस्तेमाल का उदाहरण: ImageAnalysis के इस्तेमाल के उदाहरण में पता लगाए गए कोऑर्डिनेट को बदलना और झलक में पता लगाए गए ऑब्जेक्ट को हाइलाइट करना. (I63ab1, b/137515129)
CameraViewको हटा दिया गया है.CameraViewकी जगह अबCameraControllerने ले ली है. माइग्रेट करने का तरीका जानने के लिए, कृपया माइग्रेशन गाइड देखें.: (Id5005)
गड़बड़ियां ठीक की गईं
ExperimentalUseCaseGroupLifecycleकोExperimentalUseCaseGroupसे बदला गया. (I3b2ef, b/159033688)
वर्शन 1.0.0-alpha24
21 अप्रैल, 2021
androidx.camera:camera-extensions:1.0.0-alpha24 और androidx.camera:camera-view:1.0.0-alpha24 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha24 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई के लिए, एनोटेशन
@Experimentalको@RequiresOptInसे बदला गया. एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई को कॉल करने के लिए, बंद हो चुकेandroidx.annotation.experimental.UseExperimentalके बजायandroidx.annotation.OptInका इस्तेमाल करें. (Iff226) - Samsung J5 Prime पर, PreviewView के स्ट्रेच होने की समस्या को ठीक किया गया (Ib10b6)
Camera Extensions & View Version 1.0.0-alpha23
24 मार्च, 2021
androidx.camera:camera-extensions:1.0.0-alpha23 और androidx.camera:camera-view:1.0.0-alpha23 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha23 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- CameraView अब काम नहीं करेगा. इसके बजाय, कृपया
LifecycleCameraControllerका इस्तेमाल करें. डेटा को दूसरी जगह भेजने से जुड़ी गाइड (Idac2c) देखें - setLinearZoom() में FloatRange एनोटेशन जोड़ा गया (I69971)
गड़बड़ियां ठीक की गईं
- कैमरे के पिन किए गए व्यू की डिपेंडेंसी, 1.0.0 आर्टफ़ैक्ट पर निर्भर करती हैं. camera-view पर निर्भर रहने की वजह से, Gradle की डिपेंडेंसी रिज़ॉल्यूशन सुविधा, camera-core, camera-camera2, और camera-lifecycle को अपने-आप 1.1.0 वर्शन पर अपग्रेड नहीं करेगी. हालांकि, अगर इन आर्टफ़ैक्ट को 1.1.0 वर्शन का इस्तेमाल करने के लिए साफ़ तौर पर सेट किया जाता है, तो camera-view अब भी इनके साथ काम करेगा. (Ic8fa1, b/181599852)
- PreviewView में, Samsung A3 पर स्ट्रेच की गई झलक की समस्या ठीक की गई. (Iacb30, b/180121821)
- उस समस्या को ठीक किया गया है जिसमें कैमरे को शुरू करने से पहले, कैमरा सिलेक्टर को सेट नहीं किया जा सकता था. (Ic8bd0)
Camera Extensions & View Version 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दिखाएगा. हालांकि, अगर बिल्डर या 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)
गड़बड़ियां ठीक की गईं
- अगर एक्सटेंशन इफ़ेक्ट चालू है और वेंडर लाइब्रेरी को आउटपुट सर्फ़ेस पर कोई खास प्रोसेस करनी है, तो TextureView का इस्तेमाल करने के लिए, PreviewView को फ़ोर्स किया जाता है. (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स्वाइप करके बाहर निकाले गएPreviewफ़्रैगमेंट और फिर ViewPager2 में वापस स्वाइप करने पर, काली स्क्रीन की समस्याओं को ठीक किया गया है.removeView(previewview)और फिरaddView(previewView)करने पर होने वाली समस्या को भी ठीक किया गया है. (Iab555, b/149877652, b/147354615)CameraView#takePicture()एपीआई को अपडेट करें, ताकि इमेज कोUriऔरOutputStreamमें सेव किया जा सके. टेस्ट ऐप्लिकेशन को अपडेट करें, ताकिUriको कैननिकल उदाहरण के तौर पर इस्तेमाल किया जा सके. (Ia2459, b/153607583)ScaleTypeएट्रिब्यूट सेट करके, एक्सएमएल लेआउट से PreviewView का स्केल टाइप सेट किया जा सकता है. (I08565, b/153015659)CameraView.ScaleTypeको हटा दिया गया है. इसके बजाय, CameraView के साथ स्केल टाइप को सेट/पाने के लिए,PreviewView.ScaleTypeका इस्तेमाल करें. (Ia8974, b/153014831)- अगर
PreviewViewमें पहले से कोई बैकग्राउंड कलर नहीं है, तो डिफ़ॉल्ट रूप से बैकग्राउंड कलर जोड़ें. इससे, झलक वाली स्ट्रीम शुरू होने से पहले, इसके पीछे मौजूद कॉन्टेंट नहीं दिखता. (I09fad)
Camera-Extensions Version 1.0.0-alpha10
15 अप्रैल, 2020
androidx.camera:camera-extensions:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Camera-Core को रिलीज़ करने के लिए ठीक की गई समस्याएं
Camera-View Version 1.0.0-alpha10
15 अप्रैल, 2020
androidx.camera:camera-view:1.0.0-alpha010 रिलीज़ हो गया है. वर्शन 1.0.0-alpha010 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- इस वर्शन में, पिछली एक जानी-पहचानी समस्या को ठीक किया गया है. इस समस्या में,
PreviewViewका surfaceView इंप्लीमेंटेशन, कुछ डिवाइसों पर ठीक से काम नहीं कर रहा था. साथ ही, इससे झलक को फिर से शुरू करने के बाद, ऐप्लिकेशन क्रैश हो जाता था. (I5ed6b)
Camera-Extensions वर्शन 1.0.0-alpha09
1 अप्रैल, 2020
androidx.camera:camera-extensions:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
camera-camera2:1.0.0-beta02,camera-core:1.0.0-beta02, औरcamera-lifecycle:1.0.0-beta02आर्टफ़ैक्ट में गड़बड़ियां ठीक करने के लिए अपडेट किया गया
Camera-View का वर्शन 1.0.0-alpha09
1 अप्रैल, 2020
androidx.camera:camera-view:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.
मौजूदा समस्याएं
PreviewViewके साथPreviewViewका इस्तेमाल करने पर, हो सकता है कि यह कुछ डिवाइसों पर ठीक से काम न करे. ऐसा इसलिए होता है, क्योंकि झलक के लिए इस्तेमाल किया गयाSurfaceView, उस विंडो के लाइफ़साइकल के बंद होने पर अपनी सतह को अमान्य कर देता है. जब यह फिर से शुरू होता है, तो कैमरा फिर से खुल जाता है औरSurfaceViewकी सतह के फिर से मान्य होने से पहले, झलक को फिर से शुरू करने की कोशिश कर सकता है.ImplementationMode.SURFACE_VIEWफ़िलहाल, आपकोImplementationMode.TEXTURE_VIEWका इस्तेमाल करना चाहिए.
एपीआई में हुए बदलाव
PreviewView.setImplementationMode()का नाम बदलकरPreviewView.setPreferredImplementationMode()कर दिया गया.PreviewView.getImplementationMode()का नाम बदलकरPreviewView.getPreferredImplementationMode()कर दिया गया.PreviewView.getSurfaceProvider()कोPreviewView.createSurfaceProvider(CameraInfo)से बदल दिया गया है. यह एक ऐसा इंस्टेंस है जिसमें नल वैल्यू हो सकती है. इसका इस्तेमाल,ImplementationMode.SURFACE_VIEWका इस्तेमाल करके, झलक को ऑप्टिमाइज़ करने के लिए किया जाता है.CameraInfoअगर कोई शून्य इंस्टेंस पास किया जाता है या आपने पसंदीदा मोड कोImplementationMode.TEXTURE_VIEWपर सेट किया है, तोImplementationMode.TEXTURE_VIEWका इस्तेमाल अंदरूनी तौर पर किया जाता है.यहां दिए गए कोड सैंपल में दिखाया गया है कि PreviewView के साथ, झलक देखने की सुविधा का इस्तेमाल कैसे किया जाता था.
preview.setSurfaceProvider(previewView.previewSurfaceProvider) cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)फ़िलहाल, ये प्रॉम्प्ट लिखे जा सकते हैं:
val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview) previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))@UiThreadएनोटेशन कोPreviewView.getSurfaceProvider()में जोड़ा गया है. इसका मतलब है कि इसे मुख्य थ्रेड से कॉल किया जाना चाहिए. (I192f3)PreviewView.setScaleType()जोड़ा गया है. इससे झलक का स्केल टाइप सेट किया जा सकता है. यहPreviewView.ScaleTypeमें से कोई एक वैल्यू स्वीकार करता है. डिफ़ॉल्ट रूप से, इसकी वैल्यूPreviewView.ScaleType.FILL_CENTERहोती है.PreviewView.getScaleType()को जोड़ा गया.implementationModeएट्रिब्यूट का इस्तेमाल करके, एक्सएमएल लेआउट मेंPreviewViewके लिए लागू करने का मोड सेट करने की सुविधा हटा दी गई है.createMeteringPointFactory()में मौजूद (x, y) कोMeteringPointमें बदलने की सुविधा देने के लिए, PreviewView मेंcreateMeteringPointFactory()API जोड़ें.PreviewView(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, Preview के इस्तेमाल के उदाहरण को आसानी से कनेक्ट करने के लिएPreviewSurfaceProviderउपलब्ध कराता हैpreview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)एपीआई के नाम में, “
ZoomLevel” को अब “ZoomRatio” के तौर पर इस्तेमाल किया जाता हैकुछ तरीके के पैरामीटर में, नल वैल्यू स्वीकार करने की सुविधा में बदलाव किया गया है
Camera-Extensions और Camera-View का वर्शन 1.0.0-alpha03
9 अक्टूबर, 2019
androidx.camera:camera-extensions:1.0.0-alpha03 और androidx.camera:camera-view:1.0.0-alpha03 रिलीज़ हो गए हैं. ये camera-extensions:1.0.0-alpha03 में शामिल कमिट हैं और ये camera-view:1.0.0-alpha03 में शामिल कमिट हैं.
नई सुविधाएं
- एक्सटेंशन के लिए कॉन्टेक्स्ट इनिशियलाइज़र जोड़ा गया. एक्सटेंशन का वर्शन 1.1.0 पर अपडेट किया गया
Camera-Extensions और Camera-View वर्शन 1.0.0-alpha02
5 सितंबर, 2019
androidx.camera:camera-extensions:1.0.0-alpha02 और
androidx.camera:camera-view:1.0.0-alpha02 रिलीज़ हो गए हैं. ये camera-extensions:1.0.0-alpha02 में शामिल बदलाव हैं. साथ ही, ये camera-view:1.0.0-alpha02 में शामिल बदलाव हैं.
PreviewImageProcessorImplने टाइमस्टैंप को सही तरीके से लागू किया है या नहीं, इसकी पुष्टि करने के लिए टेस्ट जोड़े गए.- Nexus 5 (एपीआई लेवल 21) पर
ExtensionTestटेस्ट के काम न करने की समस्या ठीक की गई. साथ ही, यह पक्का किया गया कि झलक उपलब्ध हो.
Camera-Extensions और Camera-View वर्शन 1.0.0-alpha01
7 अगस्त, 2019
androidx.camera:camera-extensions:1.0.0-alpha01 और
androidx.camera:camera-view:1.0.0-alpha01 रिलीज़ हो गए हैं.
ये camera-extensions:1.0.0-alpha01 में शामिल बदलाव हैं. साथ ही, ये camera-view:1.0.0-alpha01 में शामिल बदलाव हैं
- आने वाले समय में, कैमरा एक्सटेंशन के लिए नई लाइब्रेरी उपलब्ध कराई जाएगी. इससे, उन डिवाइसों पर इफ़ेक्ट ऐक्सेस किए जा सकेंगे जिन पर ये एक्सटेंशन काम करते हैं. इस लाइब्रेरी पर अभी काम चल रहा है.
- Camera View की नई क्लास. इस लाइब्रेरी पर अभी काम चल रहा है.