कैमराएक्स
इस टेबल में, androidx.camera
ग्रुप के सभी आर्टफ़ैक्ट शामिल हैं.
सह-प्रॉडक्ट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
कैमरा-कैमरा2 | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-ऐल्फ़ा01 |
कैमरा-कोर | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-ऐल्फ़ा01 |
कैमरा-इफ़ेक्ट | - | 1.4.0-rc01 | - | 1.5.0-ऐल्फ़ा01 |
कैमरा-एक्सटेंशन | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-ऐल्फ़ा01 |
कैमरे की लाइफ़साइकल | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-ऐल्फ़ा01 |
कैमरा-मलकिट-विज़न | - | 1.4.0-rc01 | - | 1.5.0-ऐल्फ़ा01 |
कैमरा-व्यू | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-ऐल्फ़ा01 |
कैमरा-व्यूफ़ाइंडर | - | - | 1.3.0-बीटा02 | 1.4.0-ऐल्फ़ा07 |
कैमरा-वीडियो | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-ऐल्फ़ा01 |
डिवाइस की जांच की जा रही है
CameraX की जांच हमारी लैब के कई डिवाइसों पर की गई है. डिवाइसों की सूची देखने के लिए जो अभी लैब में है, CameraX लैब में जांचा-परखा गया कॉन्टेंट देखें डिवाइस में बदल सकते हैं.
डिपेंडेंसी तय करना
CameraX पर डिपेंडेंसी जोड़ने के लिए, आपको Google Maven रिपॉज़िटरी को यहां जोड़ना होगा आपका प्रोजेक्ट. मैसेज पढ़ा गया ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी जानकारी.
उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको build.gradle
फ़ाइल में ज़रूरत है
आपका ऐप्लिकेशन या मॉड्यूल:
ग्रूवी
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.5.0-alpha01" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation "androidx.camera:camera-core:${camerax_version}" implementation "androidx.camera:camera-camera2:${camerax_version}" // If you want to additionally use the CameraX Lifecycle library implementation "androidx.camera:camera-lifecycle:${camerax_version}" // If you want to additionally use the CameraX VideoCapture library implementation "androidx.camera:camera-video:${camerax_version}" // If you want to additionally use the CameraX View class implementation "androidx.camera:camera-view:${camerax_version}" // If you want to additionally add CameraX ML Kit Vision Integration implementation "androidx.camera:camera-mlkit-vision:${camerax_version}" // If you want to additionally use the CameraX Extensions library implementation "androidx.camera:camera-extensions:${camerax_version}" }
Kotlin
dependencies { // CameraX core library using the camera2 implementation val camerax_version = "1.5.0-alpha01" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation("androidx.camera:camera-core:${camerax_version}") implementation("androidx.camera:camera-camera2:${camerax_version}") // If you want to additionally use the CameraX Lifecycle library implementation("androidx.camera:camera-lifecycle:${camerax_version}") // If you want to additionally use the CameraX VideoCapture library implementation("androidx.camera:camera-video:${camerax_version}") // If you want to additionally use the CameraX View class implementation("androidx.camera:camera-view:${camerax_version}") // If you want to additionally add CameraX ML Kit Vision Integration implementation("androidx.camera:camera-mlkit-vision:${camerax_version}") // If you want to additionally use the CameraX Extensions library implementation("androidx.camera:camera-extensions:${camerax_version}") }
सुझाव
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको नई समस्याओं का पता चलता है या आपको इस लाइब्रेरी को बेहतर बनाने के लिए आइडिया मिल सकते हैं. कृपया, इस मौजूदा समस्याएं इस लाइब्रेरी में जोड़ें. किसी मौजूदा समस्या के लिए अपना वोट दें. इसके लिए ये तरीके अपनाएं: स्टार बटन पर क्लिक करके ऐसा किया जा सकता है.
समस्या को ट्रैक करने वाले टूल से जुड़ा दस्तावेज़ देखें हमारा वीडियो देखें.
कैमरा व्यूफ़ाइंडर कंपोज़ वर्शन 1.0
वर्शन 1.0.0-alpha02
12 जून, 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha02
रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये कमिट मौजूद हैं.
वर्शन 1.0.0-alpha01
14 मई, 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha01
रिलीज़ हो गया है. वर्शन 1.0.0-alpha01 में ये कमिट मौजूद हैं.
नई सुविधाएं
- नई लाइब्रेरी. इस लाइब्रेरी में, Compose के नेटिव व्यूफ़ाइंडर के कंपोज़ेबल को दिखाया गया है. इसका इस्तेमाल, CameraX और Camera2 में किया जा सकता है. कंपोज़ेबल व्यूफ़ाइंडर में अलग-अलग आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) और टच इवेंट को हैंडल करने की सुविधा है.
कैमरा व्यूफ़ाइंडर वर्शन 1.4
वर्शन 1.4.0-alpha07
12 जून, 2024
androidx.camera:camera-viewfinder:1.4.0-alpha07
और androidx.camera:camera-viewfinder-core:1.4.0-alpha07
रिलीज़ हुई हैं. वर्शन 1.4.0-alpha07 में ये कमिट मौजूद हैं.
वर्शन 1.4.0-alpha06
14 मई, 2024
androidx.camera:camera-viewfinder:1.4.0-alpha06
और androidx.camera:camera-viewfinder-core:1.4.0-alpha06
रिलीज़ हुई हैं. वर्शन 1.4.0-alpha06 में ये कमिट मौजूद हैं.
एपीआई में किए गए बदलाव
Viewfinder
केImplementationMode
Enums का नाम बदलें, ताकि लागू किए गए मौजूदा फ़ंक्शन को बेहतर तरीके से दिखाया जा सके. साथ ही,TransformationInfo.sourceRotation
के लिए तय कॉन्सटेंट जोड़ें. (Ic6149)- ज़ूम जेस्चर की स्थितियों को एन्क्रिप्ट करने के लिए,
ZoomGestureDetector.ZoomEvent
को जोड़ा गया. (I84cdf)
कैमरा वर्शन 1.5
वर्शन 1.5.0-alpha01
4 सितंबर, 2024
androidx.camera:camera-*:1.5.0-alpha01
रिलीज़ हो गया है. वर्शन 1.5.0-alpha01 में ये कमिट मौजूद हैं.
एपीआई में किए गए बदलाव
- एक साथ दो कैमरों से वीडियो रिकॉर्ड करने के लिए, कंपोज़िशन सेटिंग को सेट करने के लिए एपीआई उपलब्ध कराएं. सेटिंग में ब्लेंड करने के लिए ऐल्फ़ा वैल्यू, x में ऑफ़सेट, y कोऑर्डिनेट, कैमरा फ़्रेम की डिसप्ले विंडो की चौड़ाई और ऊंचाई का स्केल, शामिल हैं. ऑफ़सेट, चौड़ाई, और ऊंचाई की जानकारी डिवाइस के सामान्य निर्देशांक में दी गई है. (Ia2b8a)
CameraProvider.getCameraInfo
को औपचारिक एपीआई के तौर पर दिखाया गया. (I901cd)- शुरुआती म्यूट स्थिति को कंट्रोल करने के लिए, एपीआई
PendingRecording.withAudioEnabled(boolean initialMuted)
जोड़ा गया. (I635c3, b/354829267)
गड़बड़ियां ठीक की गईं
- बंद किए गए
LifecycleOwner
के साथbindToLifecycle
को शुरू करने पर होने वाले क्रैश को ठीक किया गया. (I6e6d8) - Motorola Edge 20 Fusion पर
VideoCapture
से बाइंडिंग के दौरान, फ़िक्स्ड प्रीव्यू के दौरान सामने वाले कैमरे की स्क्रीन काली दिखती है. (I1fe88) - आसानी से काम करने के लिए,
PreviewView
में ज़ूम जेस्चर का पता लगाने के कॉन्फ़िगरेशन को ऑप्टिमाइज़ किया गया. (I04ffc)
कैमरा वर्शन 1.4
वर्शन 1.4.0-rc01
7 अगस्त, 2024
androidx.camera:camera-*:1.4.0-rc01
रिलीज़ हो गया है. वर्शन 1.4.0-rc01 में ये कमिट शामिल हैं.
नई सुविधाएं
- एक्सपेरिमेंट के तौर पर
CameraInfo.getCameraInfo
को जोड़ा गया. ऐसा इसलिए किया गया, ताकि कैमरे के लिए ज़रूरी इस्तेमाल के उदाहरणों की ज़रूरत के बिना, कैमरे की खास जानकारी दी जा सके. (I550d1)
एपीआई में किए गए बदलाव
- जिन मामलों में
ScreenFlashView
को साफ़ तौर पर नहीं जोड़ा गया है उनके लिएPreviewView.getScreenFlash
औरPreviewView.setScreenFlashOverlayColor
एपीआई जोड़े गए. (I43945)
गड़बड़ियां ठीक की गईं
- वीडियो कैप्चर के इस्तेमाल की केस बाउंड के साथ, कम रोशनी में फ़्लैश चालू करके इमेज कैप्चर करने पर, एक्सपोज़र और कलर टिंट से जुड़ी समस्याओं को ठीक किया गया. (Ic9814)
- चालू एक्सटेंशन की मदद से,
takePicture
के अनुरोध में रुकावट डालने वाली समस्या को ठीक करें. ऐसा हो सकता है कि आपको नतीजा न मिले औरtakePicture
का अगला अनुरोध काम न करे. (Iae78f) - एक्सटेंशन चालू होने पर होने वाली मेमोरी लीक होने की समस्या को ठीक किया गया. (Iab276)
- Pixel 7/8 और Samsung Galaxy S24 सीरीज़ जैसे डिवाइसों में CameraX एक्सटेंशन में हुई गड़बड़ी ठीक की गई. यह समस्या, एजीपी के 8.5.1 वर्शन में अपग्रेड करने और छोटा करने की सुविधा को चालू करने के बाद सामने आई. यह समस्या, रिलीज़ मोड में
Camera2OutputConfigImpl
कन्वर्ज़न की समस्या की वजह से आई थी. (I99598, b/354824993)
वर्शन 1.4.0-beta02
12 जून, 2024
androidx.camera:camera-*:1.4.0-beta02
रिलीज़ हो गया है. वर्शन 1.4.0-beta02 में ये प्रतिबद्धताएं शामिल हैं.
एपीआई में किए गए बदलाव
VideoCapture
की तरह ही, झलक के इस्तेमाल के उदाहरण के लिएsetMirrorMode
जोड़ें. इसमें एपीआई 33 और उसके बाद के वर्शन में,OutputConfiguration.setMirrorMode
के ज़रिए प्रीव्यू स्ट्रीम के लिए मिरर मोड को चालू और बंद किया जा सकता है. हालांकि, पुराने एपीआई के लिए यह काम नहीं करेगा. (I821f4)
गड़बड़ियां ठीक की गईं
- जब
ImageCapture
,Preview
+VideoCapture
+ImageCapture
UseCase
के कॉम्बिनेशन में 1920x1080 को चुना जाता है, तब Samsung Tab A8 पर ऐप्लिकेशन से फ़ोटो न ले पाने की समस्या ठीक की गई है. (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) - Preview की मदद से फ़ोटो लेते समय होने वाले क्रैश को ठीक किया गया.
ImageCapture
औरVideoCapture(UHD)
, Pixel 4XL API29 पर ही काम करते हैं. (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 इमेज फ़ॉर्मैट का इस्तेमाल करके अल्ट्रा एचडीआर से कंप्रेस की गई इमेज कैप्चर करेगा. यह फ़ॉर्मैट, पुराने सिस्टम के साथ काम करता है और इसे SDR JPEG फ़ॉर्मैट में भी इस्तेमाल किया जा सकता है. साथ ही, इस फ़ॉर्मैट में वीडियो को एचडीआर क्वालिटी में रेंडर किया जा सकता है. इसका मतलब है कि पुराने ऐप्लिकेशन या डिवाइसों पर, इमेज सामान्य JPEG फ़ॉर्मैट में आसानी से दिखती हैं; जिन ऐप्लिकेशन और डिवाइसों को फ़ॉर्मैट के हिसाब से अपडेट किया गया है उन पर इमेज एचडीआर के तौर पर दिखेंगी. (I5de50) - फ़िज़िकल कैमरे की जानकारी के बारे में क्वेरी करने और
CameraSelector
में फ़िज़िकल कैमरा आईडी सेटर/गेटर जोड़ने के लिए,CameraInfo
मेंPhysicalCameraInfo
जोड़ें (Ic5b90) CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED
कोImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED
से बदलें. कॉन्स्टेंट की वैल्यू वही रहती है. यह सभी कॉन्सटेंट को एक ही जगह पर इकट्ठा करने के लिए है. (I890bb)- नया
RetryPolicy
एपीआई, डेवलपर को CameraX शुरू करने के लिए, फिर से कोशिश करने के तरीके को पसंद के मुताबिक बनाने की सुविधा देता है. (I36dd2) - जांच करने की क्षमता में मदद करने के लिए,
ImageCaptureLatencyEstimate
ऑब्जेक्ट बनाने की सुविधा चालू करें (IBA99) 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)getSurface
फ़ंक्शन कोViewfinderSurfaceRequest
में जोड़ें. (I781a0)camera-viewfinder
मेंcamera-viewfinder-core
का इस्तेमाल करें. साथ ही,ViewfinderSurfaceRequest
औरCameraViewfinder
का इस्तेमाल बंद करें. (I6198c)ZoomGestureDetector
को जोड़ा गया, जो खास तौर पर पिंच-टू-ज़ूम गतिविधि के लिए कॉन्फ़िगर किए गए जेस्चर के बारे में बताता है. (Ifafbf)
गड़बड़ियां ठीक की गईं
ImageAnalysis
' को ठीक किया गया ऐनालाइज़र के डिफ़ॉल्ट टारगेट रिज़ॉल्यूशन सेटिंग से जुड़ी रिज़ॉल्यूशन चुनने में आने वाली समस्या: टारगेट रिज़ॉल्यूशन को गलती से 640x480 पर सेट कर दिया गया था. भले ही, ऐप्लिकेशन ने ऐनालाइज़र के लिए डिफ़ॉल्ट रिज़ॉल्यूशन की कोई अलग सेटिंग सेट की हो. अगर ऐप्लिकेशन में यह समस्या (1.3.0 ~ 1.3.2) आती है और उसे समाधान वाली नई वर्शन रिलीज़ का इस्तेमाल करने के लिए अपग्रेड नहीं किया जा सकता, तो सीधे पसंदीदा रिज़ॉल्यूशन के साथResolutionSelector
सेट करें औरAspectRatioStrategy
काImageAnalysis
UseCase
से मिलान करें. (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)
- कई OEM के साथ, CameraX एक्सटेंशन के लिए
ImageAnalysis
सहायता हटा दी गई एक्सटेंशन लागू करने की सुविधा,ImageAnalysis
के साथ ठीक से काम नहीं करती है. इसकी वजह से अलग-अलग समस्याएं हो सकती हैं. (I2d926)
वर्शन 1.4.0-alpha04
24 जनवरी, 2024
androidx.camera:camera-*:1.4.0-alpha04
रिलीज़ हो गया है. वर्शन 1.4.0-alpha04 में ये कमियां हैं.
नई सुविधाएं
- नया आर्टफ़ैक्ट: Camera-इफ़ेक्ट: CameraX से मिले आउटपुट में रीयल-टाइम इफ़ेक्ट लागू करने के लिए लाइब्रेरी है. इसमें
Preview
,VideoCapture
, और/याImageCapture
शामिल हैं. इस आर्टफ़ैक्ट मेंCameraEffect
API का OpenGL से इस्तेमाल किया गया है जो कैमरे के आउटपुट में बेहतर तरीके से बदलाव करता है. OverlayEffect
: यह Android के Canvas API का इस्तेमाल करके, ओवरले बनाने के लिए इस्तेमाल किया जाता है. इससे ऐप्लिकेशन को कैमरे के आउटपुट पर वॉटरमार्क लगाने या पता लगाए गए ऑब्जेक्ट को हाइलाइट करने की अनुमति मिलती है.- झलक के इस्तेमाल के उदाहरण के लिए
DynamicRange
एपीआई: अब डाइनैमिक रेंज को वीडियो के इस्तेमाल के उदाहरण से अलग, झलक के इस्तेमाल के उदाहरण पर सेट किया जा सकता है. इससे सिर्फ़ प्रीव्यू के लिए, HLG10 जैसी एचडीआर डाइनैमिक रेंज का इस्तेमाल किया जा सकता है. यह क्वेरी करने के लिए कि हर कैमरे में कौनसी डाइनैमिक रेंज काम करती है,CameraInfo
में नए एपीआई भी उपलब्ध हैं.
एपीआई में किए गए बदलाव
ScreenFlashUiCompleter
का नाम बदलकरScreenFlashListener
किया गया. साथ ही,ScreenFlash#apply
केScreenFlashUiCompleter#getExpirationTimeMillis
पैरामीटर को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)
- Snapdragn 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, फ़्रेमवर्क-साइड एपीआई हैंडलिंग का ध्यान रखेगा और ज़रूरत के मुताबिक, ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) बदलावों के साथ समय को सिंक करेगा. उदाहरण के लिए, ऐप्लिकेशन की स्क्रीन के रंग/चमक में बदलाव होने के बाद AE प्रीकैप्चर ट्रिगर होना. ऐप्लिकेशन को सिर्फ़ CameraX के लिए दिए गए
ScreenFlashUiControl
इंटरफ़ेस में, यूज़र इंटरफ़ेस (यूआई) साइड लागू करना होगा. (I8ae84) - CameraX में स्क्रीन फ़्लैश की सुविधा के लिए यूज़र इंटरफ़ेस (यूआई-साइड) लागू करने की सुविधा जोड़ी गई. ऐप्लिकेशन,
PreviewView
या हाल ही में जोड़े गएScreenFlashView
की मदद से,ImageCapture.ScreenFlashUiControl
का बुनियादी इस्तेमाल कर सकेंगे. इससे एक मोनो-कलर ओवरले व्यू जुड़ जाएगा और स्क्रीन फ़्लैश के साथ फ़ोटो कैप्चर करने के दौरान स्क्रीन की चमक बढ़ जाएगी. (I1810e)
एपीआई में किए गए बदलाव
- नई एक्सटेंशन सुविधाओं(पोस्टव्यू और कैप्चर प्रोसेस प्रोग्रेस) के साथ काम करता है: पोस्टव्यू की क्षमताओं के बारे में क्वेरी करने और प्रोसेस प्रोग्रेस कॉलबैक को कैप्चर करने के लिए, ऐप्लिकेशन के लिए
ImageCapture#getImageCaptureCapabilities()
एपीआई जोड़ा गया है. ऐप्लिकेशन,ImageCapture.Builder#setPostviewEnabled()
का इस्तेमाल करके पोस्टव्यू चालू कर सकते हैं.ImageCapture.Builder#setPostviewResolutionSelector()
का इस्तेमाल करके पोस्टव्यू का साइज़ चुना जा सकता है.takePicture()
,onPostviewBitmapAvailable
, औरonCaptureProcessProgressed
कोOnImageSavedCallback
याOnImageCapturedCallback
में लागू किया जा सकता है. ऐसा, पोस्ट व्यू और प्रोसेस की प्रोग्रेस की सूचना पाने के लिए किया जा सकता है. (I5cd88) - एपीआई, सेंसर से मौजूदा बफ़र में निर्देशांक के बदलाव को कैलकुलेट करता है. इसमें एक फ़्लैग है, जो बताता है कि सर्फ़ेस में कैमरा ओरिएंटेशन की जानकारी है या नहीं. (I59096)
- झलक
UseCase
मेंPreviewCapabitlity
को क्वेरी करने के लिए एपीआई को सार्वजनिक करें. (Ie5b6c) VideoCapture
की क्वालिटी को बेहतर बनाने के लिए एपीआई जोड़े गए.VIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES
के साथRecorder.Builder#setVideoCapabilitiesSource(int)
का इस्तेमाल करके,Recorder
इंस्टेंस बनाया जा सकता है. यह इंस्टेंस,VIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE
से ज़्यादा क्वालिटी के साथ काम करता है. आम तौर पर, ऐप्लिकेशन में यूएचडी वीडियो रिकॉर्ड करने की कोशिश की जाती है, लेकिन डिवाइस कीCamcorderProfile
में यूएचडी सेटिंग नहीं होती हैं. भले ही, कोडेक में यूएचडी वीडियो रिकॉर्ड किए जा सकते हों. (Iedbe2, b/263961771)ImageAnalysis
आउटपुट फ़ॉर्मैट गेटर/सेटर कोCameraController
में जोड़ें. (I9a96c, b/308240643)
गड़बड़ियां ठीक की गईं
- कैमरा
1.3.1
से:ProcessCameraProvider#bindToLifecycle()
की परफ़ॉर्मेंस बेहतर की गई. सबसे बड़ा बदलाव,UseCases
के लिए सबसे सही साइज़ के कॉम्बिनेशन की पहचान करने की प्रोसेस को ऑप्टिमाइज़ करना है. सबसे बेहतर नतीजे, टारगेट किए गए डिवाइसों के लिए इस्तेमाल किए जा सकने वाले आउटपुट साइज़ की संख्या औरUseCase
के खास कॉम्बिनेशन के हिसाब से अलग-अलग होते हैं. (I454f2) - एक्सटेंशन चालू होने पर,
VideoCapture
का इस्तेमाल करने की अनुमति दें. (I91f32) - Samsung A71 और M51 सीरीज़ वाले डिवाइसों में कैप्चर की गई बड़ी JPEG इमेज की समस्या को ठीक कर दिया गया है. कैप्चर की गई JPEG इमेज में, JFIF के कंप्रेस किए गए डेटा सेगमेंट में 0 का पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ बहुत ज़्यादा हो जाता है. कैप्चर की गई इमेज को इमेज फ़ाइल के साइज़ के तौर पर दिखाने के लिए, 0 का पैडिंग डेटा हटा दिया जाएगा. (I01 मुश्किल, b/288828159)
- Pixel पर
ImageAnalysis
की सुविधा बंद करें, ताकि Pixel फ़ोन में उस गड़बड़ी से बचा जा सके जो गलती सेImageAnalysis
साइज़ के साथ काम करता है. (I7ec31) - एक्सटेंशन के चालू होने पर, सीपीयू के लोड होने और बिजली की खपत बढ़ने की वजह से, परफ़ॉर्मेंस से जुड़ी समस्या को ठीक किया गया है. (आईबीडीसीसीबी)
CameraUseInconsistentTimebaseQuirk
में स्नैपड्रैगन 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
वाले एक्सटेंशन, 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 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- रिकॉर्ड करते समय ऑडियो एम्प्लिट्यूड की जानकारी ऐक्सेस करने के लिए, नया एपीआई जोड़ें. (आईडी4925)
गड़बड़ियां ठीक की गईं
- एक्सटेंशन की स्थिरता को बेहतर बनाने के लिए, यह पक्का करें कि शुरू और बंद करने वाले इवेंट सही क्रम में ट्रिगर हुए हों. (Ib3b8e)
- आंतरिक तौर पर ज़्यादा दोहराए जाने वाले सरफ़ेस जोड़ने की वजह से काम करने वाले सरफ़ेस कॉम्बिनेशन को पार करने पर, कैप्चर सेशन कॉन्फ़िगरेशन में गड़बड़ी ठीक की गई. (Id718c)
- Vivo S16 डिवाइस में कैप्चर की गई बड़ी JPEG इमेज समस्या ठीक कर दी गई है. कैप्चर की गई JPEG इमेज में, JFIF के कंप्रेस किए गए डेटा सेगमेंट में 0 का पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ बड़ा हो जाता है. कैप्चर की गई इमेज को इमेज फ़ाइल के साइज़ के तौर पर दिखाने के लिए, 0 का पैडिंग डेटा हटा दिया जाएगा. (I79505, b/299069235)
- उस समस्या को ठीक कर दिया गया है जिससे
ImageAnalysis
कोImageCapture
से जोड़ा नहीं जा सकता. साथ ही, कुछ डिवाइसों पर कुछ एक्सटेंशन मोड चालू होने पर, झलक देखें. जब कोई ऐप्लिकेशनExtensionsManager#isImageAnalysisSupported()
का इस्तेमाल करके,ImageAnalysis
की उपलब्धता के बारे में क्वेरी करेगा, तब गड़बड़ी ठीक करने के बाद वैल्यू सही दिखेगी. (I7d538) - व्यवहार से मिलान करने के लिए JavaDoc अपडेट करें. तुरंत पूरा होने के बजाय,
#setZoomRatio
,#setLinearZoom
, और#enableTorch
कैमरा तैयार होने तक इंतज़ार करते हैं. साथ ही,#takePicture
एपीआई की मदद से ज़्यादा से ज़्यादा एफ़ओवी पाने के तरीके के बारे में जानकारी जोड़ी गई. (I23588)
वर्शन 1.3
वर्शन 1.3.4
12 जून, 2024
androidx.camera:camera-*:1.3.4
रिलीज़ हो गया है. वर्शन 1.3.4 में ये बातें शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से ज़ूम रेशियो में बढ़ोतरी करने पर,
getZoomRatio
की वजह से वैल्यू में गलती से गिरावट आई थी. (I4aa0d, b/317543616) - बार-बार होने वाले अनुरोध के FPS/स्टेबलाइज़ेशन मोड की वैल्यू का इस्तेमाल न करने पर भी फ़ोकस/टैप-टू-फ़ोकस की समस्या को ठीक किया गया है. इससे कैप्चर सेशन फिर से बन सकता है. इसकी वजह से, कुछ डिवाइसों में इंतज़ार का समय या झलक फ़्रीज़ हो सकती है. (I7dc0b)
FRAME_RATE_RANGE_UNSPECIFIED
सेsetTargetFrameRate
को कॉल करने पर, फ़्रेम रेट कम वैल्यू पर सेट होने की समस्या ठीक कर दी गई है. (I78c61)
वर्शन 1.3.3
17 अप्रैल, 2024
androidx.camera:camera-*:1.3.3
रिलीज़ हो गया है. वर्शन 1.3.3 में ये बातें शामिल हैं.
गड़बड़ियां ठीक की गईं
ImageAnalysis
' को ठीक किया गया ऐनालाइज़र के डिफ़ॉल्ट टारगेट रिज़ॉल्यूशन सेटिंग से जुड़ी रिज़ॉल्यूशन चुनने में आने वाली समस्या: टारगेट रिज़ॉल्यूशन को गलती से 640x480 पर सेट कर दिया गया था. भले ही, ऐप्लिकेशन ने ऐनालाइज़र के लिए डिफ़ॉल्ट रिज़ॉल्यूशन की कोई अलग सेटिंग सेट की हो. यदि ऐप्लिकेशन में यह समस्या (1.3.0 ~ 1.3.2) आती है और समाधान वाली नई वर्शन रिलीज़ का उपयोग करने के लिए अपग्रेड नहीं कर सकते, तो सीधे पसंदीदा रिज़ॉल्यूशन के साथResolutionSelector
औरAspectRatioStrategy
से मेल खाने वालाImageAnalysis
UseCase इस समस्या को हल कर सकता है. (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
में स्नैपड्रैगन 480 जोड़ा गया. इससे Android 12 में, इस चिपसेट का इस्तेमाल करने वाले डिवाइसों से जुड़ी समस्या ठीक हो जाती है. इसकी वजह यह है कि रिकॉर्डिंग में ऑडियो को उस समय के लिए ऑफ़सेट किया जाता है, जब तक डिवाइस निलंबित है. (I58010)
वर्शन 1.3.0
18 अक्टूबर, 2023
androidx.camera:camera-*:1.3.0
रिलीज़ हो गया है. वर्शन 1.3.0 में ये कमियां शामिल हैं.
01.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 एनएफ़सी पर मिररिंग मोड चालू होने के दौरान, रिकॉर्ड किए गए वीडियो के ऑडियो और वीडियो के सिंक न होने की समस्या को ठीक कर दिया गया है. (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 का पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ बड़ा हो जाता है. कैप्चर की गई इमेज को इमेज फ़ाइल के साइज़ के तौर पर दिखाने के लिए, 0 का पैडिंग डेटा हटा दिया जाएगा. (I407b0, b/288828159)
- Samsung S22 (SM-S901B, SM-S901B/DS) और S22+ (SM-S906B) सीरीज़ डिवाइसों पर कैप्चर की गई बड़ी JPEG इमेज समस्या को ठीक कर दिया गया है. कैप्चर की गई JPEG इमेज में, JFIF के कंप्रेस किए गए डेटा सेगमेंट में 0 का पैडिंग डेटा मौजूद है. इससे, S22 SM-S901B/DS डिवाइस पर कैप्चर की गई इमेज की फ़ाइल का साइज़ करीब 13 एमबी हो जाता है. कैप्चर की गई इमेज को इमेज फ़ाइल के साइज़ के तौर पर दिखाने के लिए, 0 का पैडिंग डेटा हटा दिया जाएगा. (I73be9, b/288828159)
- Samsung A5, A52, A70, और A72 सीरीज़ वाले डिवाइसों में कैप्चर की गई बड़ी JPEG इमेज समस्या को ठीक कर दिया गया है. कैप्चर की गई JPEG इमेज में, JFIF के कंप्रेस किए गए डेटा सेगमेंट में 0 का पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ बहुत ज़्यादा हो जाता है (उदाहरण के लिए, करीब 32 एमबी या 96 एमबी). कैप्चर की गई इमेज को इमेज फ़ाइल के साइज़ के तौर पर दिखाने के लिए, 0 का पैडिंग डेटा हटा दिया जाएगा. (I97c4d, b/288828159)
- एक्सटेंशन चालू करके फ़ोटो लेते समय, नेटिव क्रैश को ठीक किया गया (I698f5)
वर्शन 1.3.0-beta02
26 जुलाई, 2023
androidx.camera:camera-*:1.3.0-beta02
रिलीज़ हो गया है. वर्शन 1.3.0-beta02 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- कम रोशनी में कैप्चर करने की क्वालिटी को बेहतर बनाने के लिए, Pixel 4 और 5 के वैरिएंट के लिए टॉर्च को फ़्लैश के तौर पर इस्तेमाल करें (I56ff5, b/280221967)
- Samsung A5 (2017) सीरीज़ के डिवाइसों में कैप्चर की गई बड़ी JPEG इमेज वाली समस्या को ठीक कर दिया गया है. कैप्चर की गई JPEG इमेज में, JFIF के कंप्रेस किए गए डेटा सेगमेंट में 0 का पैडिंग डेटा मौजूद है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ करीब 32 एमबी हो जाता है. कैप्चर की गई इमेज को इमेज फ़ाइल के साइज़ के तौर पर दिखाने के लिए, 0 का पैडिंग डेटा हटा दिया जाएगा. (I29837, b/288828159)
CaptureFailedRetryQuirk
में बताए गए समस्या वाले डिवाइसों में कैप्चर नहीं हो पाने पर, फिर से ट्रिगर न होने की समस्या को ठीक कर दिया गया है. (I7b589)
वर्शन 1.3.0-beta01
21 जून, 2023
androidx.camera:camera-*:1.3.0-beta01
रिलीज़ हो गया है. वर्शन 1.3.0-beta01 में ये कमिट हैं.
एपीआई में किए गए बदलाव
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)
फ़ंक्शन का नाम बदलकरsetAllowedResolutionMode
किया गया. साथ ही,ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
कॉन्सटेंट का नाम बदलकरPREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION
/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE
किया गया. (If84e8)- काम न करने वाले एपीआई
ImageAnalysis.setTargetRotationDegrees(int)
,ImageCapture.setTargetRotationDegrees(int)
, औरVideoCapture.setTargetRotationDegrees(int)
को हटाया गया. (Id8e77) DynamicRange
क्लास, इमेज की डाइनैमिक रेंज दिखाती है. इसका इस्तेमालVideoCapture
सेVideoCapture.Builder#setDynamicRange()
के आउटपुट के तौर पर, हाई डाइनैमिक रेंज फ़ॉर्मैट चुनने के लिए किया जा सकता है. (Ib0377)ExtensionsManager
में एकisImageAnalysisSupported
एपीआई जोड़ा गया. इससे ऐप्लिकेशन यह पता लगा सकते हैं कि एक्सटेंशन के चालू होने पर,ImageAnalysis
के इस्तेमाल का उदाहरण, झलक के साथ लागू हो सकता है या नहीं. साथ ही,ImageCapture
भी. (I1bc63)Recorder
से मिली नईVideoCapabilities
क्लास का इस्तेमाल, डिवाइस पर वीडियो रिकॉर्डिंग के लिए, इस्तेमाल की जा सकने वाली डाइनैमिक रेंज और क्वालिटी के बारे में क्वेरी करने के लिए किया जा सकता है.QualitySelector
केgetSupportedQualities()
औरisQualitySupported()
तरीके बंद किए जा रहे हैं. इसके बजाय, कृपयाVideoCapabilities
कीgetSupportedQualities()
औरisQualitySupported()
तरीकों का इस्तेमाल करें. (I04014)CameraController#setVideoCaptureTargetQuality()
का नाम बदलकरsetVideoCaptureQualitySelector
कर दिया गया है. यह तर्कQualitySelector
लेता है. इससे वीडियो क्वालिटी सेटअप करने में ज़्यादा आसानी होती है.CameraController#getVideoCaptureTargetQuality()
को बदलकरgetVideoCaptureQualitySelector
कर दिया गया है. (I520ed)- वीडियो से जुड़ी सुविधाओं के लिए, एक्सपेरिमेंट के तौर पर शुरू की गई व्याख्या हटाई गई. वीडियो फ़ीचर अब पहले से बेहतर तरीके से काम कर रहे हैं. (I1a113)
गड़बड़ियां ठीक की गईं
- कम रोशनी में स्पीड और कैप्चर की गई इमेज क्वालिटी को बेहतर बनाने के लिए, Samsung SM-A320 मॉडल पर टॉर्च को फ़्लैश के तौर पर इस्तेमाल करें. (I6a022, b/286190938)
ImageProxy.toBitmap()
के लिए,ImageFormat.JPEG
फ़ॉर्मैट का इस्तेमाल करने की सुविधा जोड़ें. अगर JPEG बाइट कलेक्शन को डिकोड नहीं किया जा सका, तोUnsupportedOperationException
दिया जाएगा. (I81958, b/282057603)
वर्शन 1.3.0-alpha07
24 मई, 2023
androidx.camera:camera-*:1.3.0-alpha07
रिलीज़ हो गया है. वर्शन 1.3.0-alpha07 में ये कमिट हैं.
नई सुविधाएं
- नए
VideoCapture.Builder# setTargetFrameRate(Range)
एपीआई की मदद से, वीडियो रिकॉर्डिंग को डिवाइस की डिफ़ॉल्ट सेटिंग के अलावा, दूसरे फ़्रेम रेट पर कैप्चर किया जा सकता है. नएCameraInfo#getSupportedFrameRates()
एपीआई की मदद से, रिकॉर्डिंग के लिए उपलब्ध फ़्रेम रेट के बारे में क्वेरी की जा सकती है.
एपीआई में किए गए बदलाव
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
कॉन्सटेंट का नाम बदलकरALLOWED_RESOLUTIONS_NORMAL
/SLOW
किया गया. साथ ही, बिल्डरsetHighResolutionEnabledFlag
फ़ंक्शन का नाम बदलकरsetAllowedResolutionMode
किया गया. (Iae817)CameraInfo#getSupportedFrameRateRanges()
, अबList
के बजायSet
दिखाता है. इससे यह बेहतर तरीके से पता चलता है कि रेंज में कोई क्रम तय नहीं है. (I02f43)- ठीक न की जा सकने वाली गड़बड़ियों को मैनेज करने के लिए,
CameraEffect
में एरर लिसनर जोड़ें (Ice471) - बेहतर टेस्टेबिलिटी के लिए
ResolutionInfo
में पब्लिक कंस्ट्रक्टर जोड़ें (If6d1c) setTargetRotationDegrees
के इस्तेमाल को बदलने और एपीआईImageAnalysis.setTargetRotationDegrees(int)
,ImageCapture.setTargetRotationDegrees(int)
, औरVideoCapture.setTargetRotationDegrees(int)
के इस्तेमाल को रोकने के लिए, एपीआईUseCase.snapToSurfaceRotation(int)
उपलब्ध कराया गया है. (Ia9010)- नया एपीआई
Preview#getTargetFrameRate
औरPreview.Builder#setTargetFrameRate
जोड़ा गया. इससे झलक के इस्तेमाल के उदाहरण (If4f22) के लिए, फ़्रेम रेट का टारगेट सेट किया जा सकेगा और उसे वापस पाया जा सकेगा - ग़ैर-ज़रूरी चीज़ें इकट्ठा करने की वजह से
Recording
ऑब्जेक्ट को रोकने पर,VideoRecordEvent.Finalize
अब गड़बड़ी कोडERROR_RECORDING_GARBAGE_COLLECTED
के साथ पूरा होगा. (Iba974)
गड़बड़ियां ठीक की गईं
StreamConfigurationMapCompat
में कैश मेमोरी में सेव किए गए आउटपुट साइज़ की वैल्यू शून्य होने पर,NullPointerException
को ठीक किया गया. (Idf124, b/282025204)- उस समस्या को ठीक कर दिया गया है जिसकी वजह से
Preview.setSurfaceProvider(null)
, एक्सटेंशन (Ia903e) में झलक को नहीं रोकता है - उस समस्या को ठीक किया गया है जिसमें
VideoCapture
के बाउंड होने पर, कैमरा खुलने के दौरानConcurrentModificationException
फेंकते थे. (Ic8ac4)
वर्शन 1.3.0-alpha06
19 अप्रैल, 2023
androidx.camera:camera-*:1.3.0-alpha06
रिलीज़ हो गया है. वर्शन 1.3.0-alpha06 में ये कमियां हैं.
नई सुविधाएं
- एक साथ चलने वाला कैमरा, Android 11 वर्शन की नई सुविधा है. इससे कैमरे से जुड़े डिवाइसों को एक साथ स्ट्रीम किया जा सकता है. उदाहरण के लिए, इससे किसी डिवाइस में, सामने और पीछे वाले, दोनों कैमरों को एक साथ इस्तेमाल किया जा सकता है. फ़िलहाल, CameraX सिर्फ़ ड्यूअल कनकरंट कैमरों के साथ काम करता है. इससे एक समय में दो कैमरे इस्तेमाल किए जा सकते हैं. हर कैमरे में ज़्यादा से ज़्यादा दो {@linkUseCase}s होते हैं. वीडियो का ज़्यादा से ज़्यादा रिज़ॉल्यूशन 720 या 1440 पिक्सल हो सकता है. ज़्यादा जानकारी के लिए यहां दिया गया लिंक देखें: CameraManager#getConcurrentCameraIds()
- पेश है नया
ResolutionSelector
API, जिसमें ये सुविधाएं शामिल हैं:- ऐप्लिकेशन अपनी ज़रूरतों के हिसाब से सबसे सही रिज़ॉल्यूशन चुनने के लिए, आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) और रिज़ॉल्यूशन से जुड़ी रणनीतियां तय कर सकते हैं.
- सभी साइज़ और आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) पैरामीटर, कैमरा डिवाइस सेंसर के निर्देशांक में दिखाए जाते हैं.
- ऐप्लिकेशन, ज़रूरत के हिसाब से साइज़ बदलने के लिए कस्टम रिज़ॉल्यूशन फ़िल्टर का इस्तेमाल कर सकते हैं.
- एप्लिकेशन उच्च रिज़ॉल्यूशन वाले चित्र प्राप्त करने के लिए उच्च रिज़ॉल्यूशन कैप्चर भी सक्षम कर सकते हैं. हालांकि, कृपया ध्यान दें कि ज़्यादा रिज़ॉल्यूशन का इस्तेमाल करने पर, वीडियो कैप्चर करने में ज़्यादा समय लग सकता है.
VideoCapture
मिररिंग एपीआई जोड़ा गया.VideoCapture
के रिकॉर्ड किए गए वीडियो का डुप्लीकेट वर्शन नहीं बनाया जाता. हालांकि, झलक देखने की सुविधा डिफ़ॉल्ट रूप से सामने वाले कैमरे में मौजूद होती है.VideoCapture
मिररिंग एपीआई की मदद से, फ़्रंट कैमरे का इस्तेमाल करते समय कैमरे की झलक को अलाइन किया जा सकता है. इसमें तीनMirrorMode
,OFF
,ON
, औरON_FRONT_ONLY
हैं. कैमरे की झलक के साथ अलाइन करने के लिए,ON_FRONT_ONLY
का इस्तेमाल करने का सुझाव दिया जाता है. इसका मतलब है कि पीछे वाले कैमरे के लिए मिररिंग चालू नहीं है, लेकिन सामने वाले कैमरे के लिए यह सुविधा चालू है.
एपीआई में किए गए बदलाव
- नया
ResolutionSelector
एपीआई दिखाया गया है. ऐप्लिकेशन मनचाहे नतीजे पाने के लिए, फ़ॉलबैक नियमों या कस्टम रिज़ॉल्यूशन फ़िल्टर के साथ आसपेक्ट रेशियो और रिज़ॉल्यूशन स्ट्रेटजी तय कर सकते हैं. ऐप्लिकेशन हाई रिज़ॉल्यूशन कैप्चर करने की सुविधा चालू करने के लिए, फ़्लैग तय कर सकते हैं. इससे CameraX, फ़ोटो या वीडियो लेते समय ज़्यादा रिज़ॉल्यूशन चुन पाएगा. हालांकि, कृपया ध्यान दें कि ज़्यादा रिज़ॉल्यूशन का इस्तेमाल करने पर, वीडियो कैप्चर करने में ज़्यादा समय लग सकता है. (Ibed95) - AE एल्गोरिदम के साथ काम करने वाली एफ़पीएस रेंज के लिए, अब
CameraInfo#getSupportedFrameRateRanges()
के ज़रिए क्वेरी की जा सकती है. (Iaa67f) - फ़्रेम रेट के सभी तरीकों के नाम जोड़ें और 'FrameRate' का इस्तेमाल करें.
VideoCapture#getTargetFrameRate()
में JavaScript की गलती को ठीक करें (I83304) - लेगसी
setTargetAspectRatio
औरsetTargetResolution
एपीआई के इस्तेमाल पर रोक लगा दी गई. इसके बजाय, कृपया नएResolutionSelector
एपीआई का इस्तेमाल करें. (I542c3) - एक साथ ड्यूअल कैमरे के लिए सार्वजनिक एपीआई जोड़े गए. इनमें ये शामिल हैं
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
boolean isConcurrentCameraModeOn()
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है औरConcurrentCameraConfig
,SingleCameraConfig
औरConcurrentCamera
(Iab1c1)
ImageProcessor.Response#getOutputImage
NonNull (Ib9c60) को बनाएंVideoCapture
मिररिंग एपीआई जोड़ा गया, जिसमेंVideoCapture.Builder.setMirrorMode(int)
औरVideoCapture.getMirrorMode()
शामिल हैं. ये एपीआई, ऐप्लिकेशन के लिए काम के हैं.इसके लिए ज़रूरी है कि वीडियो रिकॉर्डिंग, कैमरे की झलक के हिसाब से हो. इसका मतलब है कि कैमरे के पीछे वाले कैमरे की झलक नहीं दिखती है, लेकिन फ़्रंट कैमरे की झलक दिखती है. (I713b6, b/194634656)VideoCapture.Builder
औरVideoCapture
मेंgetTargetFramerate()
एपीआई मेंsetTargetFrameRate()
एपीआई जोड़ें (I109d4)SurfaceOutput
को क्लोज़ करने वाला ऐसा बनाएं और SurfaceOutput.Event
के पब्लिक कंस्ट्रक्टर को छिपाएं. (I60ea8)- प्रोसेस की जा रही रिकॉर्डिंग को डाइनैमिक तरीके से म्यूट या अनम्यूट करने के लिए,
Recording.mute
को जोड़ा गया. जब प्रोसेस हो रही रिकॉर्डिंग को साफ़ तौर पर म्यूट किया जाता है, तबRecordingStats
मेंAudioStats.AUDIO_STATE_MUTED
शामिल होगा. (Ie17fc) #setEffects()
पैरामीटर को खाली नहीं किया गया. इफ़ेक्ट हटाने के लिए,#clearEffects()
एपीआई जोड़ें. इफ़ेक्ट हटाने के लिए, ऐप्लिकेशन को#clearEffects()
को कॉल करना चाहिए. (I4b4d9)ViewfinderSurfaceRequest.Builder
के लिए दूसरा कंस्ट्रक्टर जोड़ें, ताकि कॉपी कंस्ट्रक्टर (I621a7) के लिए बिल्डर लिया जा सके
गड़बड़ियां ठीक की गईं
- कैमरा बंद करने पर, एक्सटेंशन एपीआई शुरू करने वाले ऐप्लिकेशन क्रैश होने की समस्या को ठीक कर दिया गया है (Ib27e5)
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से
VideoCapture
, कुछ डिवाइसों पर फ़्रंट कैमरे के साथ काम नहीं कर सकता था. उदाहरण के लिए, Samsung Galaxy S23 और Xiaomi 2107113SG पर. (Ibec7e, b/270656244) - उस समस्या को ठीक कर दिया गया है जहां बाहरी स्टोरेज के सार्वजनिक फ़ोल्डर में मौजूद फ़ाइल का इस्तेमाल करके, फ़ोटो नहीं ली जा सकतीं. इस समस्या को Android 10 या उसके बाद के वर्शन में कभी भी इस्तेमाल नहीं किया जा सकता. कृपया ध्यान दें कि Android 10 में, बाहरी स्टोरेज के सार्वजनिक फ़ोल्डर में मौजूद फ़ाइल का इस्तेमाल करके फ़ोटो लेने के लिए, ऐप्लिकेशन टैग में
requestLegacyExternalStorage
को 'सही है' पर सेट करना भी ज़रूरी है. (I11b2c) DefaultSurfaceProcessor
मेंRejectedExecutionException
क्रैश होने की समस्या को ठीक किया गया. क्रैश तब हो सकता है, जबVideoCapture
बाउंड हो और गतिविधि रुक गई हो. (Idb46a, b/273713906)
वर्शन 1.3.0-alpha05
22 मार्च, 2023
androidx.camera:camera-*:1.3.0-alpha05
रिलीज़ हो गया है. वर्शन 1.3.0-alpha05 में ये कमियां हैं.
एपीआई में किए गए बदलाव
VideoCapture
रोटेशन एपीआई जोड़े गए, जिनमेंVideoCapture.Builder.setTargetRotation(int)
,VideoCapture.setTargetRotation(int)
,VideoCapture.setTargetRotationDegrees(int)
, औरVideoCapture.getTargetRotation()
शामिल हैं. एपीआई, उन ऐप्लिकेशन के लिए काम के हैं जो डिवाइस ओरिएंटेशन को लॉक करते हैं.ImageCapture.setTargetRotationDegrees(int)
औरImageAnalysis.setTargetRotationDegrees(int)
को भी जोड़ा गया है. (Id3ffe, b/205242781)- इफ़ेक्ट टारगेट के तौर पर
VIDEO_CAPTURE
औरPREVIEW|VIDEO_CAPTURE
को अनुमति दें.VIDEO_CAPTURE
को टारगेट करने वाले इफ़ेक्टVideoCapture
के इस्तेमाल का तरीका पर लागू किए जाएंगे;PREVIEW|VIDEO_CAPTURE
को टारगेट करने वाले इफ़ेक्ट, शेयर की गई स्ट्रीम पर लागू किए जाएंगे. इसके बाद, झलक औरVideoCapture
स्ट्रीम में कॉपी किए जाएंगे. (Iee6f3)
गड़बड़ियां ठीक की गईं
- कैमरा
1.2.2
से: Pixel (I90aa2) जैसे कुछ डिवाइसों पर ProGuard के चालू होने पर, CameraX एक्सटेंशन ठीक से काम न करने की समस्या को ठीक किया गया है PreviewView
की गड़बड़ी को ठीक किया गया है. अगर ऐप्लिकेशन, स्क्रीन ओरिएंटेशन को खुद हैंडल करता है. रोटेट करने पर, पूर्वावलोकन बिगड़ सकता है. ऐसा सिर्फ़ कुछ डिवाइसों पर होता है. इसे Pixel a4, 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 में शेयर किया गया है.
- पहले, कैमरा हार्डवेयर लेवल FULL और इससे पहले के लेवल पर “Preview, Video Capture, ImageAnalysis” को बाइंड करने पर या हार्डवेयर लेवल LEGACY पर “Preview, Video Capture, Image Capture” को बाइंड करने पर, CameraX
IllegalArgumentException
थ्रो करता था. - नई सुविधा यह है कि बाइंडिंग, अपवादों को छोड़े बिना काम करेंगी. इसके बजाय, CameraX, शेयर की गई स्ट्रीम को Preview और Video Capture दोनों में कॉपी करने के लिए OpenGL का इस्तेमाल करता है.
- बफ़र कॉपी का खर्च बढ़ने की वजह से, ऐप्लिकेशन के लिए इंतज़ार का समय और ऊर्जा की खपत बढ़ सकती है.
एपीआई में किए गए बदलाव
ImageProxy
कोBitmap
में बदलने के लिए, एपीआई जोड़ें.ImageFormat.YUV_420_888
औरPixelFormat.RGBA_8888
का इस्तेमाल किया जा सकता है. साथ ही,ImageProxy
फ़ॉर्मैट का इस्तेमाल किया जा सकता है. अगर फ़ॉर्मैट अमान्य है, तोIllegalArgumentException
को फेंक दिया जाएगा. (Ic7110)- Kotlin में सस्पेंडिंग फ़ंक्शन का इस्तेमाल करके, व्यूफ़ाइंडर को कॉन्फ़िगर करने के लिए
CoroutineCameraViewfinder
जोड़ें. (I657bc) ViewfinderSurfaceRequest
के लिए नया सार्वजनिक कंस्ट्रक्टर जोड़ें. अगर उपयोगकर्ता के पासCameraCharacteristics
नहीं है, तो यह सुविधा मिलती है. (Ie6549)
गड़बड़ियां ठीक की गईं
- Samsung के कुछ डिवाइसों पर ऐप्लिकेशन को तेज़ी से रोकने/फिर से शुरू करने पर होने वाले एक्सटेंशन क्रैश को ठीक किया गया (Iaca26)
वर्शन 1.3.0-alpha03
25 जनवरी, 2023
androidx.camera:camera-*:1.3.0-alpha03
रिलीज़ हो गया है. वर्शन 1.3.0-alpha03 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- डिफ़ॉल्ट कैमरे से मिलते-जुलते ऐंगल की जानकारी देने के लिए,
CameraInfo.getIntrinsicZoomRatio
को जोड़ा गया. (Ib300c) - लेंस फ़ेसिंग की जानकारी देने के लिए,
CameraInfo.getLensFacing
को जोड़ा गया. बाहरी कैमरे चुनने के लिए,CameraSelector#LENS_FACING_EXTERNAL
को एक्सपेरिमेंट के तौर पर उपलब्ध सुविधा के तौर पर जोड़ा गया. (Icaf3e) #setEffect()
कोCameraController
में जोड़ें, ताकि कैमरे के आउटपुट में इफ़ेक्ट जोड़े जा सकें. (I1d21f)SurfaceRequest
मेंinvalidate()
तरीका जोड़ें. प्लैटफ़ॉर्म उपलब्ध कराने वाली कंपनी, यह सूचना दे सकती है कि पहले उपलब्ध कराया गया प्लैटफ़ॉर्म अब मान्य नहीं है. (Idc649)ImageProcessor
एपीआई जोड़ें. इस इंटरफ़ेस की मदद से,ImageCapture
पाइपलाइन में पोस्ट-प्रोसेसिंग इफ़ेक्ट इंजेक्ट किए जा सकते हैं. (I575c6)- एपीआई
Recorder.Builder.setAspectRatio()
जोड़ा गया, जिसेQualitySelector
के साथ जोड़ा जा सकता है, ताकि वीडियो को ज़्यादा रिज़ॉल्यूशन में देखा जा सके. (I8a082) - टारगेट वीडियो एन्कोडिंग
BitRate
औरRecorder#getTargetVideoEncodingBitRate
को सेट करने के लिए,Recorder.Builder#setTargetVideoEncodingBitRate
को जोड़ा गया, ताकि वीडियो एन्कोडिंग के टारगेट किए गए बिटरेट को हासिल किया जा सके. (I5984d)
गड़बड़ियां ठीक की गईं
- कोई फ़्लैश यूनिट न होने और फ़्लैश मोड चालू होने पर,
ImageCapture
को ठीक नहीं किया जा सका. (I9e8b4, b/263391112) - Samsung Android 12 डिवाइसों पर Exif की जगह की जानकारी का डेटा लिखने पर, JPEG इमेज खराब होने की समस्या को ठीक कर दिया गया है. (Ib7086, b/263747161, b/263289024)
- कैमरा चालू करने की प्रक्रिया से पहले टॉर्च/ज़ूम सेट करते समय, उदाहरण के लिए
CameraController#enableTorch
पर कॉल करने पर, शुरू करने की प्रोसेस लागू होने के बाद, अधूरी कार्रवाई को कैश मेमोरी और सबमिट किया जाता है. (I11e92, b/264157663)
वर्शन 1.3.0-alpha02
7 दिसंबर, 2022
androidx.camera:camera-*:1.3.0-alpha02
रिलीज़ हो गया है. वर्शन 1.3.0-alpha02 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- झलक के आउटपुट में पोस्ट-प्रोसेसिंग इफ़ेक्ट लागू करने के लिए, एक नया एपीआई जोड़ें. (Ic17d5)
OutputOptions.getDurationLimit
का नाम बदलकरOutputOptions.getDurationLimitMillis
औरOutputOptions.setDurationLimit
का नाम बदलकरOutputOptions.setDurationLimitMillis
किया. (I91f0c)- वीडियो रिकॉर्ड करते समय ऑडियो से जुड़ी सेटिंग मैनेज करने के लिए,
AudioConfig
क्लास जोड़ें. जिन मामलों में ऑडियो की ज़रूरत नहीं होती उनमें अनुमति के ग़ैर-ज़रूरी अनुरोधों से बचने के लिए,@RequiresPermission
एनोटेशन कोstartRecording
फ़ंक्शन सेAudioConfig
में ले जाया जाता है. (I28755) - उन मेटाडेटा,
OnVideoSavedCallback
,OutputFileOptions
, औरOutputFileResults
क्लास को हटाएं जिन्हें नया Video Capture API लागू करने के बाद इस्तेमाल नहीं किया जाता. (I38cd8) - नया वीडियो कैप्चर एपीआई लागू करें.
getVideoCaptureTargetSize
औरsetVideoCaptureTargetSize
तरीकों कोgetVideoCaptureTargetQuality
से बदल दिया गया है. साथ ही,setVideoCaptureTargetQuality
तरीकों से बदल दिया गया है, क्योंकिsetTargetResolution
अब काम नहीं करता. (I2a1d5)
गड़बड़ियां ठीक की गईं
- काम नहीं करने वाले
core.VideoCapture
एपीआई को हटाएं. (I531e0) - स्टोरेज ऐक्सेस करने की अनुमति के बिना फ़ोटो लेते समय,
onError
कॉलबैक से जुड़ी समस्या ठीक की गई.(I936db, b/244807669) - कैमरा एक्सटेंशन की क्वालिटी को बेहतर और भरोसेमंद बनाएं. बोकेह सपोर्ट, इमेज कैप्चर, और झलक की सुविधा को फिर से शुरू न करने से जुड़ी समस्याओं की वजह से, Motorola के कैमरा एक्सटेंशन 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)
गड़बड़ियां ठीक की गईं
- कैप्चर न कर पाने की समस्या आने पर, एक बार गड़बड़ी वाले कुछ डिवाइसों को फिर से कैप्चर करने की अनुमति देने के लिए, क्वर्क जोड़ें. (आईडी4795)
ViewPager2
परSurfaceView
की ब्लैक स्क्रीन लागू करने से जुड़ीPreviewView
समस्या ठीक करें. इस समस्या को ठीक करने के लिए, अगर अनुरोध किए गए रिज़ॉल्यूशन में बदलाव नहीं किया गया है, तोPreviewView
अपनेSurfaceView
का फिर से इस्तेमाल करेगा. (Ib3f27)ViewPort
याCameraController
एपीआई का इस्तेमाल होने पर, वीडियो क्रॉप करने (WYSIWYG की सुविधा) का इस्तेमाल किया जा सकता है. (Ifbba8, b/201085351)- सामने के कैमरे से कैप्चर किया गया वीडियो, Huawei P40 lite में रिकॉर्ड नहीं किया जा सकता. (I87c57, b/250807400)
वर्शन 1.2
वर्शन 1.2.3
24 मई, 2023
androidx.camera:camera-*:1.2.3
रिलीज़ हो गया है. वर्शन 1.2.3 में ये कमियां शामिल हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से
VideoCapture
, कुछ डिवाइसों पर फ़्रंट कैमरे के साथ काम नहीं कर सकता था. उदाहरण के लिए, Samsung Galaxy S23 और Xiaomi 2107113SG पर. (Ibec7e, b/270656244)
वर्शन 1.2.2
22 मार्च, 2023
androidx.camera:camera-*:1.2.2
रिलीज़ हो गया है. वर्शन 1.2.2 में ये कमियां शामिल हैं.
गड़बड़ियां ठीक की गईं
- Pixel (I90aa2) जैसे कुछ डिवाइसों पर ProGuard के चालू होने पर, CameraX एक्सटेंशन ठीक से काम न करने की समस्या को ठीक कर दिया गया है
वर्शन 1.2.1
25 जनवरी, 2023
androidx.camera:camera-*:1.2.1
रिलीज़ हो गया है. वर्शन 1.2.1 में ये कमियां शामिल हैं.
गड़बड़ियां ठीक की गईं
- Samsung Android 12 के कुछ डिवाइसों पर Exif का जगह की जानकारी का डेटा लिखने पर, JPEG इमेज खराब होने की समस्या को ठीक किया गया. (b/263289024)
वर्शन 1.2.0
7 दिसंबर, 2022
androidx.camera:camera-*:1.2.0
रिलीज़ हो गया है. वर्शन 1.2.0 में ये कमियां शामिल हैं.
1.1.0 के बाद से हुए अहम बदलाव
- नई लाइब्रेरी Camera-mlkit-vision. CameraX को MLKit की कई सुविधाओं के साथ आसानी से इंटिग्रेट करें. इनमें बारकोड स्कैन करने, चेहरे की पहचान करने, और टेक्स्ट की पहचान करने जैसी सुविधाएं शामिल हैं.
MLKitAnalyzer
को नए एपीआई के तौर पर जोड़ा गया. - नया प्रयोग वाला ज़ीरो-शटर लैग एपीआई. इसकी मदद से, कैप्चर पाइपलाइन को ऑप्टिमाइज़ किया जाता है. इसकी मदद से, इंतज़ार का समय बेहतर होता है. साथ ही, इमेज की क्वालिटी भी अच्छी रहती है. कैप्चर मोड को
CAPTURE_MODE_ZERO_SHUTTER_LAG
पर सेट करने से, शटर बटन पर क्लिक करने और फ़ोटो क्लिक होने के बीच का समय कम हो सकता है. हालांकि, ऐसा अन्य कैप्चर मोड के मुकाबले कम होगा. जिन डिवाइसों परZERO_SHUTTER_LAG
काम नहीं करता उन पर,CAPTURE_MODE_MINIMIZE_LATENCY
की सदस्यता को फिर से इस्तेमाल किया जा सकेगा. android.camera.core.VideoCapture
का बहिष्कार करें.setStreamUseCase()
को सार्वजनिकCamera2Interop
एपीआई के तौर पर जोड़ा गया.setOutputImageRotationEnabled
के लिए, एपीआई लेवल की ज़रूरी शर्तें जोड़ी गईं.ImageAnalysis.Analyzer#getTargetResolutionOverride()
का नाम बदलकरImageAnalysis.Analyzer#getDefaultTargetResolution()
किया गया.- सेव किए गए वीडियो में जगह की जानकारी का मेटाडेटा सेट करने के लिए एपीआई जोड़ा गया.
VideoCapture
का इस्तेमाल करने पर, फ़्रेम रेट कम होने की समस्या को ठीक किया गया है. साथ ही, इसे 16:9 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) में इस्तेमाल करने के उदाहरण की झलक देखी जा सकती है- Samsung डिवाइसों पर BOKEH एक्सटेंशन चालू होने और लोगों के कैमरे स्विच करने पर होने वाली ब्लैक प्रीव्यू की समस्या को ठीक किया गया है.
- एपीआई लेवल 27 वाले डिवाइसों पर, Samsung J7 Prime (SM-G610M) और J7 (SM-J710MN)
Preview/VideoCapture
की गड़बड़ी को ठीक कर दिया गया है. - समस्या का समाधान हो जाने के बाद से Samsung Android T पर फ़्रंट कैमरों के AF क्षेत्र को हॉरिज़ॉन्टल रूप से फ़्लिप करने का वर्कअराउंड बंद कर दिया गया है
वर्शन 1.2.0-rc01
24 अक्टूबर, 2022
androidx.camera:camera-*:1.2.0-rc01
रिलीज़ हो गया है. वर्शन 1.2.0-rc01 में ये कमिट शामिल हैं.
एपीआई में किए गए बदलाव
OutputConfiguration
के लिएsetStreamUseCase
एपीआई जोड़ें. उपयोगकर्ता, स्ट्रीम सेशन के लिए स्ट्रीम के इस्तेमाल का उदाहरण तय कर सकता है. साथ ही, वह CameraX के इंटरनल लॉजिक को बदल देता है, ताकि उपयोगकर्ता अपनी ज़रूरत के हिसाब से स्ट्रीम को इस्तेमाल करने का उदाहरण चुन सकें. (Ib1a95)
गड़बड़ियां ठीक की गईं
- एपीआई लेवल 27 वाले डिवाइसों पर, Samsung J7 Prime (SM-G610M) और J7 (SM-J710MN)
Preview/VideoCapture
की गड़बड़ी को ठीक कर दिया गया है. रिज़ॉल्यूशन 1920x1080 की वजह से,Preview/VideoCapture
इमेज में खिंचाव होता है. झलक के लिए 1920x1080 रिज़ॉल्यूशन न चुनने के लिए समाधान जोड़ा गया या इमेज में खिंचाव की समस्या से बचने के लिएVideoCapture
. (I0e04e) VideoCapture
का इस्तेमाल करते समय फ़्रेम दर कम होने की समस्या को ठीक किया गया. साथ ही, कुछ Huawei डिवाइसों पर झलक देखने के लिए दिए गए उदाहरण का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 16:9 रखा गया है. (If8c88, b/223643510)- प्रीव्यू के लिए
SurfaceProvider
सेट न होने पर कैमरा खुलने की गड़बड़ी को ठीक कर दिया गया है. इस समस्या को ठीक करने के लिए, अब कैमरा कैप्चर सेशन में बिना किसीSurfaceProvider
सेट गाने के टीज़र के तौर पर बने शॉर्ट वीडियो को कॉन्फ़िगर नहीं किया जाएगा. (I99681)
वर्शन 1.2.0-beta02
21 सितंबर, 2022
androidx.camera:camera-*:1.2.0-beta02
रिलीज़ हो गया है. वर्शन 1.2.0-beta02 में ये तय किए गए हिस्से शामिल हैं.
एपीआई में किए गए बदलाव
setOutputImageRotationEnabled
(I26e3e, b/240993561) के लिए, एपीआई लेवल से जुड़ी ज़रूरी शर्तें जोड़ें
गड़बड़ियां ठीक की गईं
- समस्या का समाधान हो जाने के बाद से Samsung Android T पर फ़्रंट कैमरों के AF क्षेत्र को हॉरिज़ॉन्टल रूप से फ़्लिप करने का वर्कअराउंड अक्षम कर दिया गया है. (I05f69)
- Samsung के कुछ डिवाइसों पर
BOKEH
एक्सटेंशन के चालू होने और कैमरे के बीच स्विच करने पर, काले रंग की झलक देखने से जुड़ी समस्या को ठीक कर दिया गया है. (If6168)
वर्शन 1.2.0-beta01
24 अगस्त, 2022
androidx.camera:camera-*:1.2.0-beta01
रिलीज़ हो गया है. वर्शन 1.2.0-beta01 में ये तय किए गए हिस्से शामिल हैं.
नई सुविधाएं
- नई लाइब्रेरी
camera-mlkit-vision
. CameraX को MLKit की कई सुविधाओं के साथ आसानी से इंटिग्रेट करें. इन सुविधाओं में, बारकोड स्कैन करने, चेहरे की पहचान करने, और टेक्स्ट की पहचान करने जैसी सुविधाएं शामिल हैं. कृपया सैंपल कोड यहां देखें. - एक्सपेरिमेंट के तौर पर उपलब्ध नया Zero-shter 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)- सेव किए गए वीडियो में जगह की जानकारी का मेटाडेटा सेट करने के लिए, बिना अनुमति के सार्वजनिक किया गया एपीआई. नए एपीआई
androidx.camera.video.OutputOptions.Builder.setLocation(Location)
की मदद से,android.location.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 मि॰से॰ जोड़ा गया. ऐसा करने से, AF हिस्से को
isFocusSuccessful
गलत के साथ पूरा कर दिया जाएगा. ऐसा तब होगा, जबFocusMeteringAction
को रद्द नहीं किया जाएगा और एएफ़ पार्ट इस अवधि में एक साथ नहीं होगा. (Ibc2e3) - बाइंड किए बिना झलक देखने की सुविधा की मदद से फ़ोटो खींचने के लिए, समस्या को ठीक करना (I1d3a2, b/235119898)
- बेहतर एक्सटेंडर लागू करने की सुविधा चालू की गई और CameraX सपोर्ट एक्सटेंशन-इंटरफ़ेस के वर्शन को 1.2 (I92256) पर अपडेट किया गया
वर्शन 1.2.0-alpha02
1 जून, 2022
androidx.camera:camera-*:1.2.0-alpha02
रिलीज़ हो गया है. वर्शन 1.2.0-alpha02 में ये कमियां हैं.
नई सुविधाएं
- CameraX ज़ीरो-शटर लैग एपीआई को एक्सपेरिमेंट के तौर पर उपलब्ध कराएं.
एपीआई में किए गए बदलाव
- डिवाइस की क्षमता को क्वेरी करने के लिए,
ImageCapture
में नया कैप्चर मोडCAPTURE_MODE_ZERO_SHUTTER_LAG
जोड़ें. साथ ही,CameraInfo
मेंisZslSupported
जोड़ें.CAPTURE_MODE_ZERO_SHUTTER_LAG
मोड का मकसद, तुरंत कैप्चर करने के लिए इंतज़ार का समय कम से कम रखना है. इसे रिंग बफ़र के आधार पर लागू किया जाता है. जब कोई उपयोगकर्ता तस्वीरें लेने के लिए बटन दबाता है, तब यह बाद में दोबारा प्रोसेस करने के लिए, इंटरमीडिएट कैप्चर नतीजों को कैश मेमोरी में सेव करता है. अगर {@link Video Capture} बाउंड है या फ़्लैश मोड बंद नहीं है या OEM एक्सटेंशन चालू है, तो यह मोड अपने-आप बंद हो जाएगा. (I9ae74) ImageAnalysis.getBackgroundExecutor()
तरीका जोड़ें (Icc945)
गड़बड़ियां ठीक की गईं
ImageCapture
टेकपिक्चर की सुविधा को ठीक करने से, शिकायत किए गए डिवाइसों की टॉर्च बंद हो जाती है. (Ib5eb5, b/228272227)- उस गड़बड़ी को ठीक कर दिया गया है जिसकी वजह से,
CONTROL_ZOOM_RATIO_RANGE
एट्रिब्यूट मिलते समयAssertionError
को हैंडल नहीं किया जा रहा था.(/Ia248a, b/231701345)
वर्शन 1.2.0-alpha01
18 मई, 2022
androidx.camera:camera-*:1.2.0-alpha01
रिलीज़ हो गया है. वर्शन 1.2.0-alpha01 में ये कमियां हैं.
नई सुविधाएं
- नई लाइब्रेरी Camera-mlkit-vision लॉन्च किया गया
गड़बड़ियां ठीक की गईं
- फ़ॉलबैक रणनीति के चालू होने पर, ठीक किया गया
QualitySelector
यूएचडी वीडियो रिकॉर्ड नहीं कर पाता. यह समस्या तब होती है, जबVideoCapture
,ImageCapture
पर सेट हो और किसी फ़ुल या हार्डवेयर लेवल वाले कैमरे के डिवाइस पर झलक देखी जा रही हो.QualitySelector
की फ़ॉलबैक रणनीति की वजह से,VideoCapture
को गलत तरीके से एफ़एचडी रिज़ॉल्यूशन मिलता है. यूएचडी रिज़ॉल्यूशन, असल में यूएचडी रिज़ॉल्यूशन के साथ काम करता है और इसे इस्तेमाल किया जाना चाहिए. (I0e788, b/230651237) ImageCapture.takePicture()
परNullPointerException
को ठीक किया गया. (I92366, b/230454568, b/229766155)androidx.camera.video.Recorder
(Ia8ce8) की एक साथ काम नहीं करने वाली सुविधा रुके होने की समस्या ठीक करना
कैमरा-कैमरा2, कैमरा-कोर, कैमरा-लाइफ़साइकल, और कैमरा-वीडियो वर्शन 1.1.0
वर्शन 1.1.0
29 जून, 2022
androidx.camera:camera-*:1.1.0
रिलीज़ हो गया है. वर्शन 1.1.0 में ये कमियां शामिल हैं.
1.0.0 के बाद के अहम बदलाव
- लैंडेड व्यू, एक्सटेंशन, और वीडियो कैप्चर लाइब्रेरी का पहला आरसी वर्शन. 1.1.0-beta01 से, सभी CameraX लाइब्रेरी एक ही वर्शन नंबर पर अलाइन होंगी. इससे डेवलपर को वर्शन ट्रैक करने में आसानी होगी. साथ ही, बड़े वर्शन के साथ काम करने वाले मैट्रिक्स को कम करने में मदद मिलेगी.
- नए सार्वजनिक एपीआई और सुविधाएँ पेश की गईं, जिनमें ये शामिल हैं:
- वीडियो कैप्चर के इस्तेमाल के उदाहरणों के लिए, आधिकारिक कैमरा-वीडियो लाइब्रेरी जोड़ें.
- YUV से RGB कन्वर्ज़न और रोटेशन क्षमता (
ImageAnalysis.Builder.setOutputImageRotationEnabled
औरsetOutputImageFormat
) - जब कैमरा किसी अन्य ऐप्लिकेशन के कारण कैमरे में रुकावट आता है और फ़ोकस वापस आ जाता है, तब CameraX ऐप्लिकेशन को कैमरा फिर से चालू करने की अनुमति देकर, मल्टी-विंडो मोड काम करता है.
- झलक से जुड़ी कुछ समस्याओं को ठीक करके, यह पक्का किया जाता है कि CameraX, फ़ोल्ड किए जा सकने वाले डिवाइसों के साथ ठीक से काम करे.
- ऐसा
CameraState
एपीआई जोड़ा गया है जिसे CameraInfo की मदद से, बिना अनुमति के सार्वजनिक किया जाएगा. - उपलब्ध कैमरों के बारे में सीधे जानकारी पाने के लिए, एपीआई
ProcessCameraProvider.getAvailableCameraInfos()
जोड़ा गया - एक्सटेंशन चालू होने पर,
ImageCapture#OnImageCapturedCallback
का आउटपुट JPEG फ़ॉर्मैट में चलेगा. CameraInfo
में एक एपीआईisFocusMeteringSupported
जोड़ा गया, जो ऐप्लिकेशन को यह जांचने की अनुमति देता है कि दिया गयाFocusMeteringAction
, मौजूदा कैमरे पर काम करता है या नहीं.- झलक,
ImageCapture
, औरImageAnalysis
के समाधान की जानकारी देने के लिए,getResolutionInfo
एपीआई को एक्सपोज़ किया गया है. - नया एपीआई
ImageCapture.Builder#setJpegQuality
जोड़ा गया, ताकि तस्वीरें लेते समय आउटपुट JPEG इमेज कंप्रेशन की क्वालिटी बदलने की अनुमति मिल सके. CameraSelector
के आधार परCameraInfos
की सूची को फ़िल्टर करने के लिए,CameraSelector#filter
को सार्वजनिक एपीआई में जोड़ा गया.- कैप्चर करने के मौजूदा अनुरोध के विकल्पों को मिटाने के लिए,
Camera2CameraControl.clearCaptureRequestOptions
को जोड़ा गया. - एक्सटर्नल इमेज प्रोसेसिंग लाइब्रेरी के साथ
CameraController
का इस्तेमाल करने के लिए, प्रयोग के तौर पर एक एपीआई जोड़ा गया है. उदाहरण के लिए, एमएलकिट - एक्सपेरिमेंटल एपीआई
CameraInfo#getCameraSelector()
जोड़ा गया, जो अपने कैमरे के लिए यूनीकCameraSelector
दिखाता है - कई एक्सपेरिमेंटल एपीआई को औपचारिक सार्वजनिक एपीआई में प्रमोट किया गया
- एक्सपेरिमेंटल एपीआई में,
@Experimental
एनोटेशन को@RequiresOptIn
से बदला गया. एक्सपेरिमेंटल एपीआई को कॉल करने के लिए, बंद किए गए androidx.annotation.experimental.Use जांच के बजाय 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
का नाम बदलकर "रिकॉर्डिंग" कर दिया गया है 'कितने शब्दों में जानकारी दी जाए' सेटिंग का इस्तेमाल करें.QualitySelector
क्रिएटर एपीआई को सूची पर आधारित एपीआई में बदला गया
गड़बड़ियां ठीक की गईं
- एक्सटेंशन मोड के चालू होने और
ImageCapture#CAPTURE_MODE_MAX_QUALITY
मोड के सेट होने पर,EOFException
कीYuvToJpegProcessor
समस्या को ठीक किया गया. - वीडियो रिकॉर्डिंग बंद होने की वजह से, ठीक किया गया कोडेक कॉन्फ़िगरेशन नहीं हो सका
- एफ़एचडी में रिकॉर्ड करते समय, बढ़ाई गई झलक/वीडियो के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) में सुधार किया गया
- कुछ डिवाइसों पर, ऑडियो/वीडियो रोकने और फिर से शुरू करने के बाद, ऑडियो/वीडियो सिंक न होने की समस्या को ठीक किया गया
- उस समस्या को ठीक कर दिया गया है जहां फ़्लैश मोड के अपने-आप चालू होने या कम रोशनी में हमेशा चालू रहने पर, फ़ोकस करने के लिए टैप करने (
startFocusAndMetering
) के दौरान फ़्लैश ट्रिगर होता है.
वर्शन 1.1.0-rc02
1 जून, 2022
androidx.camera:camera-*:1.1.0-rc02
रिलीज़ हो गया है. वर्शन 1.1.0-rc02 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
ImageCapture.takePicture()
परNullPointerException
को ठीक किया गया. (I92366, b/230454568, b/229766155)- उस गड़बड़ी को ठीक किया गया है जिसकी वजह से,
CONTROL_ZOOM_RATIO_RANGE
एट्रिब्यूट मिलते समयAssertionError
को हैंडल नहीं किया जा रहा था. (Ia248a, b/231701345)
वर्शन 1.1.0-rc01
11 मई, 2022
androidx.camera:camera-*:1.1.0-rc01
रिलीज़ हो गया है. वर्शन 1.1.0-rc01 में ये कमिट शामिल हैं.
नई सुविधाएं
- कैमरा-वीडियो, कैमरा-व्यू, और कैमरा-एक्सटेंशन के लिए, पहला आरसी वर्शन रिलीज़ करें
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसमें
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)
- Samsung डिवाइसों के प्री-एपीआई 29 वर्शन पर, ऑडियो/वीडियो रुकने के बाद सिंक न होने की समस्या को ठीक किया गया और फिर से शुरू किया गया. (I64622, b/202798609, b/202798572)
- Sony G3125 पर रुकने के बाद ऑडियो/वीडियो के सिंक न होने की समस्या को ठीक किया गया और फिर से चालू किया गया. (I2a1a5, b/202799148)
- Recorder को
InvalidConfigException
मिलने पर, क्रैश की समस्या को ठीक किया गया. हालांकि, इस समस्या को ठीक करने से सिर्फ़ ऐप्लिकेशन को क्रैश होने से रोका जा सकता है. हालांकि, इससेInvalidConfigException
की समस्या ठीक नहीं होती. अगरRecorder
को अब भी कॉन्फ़िगर नहीं किया जा सका, तो रिकॉर्डिंग शुरू करने पर, ऐप्लिकेशन को गड़बड़ी का कॉलबैक मिलेगा. (I89c29, b/213617227)
बाहरी योगदान
- test-coroutines-lib माइग्रेशन (I3366d) की वजह से अपडेट किया गया :compos: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 में ये तय किए गए हिस्से शामिल हैं.
नई सुविधाएं
- 1.1.0-beta01 से, सभी CameraX लाइब्रेरी एक ही वर्शन नंबर पर अलाइन होंगी. इससे डेवलपर को वर्शन ट्रैक करने में आसानी होगी. साथ ही, बड़े वर्शन के साथ काम करने वाले मैट्रिक्स को कम करने में भी मदद मिलेगी.
एपीआई में किए गए बदलाव
Camera2CameraControl.clearCaptureRequestOptions
को इसके लिए जोड़ा गया कैप्चर करने के मौजूदा अनुरोध से जुड़े विकल्पों को हटाकर, (Ifa07d)
गड़बड़ियां ठीक की गईं
- Android से पहले वाले कुछ O(API 26) डिवाइसों पर वीडियो रिकॉर्ड करते समय होने वाले क्रैश को ठीक किया गया है. (I88fdf, b/212328261)
- Samsung डिवाइसों में सामने वाले लेंस वाले कैमरे पर
cameraControl#startFocusAndMetering()
इस्तेमाल करने पर, एएफ़ (AF) से जुड़ी गलत जगह की समस्या को ठीक कर दिया गया है (Ifbf59, b/210548792) - Pixel 3a/Pixel 3a XL पर टॉर्च को फ़्लैश के तौर पर इस्तेमाल करें. इससे गहरे रंग में स्पीड और कैप्चर की गई इमेज क्वालिटी को बेहतर बनाया जा सकता है (Ib12b6, b/211474332)
- कैमरे पर, कैमरे को फिर से चालू करने के लिए ऐप्लिकेशन को चालू किया गया में किसी अन्य उच्च प्राथमिकता वाले ऐप्लिकेशन के कारण रुकावट आई है मल्टी-विंडो मोड चालू करता है और फ़ोकस वापस ऐप्लिकेशन पर आ जाता है. कृपया ध्यान दें कि फ़्रेमवर्क में किसी गड़बड़ी की वजह से, फ़ोकस बदलने के बाद कैमरा फिर से चालू होने में थोड़ा समय(1 सेकंड से 10 सेकंड या इससे ज़्यादा) लग सकता है. (I4d092)
वर्शन 1.1.0-alpha12
15 दिसंबर, 2021
androidx.camera:camera-*:1.1.0-alpha12
रिलीज़ हो गया है. वर्शन 1.1.0-alpha12 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- इनर क्लास/इंटरफ़ेस से ग़ैर-ज़रूरी
@RequiresApi(21)
एनोटेशन हटाए गए. (I8e286, b/204917951) QualitySelector
के क्वालिटी कॉन्सटेंट और फ़ॉलबैक रणनीति कॉन्सटेंट को क्लास ऑब्जेक्ट से दिखाने के लिए बदल दिया गया है. उदाहरण के लिए,QualitySelector.QUALITY_HD
कोQuality.HD
में बदल दिया जाता है औरQualitySelector.FALLBACK_STRATEGY_LOWER
कोFallbackStrategy.lowerQualityOrHigherThan(Quality)
से मिले इंस्टेंस में बदल दिया जाता है.QualitySelector
बनाने के लिए इस्तेमाल किए गए एपीआई को सूची-आधारित एपीआई में बदल दिया गया है. नया एपीआईQualitySelector.fromOrderedList(List<Quality>)
, इनपुट की क्वालिटी सूची के क्रम को दिखाएगा, न किQualitySelector.Procedure
के बनाए गए ऑर्डर को.QualitySelector.Procedure
क्लास को हटा दिया गया है. (I43343)PendingRecording.withEventListener()
को हटा दिया गया है. इवेंट लिसनर को अबPendingRecording.start()
को पास करना होगा. इवेंट लिसनर की इस शर्त का मकसद,VideoRecordEvent.Finalize
इवेंट में रिपोर्ट की गई एसिंक्रोनस गड़बड़ियों को मैनेज करने के लिए बढ़ावा देना है. (I1e71d)- ज़्यादा शब्दों में जानकारी देने के लिए,
ActiveRecording
का नाम बदलकरRecording
कर दिया गया है. (I77ceb)
गड़बड़ियां ठीक की गईं
- Pixel 3a और Pixel 3a XL (I13f19, b/205373142) में, गहरे रंग वाली स्थिति में
FLASH_AUTO
मोड में फ़ोटो कैप्चर करने की समस्या ठीक कर दी गई है Resolution
की झलक तय करने के लिए, हमेशा सबसे नए डिसप्ले साइज़ का इस्तेमाल करें. (I4a694)- फ़िल्टर किए गए ऐसे कैमरे जिनमें
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
नहीं है.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
वाले कैमरों में, उतनी ही सुविधाएं होती हैं जितनी हर डिवाइस में इस्तेमाल की जा सकती हैं. ऐसा हो सकता है कि बिनाREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
वाला कैमरा, खास तरह के फ़ंक्शन के साथ काम करता हो. साथ ही, इस पर स्टैंडर्ड कलर आउटपुट काम न करता हो.CameraX
में इन कैमरों के लिएPreview
,ImageCapture
,ImageAnalysis
याVideoCapture
इस्तेमाल के उदाहरण काम नहीं करते. इसलिए, गलत इस्तेमाल को रोकने के लिए उन कैमरों को फ़िल्टर करके बाहर रखना चाहिए. (Ib8cda) - नतीजे का सेट खाली होने पर,
CameraSelector#filter
अबIllegalArgumentException
नहीं दिखाता है. (I27804) - बेहतर अनुभव के लिए, अब OEM की बनाई गई प्रोफ़ाइलों के आधार पर एन्कोडर सेटिंग का इस्तेमाल किया जाता है. (Iaeef0)
- Pixel1 पर यूएचडी वीडियो रिकॉर्डिंग शुरू करने के बाद, 'फ़िक्स्ड प्रीव्यू' में इंटरलेस कलर लाइन होती हैं. (I833c6, b/205340278)
वर्शन 1.1.0-alpha11
17 नवंबर, 2021
androidx.camera:camera-*:1.1.0-alpha11
रिलीज़ हो गया है. वर्शन 1.1.0-alpha11 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- CameraSelector के आधार पर, CameraInfos की सूची को फ़िल्टर करने के लिए, सार्वजनिक एपीआई में CameraSelector#filter जोड़ा गया. (I105d0)
ImageAnalysis कॉन्फ़िगरेशन के लिए, setOutputImageRotationEnabled API जोड़ें. उपयोगकर्ता, YUV/RGB इमेज बफ़र के लिए रोटेशन चालू कर सकता है. रोटेशन डिग्री, इमेज को ऊपर रखने के लिए सेंसर के रोटेशन और टारगेट रोटेशन के आधार पर कैलकुलेट किया गया एक रिलेटिव रोटेशन है.
ImageAnalysis कॉन्फ़िगरेशन के लिए, setOutputImageRotationEnabled API जोड़ें. उपयोगकर्ता, YUV/RGB इमेज बफ़र के लिए रोटेशन चालू कर सकता है. रोटेशन डिग्री, इमेज को ऊपर रखने के लिए सेंसर के रोटेशन और टारगेट रोटेशन के आधार पर कैलकुलेट किया गया एक रिलेटिव रोटेशन है.
ImageInfo में
getSensorToBufferTransformMatrix
एपीआई जोड़ें. लौटाया गया मैट्रिक्स, सेंसर निर्देशांक से बफ़र निर्देशांक तक की मैपिंग है, जिसका मानCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE
से(0, 0, image.getWidth, image.getHeight)
तक है. मैट्रिक्स का इस्तेमाल करके, एक {UseCase} से दूसरे निर्देशांक को मैप किया जा सकता है. उदाहरण के लिए, ImageAnalysis की मदद से पहचाने गए चेहरे के कोऑर्डिनेट को मैप करना, ताकि उसकी झलक देखी जा सके. (I9ff1e)इमेज कैप्चर करते समय, JPEG इमेज कंप्रेस करने की क्वालिटी बदलने की अनुमति देने के लिए, नया एपीआई Image Capture.Builder#setJpeg Quality जोड़ा गया. (I8dcf4)
MediaStoreOutputOptions.getCollection का नाम बदलकर यह किया गया: MediaStoreOutputOptions.getCollectionUri. (I16639)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जहां के दौरान फ़्लैश ट्रिगर हो रहा था फ़्लैश मोड के अपने-आप या कम रोशनी में हमेशा_चालू रहेगा. (Id4c11)
- Pixel 2 XL / Pixel 3 XL पर HDR+ बंद किया गया है इंतज़ार का समय कम करने के लिए MINIMIZE_LATENCY मोड. (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 को हटा दिया गया है. इससे, कैमरा-कोर को उन ऐप्लिकेशन में आसानी से इंटिग्रेट किया जा सकता है जिनमें minSdkVersion 21 से कम है, लेकिन शर्त के साथ कोड पाथ का इस्तेमाल करना चाहते हैं जो एपीआई 21 और उसके बाद के वर्शन का इस्तेमाल करते हैं. ऐसे किसी भी ऐप्लिकेशन के लिए जिसके साथ minSdkVersion 21 या उसके बाद के वर्शन पर, इस बदलाव के लिए किसी कार्रवाई की ज़रूरत नहीं है. (Ie7f2e, b/200599470)
गड़बड़ियां ठीक की गईं
- CameraCharacteristics बनाते समय, AssertionError को बेहतर तरीके से हैंडल करने के लिए, Initialization हाथ का इस्तेमाल करने की सुविधा लागू करें. (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 में ये कमिट शामिल हैं.
एपीआई में किए गए बदलाव
- प्रयोग के तौर पर इस्तेमाल किए जाने वाले समूह का इस्तेमाल करके की गई व्याख्या को हटा दिया गया है. ऐसा इसलिए किया गया है, क्योंकि एपीआई अब प्रयोग के तौर पर नहीं चल रहे हैं. (I01ef5)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक करें जहां कैप्चर की गई फ़ोटो धुंधली होती हैं
MAXIMIZE_QUALITY
मोड में. (I173a9, b/193823892) - Samsung Galaxy J5 से जुड़ी समस्या को ठीक किया गया है. अंधेरे में, फ़्लैश चालू होने या ऑटो मोड में तस्वीरें लेने पर कैमरा रुक जाता है (I3aab9)
- Image Capture के लिए जब क्रॉप ज़रूरी हो, तो सेट कैप्चर मोड के अनुसार तय 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)
एपीआई में किए गए बदलाव
- प्रायोगिकUseCaseGroupलाइफ़साइकल एनोटेशन को अब हटा दिया गया है, क्योंकि एपीआई अब प्रयोग के तौर पर नहीं हैं. (I17b85)
गड़बड़ियां ठीक की गईं
- Huawei P20 Lite में 'फ़िक्स्ड प्रीव्यू' स्क्रीन की रोशनी बहुत ज़्यादा है. यह समस्या तब ही आती है, जब ज़ूम इन की ज़्यादा वैल्यू के साथ, झलक के कुछ खास रिज़ॉल्यूशन का एक साथ इस्तेमाल किया जाता है. (इडिफ़स, b/192129158)
- फ़्लैश सेट करते समय कुछ डिवाइसों पर फ़्लैश काम नहीं करने की समस्या ठीक की गई मोड FLASH_mode_ON पर सेट किया गया है. इसके बाद जल्द ही चित्र लिए जाएंगे. (Ieb49b)
- उस समस्या को ठीक किया गया है जिसकी वजह से वीडियो कैप्चर करने के दौरान, Video Capture, Image मान्यता, और Preview के सीमित होने पर, कुछ समय के लिए झलक नहीं दिखती थी. (I56197, b/193864120)
- ImageAnalysis को 1080 पिक्सल से बड़ा रिज़ॉल्यूशन चुनने की अनुमति दें. ऊपर दिए गए डिवाइस का सीमित लेवल वाला विकल्प, ImageAnalysis के लिए RECORD साइज़ रिज़ॉल्यूशन के साथ काम करता है. ऐसा तब होता है, जब इसे Preview और Image Capture के साथ जोड़ा जाता है. ट्रेड-ऑफ़, Image Capture के लिए चुना गया रिज़ॉल्यूशन है. इसके लिए, यह RECORD साइज़ का रिज़ॉल्यूशन भी होना चाहिए. ImageAnalysis के लिए RECORD साइज़ रिज़ॉल्यूशन चुनने के लिए, Imageयह और ImageAnalysis, दोनों पर सेट किया जाना चाहिए. इससे पता चलता है कि यह ऐप्लिकेशन, ट्रेड-ऑफ़ को साफ़ तौर पर समझता है. साथ ही, यह चाहता है कि Image उपयोगकर्ता के पास बहुत बड़े रिज़ॉल्यूशन का इस्तेमाल करने के बजाय, Imageइसका के लिए ज़्यादा से ज़्यादा रिज़ॉल्यूशन इस्तेमाल करने का विकल्प हो. RECORD की परिभाषाओं, प्रमोशन के साइज़, और ज़्यादा जानकारी के लिए, https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture देखें. रिकॉर्ड के साइज़ का मतलब है कि कैमरे के डिवाइस में, रिकॉर्ड करने के लिए ज़्यादा से ज़्यादा कितने रिज़ॉल्यूशन का इस्तेमाल किया जा सकता है. यह रिज़ॉल्यूशन CamcorderProfile के आधार पर तय किया जाता है. GIVEN के साइज़ का मतलब है कि उस फ़ॉर्मैट या टारगेट के लिए, कैमरा डिवाइस के ज़्यादा से ज़्यादा आउटपुट रिज़ॉल्यूशन का पता चलता है. यह जानकारी StreamConfigurationMap.getOutputSizes(int) से मिलती है. (I1ee97, b/192911449)
- कैप्चर की गई इमेज में Exif की जानकारी जोड़ें. (I01ff0, b/193342619)
- अगर सेव करने की जगह 'फ़ाइल' है, तो Image Capture में जाकर सेव की गई इमेज का यूआरआई दिखाएं. (Ib5b49, b/149241379)
- फ़्लैश के साथ इमेज कैप्चर करने की समस्या को कई डिवाइसों पर ठीक कर दिया गया है. (I4e510)
वर्शन 1.1.0-alpha07
21 जुलाई, 2021
androidx.camera:camera-camera2:1.1.0-alpha07
, androidx.camera:camera-core:1.1.0-alpha07
, और androidx.camera:camera-lifecycle:1.1.0-alpha07
रिलीज़ हुए हैं. वर्शन 1.1.0-alpha07 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- Samsung Galaxy Note 5 की समस्या को ठीक कर दिया गया है, जो कि कैमरे को मिलती है फ़्लैश चालू होने पर/अपने-आप अंधेरे में तस्वीरें लेने के बाद रुक जाना एनवायरमेंट (If6871)
- एक्सटेंशन मोड चालू होने और
ImageCapture#CAPTURE_MODE_MAX_QUALITY
मोड के सेट होने पर,YuvToJpegProcessor
EOFअपवाद की समस्या ठीक की गई. (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)
- प्रिव्यू, Imageकैप्चर, और ImageAnalysis के लिए रिज़ॉल्यूशन की जानकारी देने के लिए, एक्सपोज़्ड getरिज़ॉल्यूशनInfo API. (I2b613, b/188600718)
- इन एक्सपेरिमेंटल एपीआई का प्रमोशन, आधिकारिक एपीआई में किया गया: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCamera सुविधाएं(), CameraXConfig#getSchedulerHandler(). (I2ade2)
- एक तरह के कैमरों का ऐक्सेस देने के लिए, CameraProvider इंटरफ़ेस दिखाया गया है. (I1a7b1)
- कैमरा-कोर, कैमरा-लाइफ़साइकल, और कैमरा-वीडियो के लिए, एक्सपेरिमेंट के तौर पर इस्तेमाल किए जा रहे UseCaseGroup API का प्रमोशन करें. व्यूपोर्ट को पसंद के मुताबिक बनाने के लिए
ViewPort#getLayoutDirection
,ViewPort.Builder#setLayoutDirection
, औरViewPort.Builder#setScaleType
जोड़े गए. (I7cee8)
वर्शन 1.1.0-alpha05
2 जून, 2021
androidx.camera:camera-camera2:1.1.0-alpha05
, androidx.camera:camera-core:1.1.0-alpha05
, और androidx.camera:camera-lifecycle:1.1.0-alpha05
रिलीज़ हुए हैं. वर्शन 1.1.0-alpha05 में ये कमियां हैं.
एपीआई में किए गए बदलाव
Camera2CameraFilter
क्लास हटाई गई. इसके हिसाब से कैमरा चुनने का सुझाव दें CameraFilter और Camera2 से जुड़ी अन्य सुविधाएं पाएं ज़रूरत पड़ने पर Camera2CameraInfo के ज़रिए जानकारी दें. (Ib887c)ExperimentalCameraFilter
के एपीआई अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं और औपचारिक तौर पर एपीआई बनाए जा सकते हैं. एनोटेशन वाले ऑप्ट-इन के बिना उनका इस्तेमाल किया जा सकता है. (I4bc94)- कैमरा स्टेट एपीआई जोड़ा गया, जो
CameraInfo#getCameraState()
के ज़रिए बिना अनुमति के दिखता है. (Ia86b4) - एक्सपेरिमेंटल एपीआई
CameraInfo#getCameraSelector()
जोड़ा गया, जो इसके कैमरे (I77f9f) के लिए CameraSelector यूनीक दिखाता है
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसकी वजह से LookableFuture पर कोई जवाब मिल रहा था कुछ Android डिवाइसों पर, setZoomRatio और setLineZoom को पूरा नहीं किया जा सकता 11 डिवाइस (I716d7)
- कैमरा स्विच करने की रफ़्तार बढ़ाएं और डिवाइस में गड़बड़ी होने की दर कम करें (I34c99)
- प्रायोगिकUseCaseGroupलाइफ़साइकल को इससे बदला गया प्रायोगिकUseCaseGroup. (I3b2ef, b/159033688)
वर्शन 1.1.0-alpha04
21 अप्रैल, 2021
androidx.camera:camera-camera2:1.1.0-alpha04
, androidx.camera:camera-core:1.1.0-alpha04
, और androidx.camera:camera-lifecycle:1.1.0-alpha04
रिलीज़ हुए हैं. वर्शन 1.1.0-alpha04 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- एक ही कलेक्शन को ऐक्सेस करने के लिए एक साथ कई थ्रेड होने की वजह से, मेमोरी लीक होने की समस्या को ठीक किया गया. मेमोरी लीक की वजह से, झलक दिखाने वाले इंस्टेंस के ज़रिए गतिविधि या फ़्रैगमेंट को बनाए रखा जा सकता है. (I7b4b8)
- एक्सपेरिमेंटल एपीआई में,
@Experimental
एनोटेशन को@RequiresOptIn
से बदला गया. प्रयोग के तौर पर इस्तेमाल किए जा रहे एपीआई को कॉल करने के लिए, काम नहीं करने वालीandroidx.annotation.experimental.UseExperimental
के बजायandroidx.annotation.OptIn
का इस्तेमाल करें. (Iff226) - Samsung Galaxy S7 पर फ़्लैश चालू/ऑटो के साथ फ़िक्स इमेज कैप्चर कर दिया गया है. (I30001)
- ऐसा CameraState एपीआई जोड़ा गया है जिसे 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)
- Robolectric टेस्ट फ़ेल होने की गड़बड़ी को ठीक किया गया setAvailableCameraslimiter का इस्तेमाल, CameraXConfig में किया जाता है. (Ice307)
- यह बदलाव तब अपवाद को पकड़ता है, जब ImageAnalysis में इमेज की सूची की सीमा पूरी हो गई हो. इसलिए, क्रैश होने के बजाय आपको पता चल सकता है कि इस्तेमाल के अन्य उदाहरण काम नहीं कर रहे हैं या रुक-रुककर चल रहे हैं. उदाहरण के लिए, रुकी हुई/धीमी झलक. (Ic12da, b/175851631)
- सिर्फ़ Preview या Image Capture के बाउंड होने पर, गड़बड़ियों की रिपोर्ट करने के लिए extensionsErrorListener को ठीक किया गया. (I5ae39)
- तस्वीर लेने से पहले, सेव की गई इमेज की जगह की जानकारी की पुष्टि को हटाकर, Image Capture के परफ़ॉर्मेंस रिग्रेशन को ठीक किया गया. यह बदलाव करने के बाद, अगर सेव करने का गंतव्य अमान्य है, तो गड़बड़ी का जवाब मिलने में ज़्यादा समय लगेगा, क्योंकि फ़ोटो लेने के बाद यह इमेज को सेव करने की कोशिश करेगा. (I1fd4e, b/177061560)
- "फ़ाइल" के साथ Image Capture का परफ़ॉर्मेंस रिग्रेशन ठीक किया गया OutputFileOptions टाइप करें. (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)
कैमरा-कैमरा2, कैमरा-कोर, और 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)
कैमरा-कैमरा2, कैमरा-कोर, और 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
से मिली समस्या को ठीक कर दिया गया है कुछ Android डिवाइसों पर,setZoomRatio
औरsetLinearZoom
को प्रोसेस नहीं किया जा सका 11 डिवाइस (I716d7)कुछ डिवाइसों पर, कैमरा बंद होने पर कैमरे के अटकने की समस्या को ठीक कर दिया गया है. साथ ही, इसकी वजह से ब्लैक प्रीव्यू हो रहा है. (I34c99)
कैमरा-कैमरा2, कैमरा-कोर, और 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 में झलक, Image Capture, और Analysis काम करते हैं
- CameraX, इस्तेमाल में आसान एपीआई से कैमरे की लाइफ़साइकल को मैनेज करता है
- CameraX का मकसद, आपके डिवाइस के साथ काम करने की सुविधा देने वाली लेयर उपलब्ध कराना है, ताकि Android Camera नेटवर्क की कई समस्याओं को ठीक किया जा सके
आम समस्याएं
- आम समस्याओं की सूची देखें
वर्शन 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 पर फ़्लैश चालू/ऑटो के साथ फ़िक्स इमेज कैप्चर कर दिया गया है. (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 टेस्ट फ़ेलियर की समस्या को ठीक किया गया है.
- तस्वीर लेने से पहले, सेव की गई इमेज की जगह की जानकारी की पुष्टि को हटाकर, Image Capture के परफ़ॉर्मेंस रिग्रेशन को ठीक किया गया. यह बदलाव करने के बाद, अगर सेव करने की मंज़िल का मान अमान्य है, तो गड़बड़ी का जवाब मिलने में ज़्यादा समय लगेगा, क्योंकि फ़ोटो लेने के बाद यह इमेज को सेव करने की कोशिश करेगा
- यह बदलाव तब अपवाद को पकड़ता है, जब ImageAnalysis में इमेज की सूची की सीमा पूरी हो गई हो. इसलिए, हो सकता है कि आपके ऐप्लिकेशन के क्रैश होने के बजाय, इस्तेमाल के अन्य उदाहरण काम न करें या ठीक से काम न करें. उदाहरण के लिए, रुकी हुई/धीमी झलक.
- SM-G930T बैक-फ़ेसिंग कैमरे पर JPEG में बीच-बीच में गड़बड़ी वाले इमेज डेटा के लिए वर्कअराउंड शामिल किया गया है. (I52001, b/159831206)
- यह बदलाव तब अपवाद को पकड़ता है, जब ImageAnalysis में इमेज की सूची की सीमा पूरी हो गई हो. इसलिए, क्रैश होने के बजाय आपको पता चल सकता है कि इस्तेमाल के अन्य उदाहरण काम नहीं कर रहे हैं या रुक-रुककर चल रहे हैं. उदाहरण के लिए, रुकी हुई/धीमी झलक. (Ic12da, b/175851631)
- Robolectric टेस्ट फ़ेल होने की गड़बड़ी को ठीक किया गया setAvailableCameraslimiter का इस्तेमाल, CameraXConfig में किया जाता है. (Ice307)
- तस्वीर लेने से पहले, सेव की गई इमेज की जगह की जानकारी की पुष्टि को हटाकर, Image Capture के परफ़ॉर्मेंस रिग्रेशन को ठीक किया गया. यह बदलाव करने के बाद, अगर सेव करने का गंतव्य अमान्य है, तो गड़बड़ी का जवाब मिलने में ज़्यादा समय लगेगा, क्योंकि फ़ोटो लेने के बाद यह इमेज को सेव करने की कोशिश करेगा. (I1fd4e, b/177061560)
- "फ़ाइल" के साथ Image Capture का परफ़ॉर्मेंस रिग्रेशन ठीक किया गया OutputFileOptions टाइप करें. (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 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- legalArgumentअपवाद की समस्या तब ठीक की गई है, जब झलक दिखाने के लिए सभी साइज़ 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 में ये कमिट शामिल हैं.
एपीआई में किए गए बदलाव
- CameraInfo में शामिल करने के लिए, CameraFilter और Camera2Filter को बदला गया. (I6883d)
- Camera2 API के साथ इंटरऑपरेट करने की अनुमति देने के लिए, एक्सपेरिमेंट के तौर पर शुरू की गई Camera2CameraControl जोड़ी गई है डाइनैमिक तौर पर इस्तेमाल किया जा सकता है. (I45cf3)
- Camera2CameraInfo#fromCameraInfo का नाम बदलकर #from किया गया. (Ia2bd6)
- इसमें एक प्रयोग के तौर पर setAvailableCamerasLimiter API जोड़ा गया है CameraXConfig, ऐप्लिकेशन को शुरू होने में लगने वाले समय को ऑप्टिमाइज़ करने की अनुमति देता है इस्तेमाल न होने वाले कैमरों को चालू करने से रोका जा सकता है. (I6cf88)
- CameraX लॉग के लिए, कम से कम लॉगिंग लेवल सेट करने की अनुमति देने के लिए, एक्सपेरिमेंटल
CameraXConfig.Builder#setMinimumLoggingLevel()
तरीका जोड़ा गया. अगर इस नीति को सेट नहीं किया जाता है, तो यह डिफ़ॉल्ट रूप सेLog#DEBUG
पर सेट होती है. (Ic3245)
गड़बड़ियां ठीक की गईं
- इसमें रुक-रुककर खराब इमेज डेटा के लिए समाधान शामिल किया गया है SM-G930V के पीछे वाले कैमरे पर JPEG. (I5aca5, b/159831206)
- इस समस्या को ठीक कर दिया गया है कि फ़्लैश के हमेशा/चालू रहने पर, तस्वीरें लेने पर नतीजे नहीं मिलते और Samsung SM-A716 डिवाइसों पर अंधेरा होता है. (If98b2, b/172036589)
- समस्या को ठीक कर दिया गया है कि
Preview.setSurfaceProvider(null)
पर कॉल करके, झलक को नहीं रोका जा सकता. (I3ac18) - कुछ डिवाइसों पर 4:3 इमेज कैप्चर करते समय, स्क्रीन की दिशा से जुड़ी समस्या को ठीक किया गया. (I0e3fb, b/171492111)
Camera2, Core, और लाइफ़साइकल वर्शन 1.0.0-beta12
11 नवंबर, 2020
androidx.camera:camera-camera2:1.0.0-beta12
, androidx.camera:camera-core:1.0.0-beta12
, और androidx.camera:camera-lifecycle:1.0.0-beta12
रिलीज़ हुए हैं. वर्शन 1.0.0-beta12 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- क्रैश की समस्या को ठीक करने के लिए, Samsung A3 डिवाइसों में ऑटो फ़्लैश की सुविधा बंद की गई Samsung A3 डिवाइसों पर ऑटो फ़्लैश AE मोड के साथ फ़ोटो लेते समय. (Ia5fe3, b/157535165)
- Android L (एपीआई लेवल 21 और 22) का इस्तेमाल करने वाले Nexus 4 डिवाइसों पर, किताब की झलक दिखाने से जुड़ी समस्या ठीक की गई है. (I4d407, b/158749159)
OnImageCapturedCallback#onCaptureSuccess
बेस क्लास लागू करने से इमेज बंद नहीं होती. ऐसा इसलिए किया जाता है, ताकि से ज़्यादा गलत व्यवहार हो सकता है. डेवलपर को इन बातों पर भरोसा नहीं करना चाहिए: इमेज बंद करने में Super.on Captureसफल रहा. (Ifbf9c)- प्रयोग के तौर पर दी गई जानकारी का androidx वैरिएंट Kotlin के साथ समानता देने के लिए बंद किया गया है. इसे requiredOptIn एनोटेशन को अपडेट किया गया है और Java-फ़ेसिंग लिंटर को इस तरह अपडेट किया गया है नए Kotlin एनोटेशन और नए androidx वैरिएंट, दोनों के साथ काम करते हैं. (I52495, b/151331381)
Camera-Camera2 वर्शन 1.0.0-beta11
14 अक्टूबर, 2020
androidx.camera:camera-camera2:1.0.0-beta11
रिलीज़ हो गया है. वर्शन 1.0.0-beta11 में ये तय किए गए हिस्से शामिल हैं.
नई सुविधाएं
- ज़ूम ऑन के लिए, Android 11
CONTROL_ZOOM_RATIO
एपीआई के साथ काम करता है Android 11 या उसके बाद के वर्शन वाले ऐसे डिवाइस जिनमें मान्य हैCONTROL_ZOOM_RATIO_RANGE
. (I62cc6)
गड़बड़ियां ठीक की गईं
- कैमरा आईडी एक गैर-पूर्णांक कैमरा आईडी होने की वजह से आई थी. इस समस्या को हल किया गया था. (आईबी2228)
- CameraX को शुरू करने की इंतज़ार के समय को बेहतर किया गया है और bindTolifecycle (I61dc5)
- यूज़केस बनाने के लिए, CameraX को शुरू करना ज़रूरी नहीं है
पूरा करना है. लागू करने के सभी खास कॉन्फ़िगरेशन, इस पर सेट हैं
जब इसे किसी कैमरा इंस्टेंस के साथ अटैच किया जाता है, तो यह इस्तेमाल लोगों के लिए होता है
एपीआई
ProcessCameraProvider.bindToLifecycle()
है. (Ia5411) <UseCase>.getTargetRotation()
,Surface.ROTATION_0
लौटाएगा अगर कैमरा इंस्टेंस के साथ अटैच किए जाने से पहले कॉल किया जाता है, अगर targetRotation को Builder या UseCase पर सेट किया गया है. (I80fcd)
कैमरा-कोर वर्शन 1.0.0-beta11
14 अक्टूबर, 2020
androidx.camera:camera-core:1.0.0-beta11
रिलीज़ हो गया है. वर्शन 1.0.0-beta11 में ये तय किए गए हिस्से शामिल हैं.
नई सुविधाएं
- ज़ूम ऑन करने के लिए, Android 11 CONTROL_ZOOM_RATIO
एपीआई का इस्तेमाल किया जा सकता है
Android 11 या उसके बाद के वर्शन वाले ऐसे डिवाइस जिनमें मान्य है
CONTROL_ZOOM_RATIO_RANGE
. (I62cc6)
गड़बड़ियां ठीक की गईं
- कैमरा आईडी एक गैर-पूर्णांक कैमरा आईडी होने की वजह से आई थी. इस समस्या को हल किया गया था. (आईबी2228)
- यूज़केस बनाने के लिए, CameraX को शुरू करना ज़रूरी नहीं है
पूरा करना है. लागू करने के सभी खास कॉन्फ़िगरेशन, इस पर सेट हैं
जब इसे किसी कैमरा इंस्टेंस के साथ अटैच किया जाता है, तो यह इस्तेमाल लोगों के लिए होता है
एपीआई
ProcessCameraProvider.bindToLifecycle()
है. (Ia5411) <UseCase>.getTargetRotation()
,Surface.ROTATION_0
लौटाएगा अगर कैमरा इंस्टेंस के साथ अटैच किए जाने से पहले कॉल किया जाता है, अगर targetRotation को Builder या UseCase पर सेट किया गया है. (I80fcd)
कैमरा-कोर वर्शन 1.0.0-beta10
23 सितंबर, 2020
androidx.camera:camera-core:1.0.0-beta10
रिलीज़ हो गया है. वर्शन 1.0.0-beta10 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- इमेज कैप्चर करने के लिए, फ़ाइल सेव करने के डेस्टिनेशन की पुष्टि करने से जुड़ी गड़बड़ी को ठीक किया गया (I8c565, b/167697553)
Camera-Camera2 वर्शन 1.0.0-beta10
23 सितंबर, 2020
androidx.camera:camera-camera2:1.0.0-beta10
रिलीज़ हो गया है. वर्शन 1.0.0-beta10 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ करें
Camera-Camera2 वर्शन 1.0.0-beta09
16 सितंबर, 2020
androidx.camera:camera-camera2:1.0.0-beta09
रिलीज़ हो गया है. वर्शन 1.0.0-beta09 में ये कमिट हैं.
एपीआई में किए गए बदलाव
- स्टैटिक तरीके इस्तेमाल करने के बजाय, Camera2CameraInfo Camera2 से जुड़ी जानकारी फिर से पाने के लिए, CameraInfo इंस्टेंस में से जानकारी. (I5b844)
गड़बड़ियां ठीक की गईं
- टैबलेट डिवाइसों पर, टारगेट के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) की समस्या को ठीक कर दिया गया है. जब टारगेट आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात)
AspectRatio.RATIO_16_9
पर सेट होता है, तो 16:9 साइज़ चुनना चाहिए. (Ib7fcf, b/151969438) - CameraCharacteristics बनाते समय, AssertionError को बेहतर तरीके से मैनेज करने के लिए,
InitializationException
का इस्तेमाल करें. (I89c8c, b/160524721) - एक्सपोज़रकॉम्पेंसेशन के लिए एक्सपेरिमेंट के तौर पर उपलब्ध इंटरफ़ेस जोड़े गए (If96c7)
कैमरा-कोर वर्शन 1.0.0-beta09
16 सितंबर, 2020
androidx.camera:camera-core:1.0.0-beta09
रिलीज़ हो गया है. वर्शन 1.0.0-beta09 में ये कमिट हैं.
एपीआई में किए गए बदलाव
- इस बग को ठीक कर दिया गया है, जहां व्यूपोर्ट को UseCaseGroup पर गैर-शून्य के रूप में मार्क किया गया है. डेवलपर के पास, व्यूपोर्ट सेट किए बिना व्यूपोर्ट बनाने की सुविधा होनी चाहिए. (Ie3d2e)
ExposureCompensation
के लिए प्रयोग वाला इंटरफ़ेस जोड़ा गया (If96c7)- झलक के लिए आर्बिट्रेरी टारगेट रोटेशन की अनुमति दें. बदलाव की जानकारी का हिसाब लगाया जाता है और उसे नए
TranformationInfoListener
कॉलबैक की मदद से, उपयोगकर्ता को तुरंत वापस लौटा दिया जाता है. (I21470)
गड़बड़ियां ठीक की गईं
- कुछ डिवाइसों पर फ़्लैश बंद न होने की समस्या को ठीक कर दिया गया है. ऐसा तब होता है, जब फ़ोटो लेने के लिए फ़्लैश मोड को
FLASH_MODE_ON
पर सेट किया जाता है. साथ ही, फ़्लैश चालू होने परFLASH_MODE_OFF
में बदल जाता है. इसका लक्षण ऐसा है जैसे टॉर्च मोड चालू हो. (Ib4451, b/162568128) - अगर एक्सटेंशन इफ़ेक्ट चालू है और वेंडर लाइब्रेरी को लागू करने के लिए आउटपुट सरफ़ेस पर एक खास प्रोसेस करनी पड़ती है, तो ज़बरदस्ती PreviewView का इस्तेमाल करके TextureView का इस्तेमाल किया जा सकता है. (I0c3cc)
ProcessCameraProvider.getInstance(Context)
को ऐक्टिविटी/फ़्रैगमेंट कॉन्टेक्स्ट पास करने पर, गतिविधि/फ़्रैगमेंट लीक होने की समस्या को ठीक किया गया है.
आम समस्याएं
- ViewPort सेट होने पर, HAL में इमेज बफ़र को घुमाने वाले डिवाइसों पर Image Capture का क्रॉप सेक्शन गलत हो सकता है. इसे अगली रिलीज़ में ठीक कर दिया जाएगा.
Camera-Camera2 वर्शन 1.0.0-beta08
19 अगस्त, 2020
androidx.camera:camera-camera2:1.0.0-beta08
रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- मुख्य थ्रेड पर तेज़ी से चलाने के लिए, ऑप्टिमाइज़ किया गया bindTolifecycle. (I1d57e)
- DisplayOrientedMeteringPoint फ़ैक्ट्री, CameraInfo में डेटा लेता है का इस्तेमाल करने की अनुमति दें, ताकि किस कैमरे के लिए फ़ैक्ट्री पॉइंट जनरेट करेंगे. सभी क्लास जो DisplayOrientedMeteringPointरी का इस्तेमाल करती हैं, वे CameraInfo का भी इस्तेमाल करती हैं का इस्तेमाल करें. (I400c1)
- ऑटो-रिज़ॉल्यूशन के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के साइज़ को ग्रुप करने में आने वाली समस्या को ठीक कर दिया गया है. यह समस्या 16:9 mod16 साइज़ (864x480) में तब होती है, जब टारगेट रिज़ॉल्यूशन की सेटिंग 2016x1080 हो और 1920x1080 16:9 साइज़ की कोई अन्य समस्या हो. (I53167, b/159363774)
- किसी रेस कंडिशन (I2279f, b/152333890, b/160714166) के हिसाब से काम न कर पाने पर, CameraControl की समस्या को ठीक करें
कैमरा-कोर वर्शन 1.0.0-beta08
19 अगस्त, 2020
androidx.camera:camera-core:1.0.0-beta08
रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये कमिट हैं.
एपीआई में किए गए बदलाव
DisplayOrientedMeteringPointFactory
नेCameraInfo
लिया का उपयोग करें, ताकिCameraSelector
की बजाय कोई डायरेक्ट मैपिंग किस कैमरे के लिए फ़ैक्ट्री पॉइंट जनरेट करेंगे. सभी क्लास जोDisplayOrientedMeteringPointFactory
का इस्तेमाल करते हैं, वेCameraInfo
भी लेते हैंCameraSelector
के बजाय इंस्टेंस. (I400c1)
गड़बड़ियां ठीक की गईं
- इमेज कैप्चर करने के लिए, कैमरे की दिशा के आधार पर मेटाडेटा में फ़्लिप हॉरिज़ॉन्टल फ़्लैग को ओवरराइट करें. (I28499)
- कॉन्टेक्स्ट का इस्तेमाल करते समय, प्रोसेस शुरू करने की प्रोसेस अब क्रैश नहीं होनी चाहिए
जो इससे ऐप्लिकेशन ऑब्जेक्ट नहीं दिखाता है
Context.getApplicationContext()
. (I3d3c9, b/160817073)
Camera-Camera2 वर्शन 1.0.0-beta07
22 जुलाई, 2020
androidx.camera:camera-camera2:1.0.0-beta07
रिलीज़ हो गया है. वर्शन 1.0.0-beta07 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- Android 5.0 के लेगसी डिवाइस पर, झलक को ज़्यादा समय तक दिखाने से जुड़ी समस्या ठीक कर दी गई है. (I0c03a)
- कुछ JPEG फ़ॉर्मैट वाले साइज़ शामिल नहीं किए गए हैं, जिनकी वजह से कुछ डिवाइसों पर WYSIWYG समस्या हो सकती है. (Ib5128)
कैमरा-कोर वर्शन 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 में ये तय किए गए हैं.
एपीआई में किए गए बदलाव
- कैमरे से कैमरे फ़िल्टर करने के लिए, प्रयोग के तौर पर इस्तेमाल होने वाले इंटरफ़ेस जोड़े गए आईडी और कैमरे की विशेषताएं. (I28f61)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से startFocusAndMetering काम नहीं कर रहा है Samsung Galaxy S7 पर फ़ोकस किया जा सकता है. (If3be7, b/159039233)
- ऐप्लिकेशन से बाहर निकलने पर, कैमरे को बंद नहीं किए जाने से जुड़ी गड़बड़ी को ठीक किया गया. (I7a7b3)
- PreviewView (I920ce) के SurfaceView को लागू करने के दौरान, कैमरा स्विच करने के बार-बार होने वाले ब्रेक की झलक की समस्या को ठीक करना
CameraControl#startFocusAndMetering
की प्रोसेस पूरी नहीं होगी, अगर इनमें से कोई भी तय किया गया मीटरिंगपॉइंट, मान्य मीटरिंग रेक्टैंगल जनरेट कर सकता है. (Id53ce)
कैमरा-कोर वर्शन 1.0.0-beta06
24 जून, 2020
androidx.camera:camera-core:1.0.0-beta06
रिलीज़ हो गया है. वर्शन 1.0.0-beta06 में ये तय किए गए हैं.
एपीआई में किए गए बदलाव
- कैमरे से कैमरे फ़िल्टर करने के लिए, प्रयोग के तौर पर इस्तेमाल होने वाले इंटरफ़ेस जोड़े गए आईडी और कैमरे की विशेषताएं. (I28f61)
गड़बड़ियां ठीक की गईं
- CameraX को अब इसके साथ कॉन्फ़िगर किया जा सकता है
कॉल करने से पहले
ProcessCameraProvider#configureInstance()
ProcessCameraProvider#getInstance()
. इससे आपको अपनी साइट पर,CameraXConfig.Provider
को लागू किए बिनाCameraXConfig
ऐप्लिकेशन की क्लास में मिल जाता है. (Ia1a8d) CameraControl#startFocusAndMetering
की प्रोसेस पूरी नहीं होगी, अगर इनमें से कोई भी तय किया गया मीटरिंगपॉइंट, मान्य मीटरिंग रेक्टैंगल जनरेट कर सकता है. (Id53ce)
Camera-Camera2 वर्शन 1.0.0-beta05
10 जून, 2020
androidx.camera:camera-camera2:1.0.0-beta05
रिलीज़ हो गया है. वर्शन 1.0.0-beta05 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- जब फ़ोन 'परेशान न करें' मोड में हो, तो CameraX शुरू करते समय ऐप्लिकेशन स्टार्टअप पर होने वाले क्रैश को ठीक किया गया.
InitializationException
में ऐसाCameraUnavailableException
होता है जिसे ऐप्लिकेशन को क्रैश करने के बजाय, शुरू करने के नतीजे केListenableFuture
पर सेट किया जाएगा. (I9909a, b/149413835) startFocusAndMetering
को कॉल करने के दौरान होने वाले क्रैश को ठीक किया गया उन डिवाइसों पर जिनके लिएCONTROL_AF_STATE
उपलब्ध नहीं है. (Ife55e, b/157084254)
कैमरा-कोर वर्शन 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) - उन समस्याओं को ठीक किया गया जहां सिर्फ़ Image Capture को लिंक किया गया था: (1) MAX_QUALITY के साथ फ़ोटो नहीं ली जा सकीं; (2) ऑटो एक्सपोज़र काम नहीं करने की वजह से, खराब इमेज क्वालिटी जनरेट की गई. (I17782, b/145326998)
- कैमरा चोरी करके किसी दूसरी प्रोसेस या कोडपाथ से डिसकनेक्ट होने पर, कैमरा फिर से खोलने पर ज़्यादा भरोसा किया जा सकता है (I1fbc3, b/153714651)
कैमरा-कोर वर्शन 1.0.0-beta04
27 मई, 2020
androidx.camera:camera-core:1.0.0-beta04
रिलीज़ हो गया है. वर्शन 1.0.0-beta04 में ये कमिट हैं.
एपीआई में किए गए बदलाव
- CameraX कैमरा स्टैक के अंदर इस्तेमाल किए जाने वाले हैंडलर को सेट करने के लिए, एक्सपेरिमेंट के तौर पर इस्तेमाल होने वाला एपीआई
CameraXConfig.Builder#setSchedulerHandler()
जोड़ता है.CameraXConfig.Builder#setCameraExecutor()
के साथ इस नए एपीआई को, CameraX कैमरा स्टैक में इस्तेमाल किए जा रहे थ्रेड पर पूरा कंट्रोल देना चाहिए. (I7bf32, b/121160431)
गड़बड़ियां ठीक की गईं
ImageAnalysis
में क्रैश को ठीक किया गया है, जहांImageReaderProxy
के बंद होने के बादImageProxy
को ऐक्सेस किया जाता है. इससे यह भी पक्का हो जाता है किImageReaderProxy
के बंद होने से पहले,Analyzer
को मिले सभीImageProxy
बंद होने चाहिए. (I4b299, b/145956416, b/154155377, b/156357269)CameraInfo
पैरामीटर कोPreviewView#createSurfaceProvider()
से हटा दिया गया है.PreviewView
अब इसेSurfaceRequest
से अंदरूनी तौर पर फिर से हासिल करता है. (If18f0, b/154652477)- स्यूडो-लोकेल का इस्तेमाल करने वाले डिवाइस पर ऐप्लिकेशन का इस्तेमाल करते समय, अपने-आप शुरू होने की प्रोसेस ठीक हो जाती है. (I3bef3, b/154767663)
- फ़्लैश सक्रिय होने के बावजूद कभी-कभी बहुत अंधेरा होने की समस्या को ठीक कर दिया गया है. (I5d9fa, b/149729613)
ImageAnalysis
से जुड़ी उस समस्या को ठीक करना जिसमें setAnalytics/clearAnalyticsr को कई बार मदद मिलती है, जिसकी वजह से ऐनालाइज़र को विश्लेषण के लिए इमेज नहीं मिल रही हैं. (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
की रिलीज़ को सपोर्ट करने के लिए समाधान किए गए हैं
कैमरा-कोर वर्शन 1.0.0-beta03
15 अप्रैल, 2020
androidx.camera:camera-core:1.0.0-beta03
रिलीज़ हो गया है. वर्शन 1.0.0-beta03 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- beta03 से ठीक किया गया रिग्रेशन, जहां
bindToLifecycle()
को शून्यUseCase
के साथ कॉल करने पर अपवाद हो सकता है. इससे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)
कैमरा-कोर वर्शन 1.0.0-beta02
1 अप्रैल, 2020
androidx.camera:camera-core:1.0.0-beta02
रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये तय किए गए अपडेट शामिल हैं.
गड़बड़ियां ठीक की गईं
ImageCapture
से बनेImageProxy
केImageInfo.getRotationDegrees()
को ठीक किया गया, ताकि यह EXIF ओरिएंटेशन की रोटेशनल वैल्यू से मैच हो सके. (Id4281, b/150802561)bindToLifecycle
को ठीक किया गया, ताकि यह UseCase में सिर्फ़ तब बदलाव करे, जब वह सफलतापूर्वक बाइंड हो सके. पहलेbindToLifecycle
को कॉल करते समय, रिज़ॉल्यूशन का हिसाब लगाने के लिए, UseCase अपडेट किया जाता था. अब इसे हिसाब लगाने के लिए, UseCase को अपडेट करने की ज़रूरत नहीं है (I78d9e)- उस समस्या को ठीक किया गया है जिसकी वजह से
Preview.setSurfaceProvider()
को एक से ज़्यादा बार कॉल करने के बाद, झलक दिखाने वाला प्लैटफ़ॉर्म बदलने पर,Preview
के इस्तेमाल के उदाहरण का कैप्चर सेशन अपडेट नहीं हो रहा था.
Camera-Camera2 वर्शन 1.0.0-beta01
26 फ़रवरी, 2020
androidx.camera:camera-camera2:1.0.0-beta01
रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये कमिट मौजूद हैं.
गड़बड़ियां ठीक की गईं
SurfaceRequest.setSurface(Surface)
का नाम बदलकर यह कियाSurfaceRequest.provideSurface(Surface)
, औरSurfaceRequest.setWillNotComplete()
सेSurfaceRequest.willNotProvideSurface()
. (I224fe)- सेव की गई इमेज का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) सही न होने की समस्या को ठीक किया गया
ImageCapture.setTargetRotation()
का इस्तेमाल करके टारगेट रोटेशन वैल्यू बदलने के बाद. (I474ea, b/148763432) - ProGuard की मदद से, ऐप्लिकेशन के वैरिएंट को शुरू करने की प्रोसेस को ठीक किया गया. ऐसा करने के लिए,
फ़्लैग करने वाला फ़्लैग, जो डिफ़ॉल्ट
CameraXConfig
कंपनी को सेट करता है. (I2d6c1)
कैमरा-कोर वर्शन 1.0.0-beta01
26 फ़रवरी, 2020
androidx.camera:camera-core:1.0.0-beta01
रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये कमिट मौजूद हैं.
एपीआई में किए गए बदलाव
ListenableFuture
को बदला गयाExecutor
औरCallback
के साथSurfaceRequest.provideSurface()
. यह यह एपीआई को आसान बनाता है. इसके लिए, इसमें अपवादों को मैनेज करने की ज़रूरत नहीं होती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) - शामिल करने के लिए Flash मोड API से जुड़े दस्तावेज़ अपडेट किए गए संभावित वैल्यू. (I4a3ec)
Camera-Camera2 वर्शन 1.0.0-alpha10
10 फ़रवरी, 2020
androidx.camera:camera-camera2:1.0.0-alpha10
रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
डिवाइसों पर बेहतर स्थिरता पाने के लिए, पक्का करें किSurface
सिर्फ़ Camera2 के इस्तेमाल के दौरान ही सेव रहें. (I9dac2)CONTROL_AE_TARGET_FPS_RANGE
को ठीक से अडजस्ट करके LEGACY डिवाइसों पर कम दिखने वाली झलक की समस्या को ठीक किया गया. (1224638)
कैमरा-कोर वर्शन 1.0.0-alpha10
10 फ़रवरी, 2020
androidx.camera:camera-core:1.0.0-alpha10
रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये कमियां हैं.
एपीआई में किए गए बदलाव
Uri
औरOutputStream
में इमेज सेव करने की अनुमति देने के लिए,ImageCapture
को अपडेट किया गया. ओवरलोडेडtakePicture
तरीकों को एक में मिला दिया गया.Uri
को कैननिकल उदाहरण के तौर पर इस्तेमाल करने के लिए, टेस्ट ऐप्लिकेशन को अपडेट किया गया. (Ia3bec)Preview.PreviewSurfaceProvider
का नाम बदलकरPreview.SurfaceProvider
कर दिया गया है.SurfaceProvider
के लिए, अब डेवलपर को खुद काListenableFuture
बनाने की ज़रूरत नहीं है.Surface
देने के लिए, अब नएSurfaceRequest
ऑब्जेक्ट का इस्तेमाल किया जाता है.Preview.getPreviewSurfaceProvider()
तरीके को हटा दिया गया है, क्योंकिPreview
कोPreviewView
जैसी अन्य क्लास के साथ जोड़े जाने पर, इसका गलत इस्तेमाल हो सकता है. (I20105)getTargetRotation()
औरgetTargetName()
कोPreview
में जोड़ा गया. (Iceee7)getTargetRotation()
,getBackpressureStrategy()
, औरgetImageQueueDepth()
कोImageAnalysis
में जोड़ा गया. (I9d6d9)ImageCapture()
मेंgetTargetRotation()
औरgetCaptureMode()
जोड़े गए (I5bc17)- जो आर्ग्युमेंट पहले
ImageCapture.OnImageSavedCallback.onError()
औरImageCapture.OnImageCapturedCallback.onError()
में पास किए गए थे उन्हें अब एक आर्ग्युमेंटImageCaptureException
से बदल दिया गया है. इसमें, पहले से पास की गई सारी जानकारी शामिल है. ImageCapture.OnImageSavedCallback.onImageSaved()
में पहले दिया गया फ़ाइल आर्ग्युमेंट हटा दिया गया है. (I750d2)Preview
औरImageCapture
क्लास को अब फ़ाइनल के तौर पर मार्क किया गया है. (I2500b)- एपीआई को अपडेट किया गया, इसमें
getZoomRatio()
,getMaxZoomRatio()
,getMinZoomRatio()
औरCameraInfo
को मर्ज करने केgetLinearZoom()
तरीकेgetZoomState()
में जोZoomState
इंस्टेंस दिखाता है. (Ib19fe) - एपीआई फ़ील्ड
OPTION_TARGET_CLASS
औरOPTION_TARGET_NAME
हटाए गएCameraXConfig
से मिली जानकारी, क्योंकि इसे सिर्फ़ अंदरूनी लाइब्रेरी के इस्तेमाल के लिए बनाया गया है.CameraXConfig.Builder
के लिए कंस्ट्रक्टर हटाया गया. (I96912) - ऐप्लिकेशन में
Application
की अवधि बढ़ाने की शर्त हटाई गई CameraX शुरू करने के लिए. CameraX को अब डिफ़ॉल्ट सेटिंग के साथ शुरू किया जाएगा जब तकcamera-camera2
आर्टफ़ैक्ट शामिल है, तब तक Camera2 कॉन्फ़िगरेशन का इस्तेमाल करें ऐप्लिकेशन केbuild.gradle
में. (I58ff5) (b/146923574)
Camera-Camera2 वर्शन 1.0.0-alpha09
22 जनवरी, 2020
androidx.camera:camera-camera2:1.0.0-alpha09
रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये कमियां हैं.
एपीआई में किए गए बदलाव
Camera2 कैमरा आईडी निकालने के लिए, Camera2 इंटरऑप पाथ जोड़ें. एक्सट्रैक्ट किया जा सकता है
Camera2CameraInfo.extractCameraId()
का इस्तेमाल करके,CameraInfo
का कैमरा आईडी. नीचे दिया गया कोड सैंपल, इसे इस्तेमाल करने का तरीका बताता है:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
Camera2CameraInfo
क्लास के लिए,ExperimentalCamera2Interop
की ज़रूरत होती है MarkClass.
कैमरा-कोर वर्शन 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
और इसके संबंध में फ़ोकस और मीटरिंग API के लिए Java फ़ाइलें सुधार 3A फ़्लैग औरDisplay
पैरामीटर का इस्तेमाल.setZoomRatio
औरsetLinearZoom
के लिए, पहचान दस्तावेज़ को बड़ा किया गया.
गड़बड़ियां ठीक की गईं
- कैमरे बंद करने और फिर उन्हें खोलने पर आने वाली समस्याओं को ठीक कर दिया गया है, जिसकी वजह से "पहले से स्थिति" दिखती है और देखें कि सिस्टम सही नहीं है.
- टॉर्च का इस्तेमाल करने पर हो सकने वाले
ConcurrentModificationException
को ठीक किया गया और Zoom API का इस्तेमाल करें. - अनुरोध किए गए समाधान के करीब होने पर, अब उस समस्या को ठीक कर दिया गया है जिसे 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 इंटरऑप पाथ जोड़ा गया है.
कैमरा-कोर वर्शन 1.0.0-alpha08
18 दिसंबर, 2019
androidx.camera:camera-core:1.0.0-alpha08
रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये कमिट शामिल हैं.
आम समस्याएं
PreviewView
याCameraView
का इस्तेमाल करने वाले ऐप्लिकेशन में, आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) की झलक गलत दिख सकती है. ऐसा, Pixel2 जैसे कुछ FULL डिवाइसों पर कॉन्टेंट को रोकने या फिर से चालू करने के बाद होता है.
गड़बड़ियां ठीक की गईं
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
रिलीज़ हो गया है. कैमरा-camera2 के 1.0.0-alpha07 में ये कमिट शामिल हैं
Camera2Config
का इस्तेमाल अब CameraX के लिए, Camera2 पर आधारित लागू करने की प्रोसेस को शुरू और कॉन्फ़िगर करने के लिए किया जा सकता है. रिलीज़ नोट के कैमरा-कोर सेक्शन में, शुरू करने के लिए इसका इस्तेमाल करने के तरीके के बारे में ज़्यादा जानकारी दी गई है.- काम कर रहे Camera2 इंटरऑप को अब एक्सपेरिमेंट के तौर पर मार्क किया गया है और इसे एक अलग पैकेज
androidx.camera.camera2.interop.
में ले जाया गया है
कैमरा-कोर वर्शन 1.0.0-alpha07
4 दिसंबर, 2019
androidx.camera:camera-core:1.0.0-alpha07
रिलीज़ हो गया है. कैमरा-कोर के वर्शन 1.0.0-alpha07 में ये कमिट शामिल हैं
ध्यान दें कि इस ऐल्फ़ा वर्शन के बीटा वर्शन में कुछ अहम बदलाव किए गए हैं. हमारा सुझाव है कि आप इन बदलावों की समीक्षा करें और अगर आपका कोई सुझाव या राय है, तो उसे CameraX Google ग्रुप में शेयर करें. Play Store पर मौजूद ऐप्लिकेशन में CameraX का इस्तेमाल करने वाले उन डेवलपर के लिए, हमारा सुझाव है कि आप अपने ऐप्लिकेशन में लाइब्रेरी को अपग्रेड करने से पहले औपचारिक बीटा रिलीज़ का इंतज़ार करें.
एपीआई में किए गए बदलाव
अहम जानकारी: CameraX को शुरू करने की सेटिंग बदल गई है. ऐप्लिकेशन को
CameraXConfig.Provider
लागू करना चाहिए औरandroidx.camera.camera2
के डिफ़ॉल्टCamera2Config
का इस्तेमाल करना चाहिए. आम तौर पर, इसे ऐसे ही इस्तेमाल करना होता है:import androidx.camera.camera2.Camera2Config import androidx.camera.core.CameraXConfig public class MyCameraXApplication : Application(), CameraXConfig.Provider { override fun getCameraXConfig(): CameraXConfig { return Camera2Config.defaultConfig(this) } }
CameraX क्लास हटा दी गई है. CameraX क्लास कॉल में पहले दिए गए
bindToLifecycle()
,unbind()
,unbindAll()
,isBound()
, औरhasCamera()
, अबProcessCameraProvider
के ज़रिए उपलब्ध हैं.हर प्रोसेस के हिसाब से
ProcessCameraProvider
इंस्टेंस, एसिंक्रोनस तरीके से पाने के लिए स्टैटिक तरीकेProcessCameraProvider.getInstance()
का इस्तेमाल किया जाता है. इससे, सूची चालू करने वाला भविष्य मिलता है, जिससेProcessCameraProvider
पूरा होने पर यह जानकारी मिलती है. आम तौर पर इस्तेमाल किए जाने पर, यह जानकारीonCreate()
में दिखती है. गतिविधि के लाइफ़साइकल मेंgetInstance()
पर बाद में कॉल किया जा सकता है, ताकि शुरू होने में लगने वाले समय को बाद के समय तक टाला जा सके. जैसे, जब उपयोगकर्ता की कार्रवाई से कैमरा यूज़र इंटरफ़ेस (यूआई) खुलता है.import androidx.camera.lifecycle.ProcessCameraProvider import com.google.common.util.concurrent.ListenableFuture class MainActivity : AppCompatActivity() { private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider> override fun onCreate(savedInstanceState: Bundle?) { cameraProviderFuture = ProcessCameraProvider.getInstance(this); }
getInstance()
के ज़रिए लौटाए गएListenableFuture
में लिसनर जोड़ा जा सकता है. इससे यह पक्का होता है कि कैमरा कंपनी कोFuture.get()
पर ब्लॉक किए बिना,Future
से वापस लाया जा सकता हैcameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))
हर बार इस्तेमाल के उदाहरण के बजाय, अब कैमरा चुनने वाला टूल इस्तेमाल करके कैमरे को चुना जाता है
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
CameraProvider.bindToLifecycle
को लाइफ़साइकल मालिक, कैमरा चुनने वाला, और इस्तेमाल के उदाहरण दिए जाते हैं. इसके बाद, ये लाइफ़साइकल मालिक के साथ जुड़े होते हैं और चुने गए कैमरे के लिए चलते हैं.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)
इस्तेमाल के उदाहरण वाली “कॉन्फ़िगरेशन” वाली क्लास हटा दी गई हैं. इसके बजाय, इस्तेमाल के उदाहरण सीधे तैयार करें और हर यूज़ केस बिल्डर पर विकल्प सेट करें. उदाहरण के लिए:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
झलक के इस्तेमाल के उदाहरण को अपडेट कर दिया गया है, ताकि ऐप्लिकेशन के बनाए और मैनेज किए जाने वाले प्लैटफ़ॉर्म को स्वीकार किया जा सके. इससे यह पक्का किया जा सकेगा कि Android के सबसे सही तरीके इस्तेमाल किए जा रहे हैं. हमारा सुझाव है कि आप कैमरा व्यू पैकेज में दी गई
PreviewView
व्यू क्लास का इस्तेमाल करें.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
ऐप्लिकेशन से मैनेज किए जाने वाले प्लैटफ़ॉर्म को अटैच करने के बारे में जानकारी देने वाले दस्तावेज़ देखें. इन मामलों में, ऐप्लिकेशन सरफ़ेस के लाइफ़साइकल को मैनेज करता है.
अहम जानकारी:
ImageAnalysis
ऐनालाइज़र तरीके को लागू करने के दौरान, जो इमेज मिली हैं उन परimage.close()
को कॉल करने के बाद ही उनका इस्तेमाल किया जा सकता है. ऐसा न करने पर, हो सकता है कि नई इमेज न मिलें या कैमरा काम करना बंद कर दे. ऐसा, पीछे के दबाव की सेटिंग की वजह से होता है. ज़्यादा जानकारी के लिए, रेफ़रंस दस्तावेज़ देखें.ImageAnalysis ImageReaderMode
को अब बैकप्रेशर रणनीतिintdef
में बदल दिया गया है.ImageProxy.getImage()
को प्रयोग के तौर पर मार्क किया गया है. ऐप्लिकेशन को@androidx.camera.core.ExperimentalGetImage
के ज़रिए, उदाहरण के तौर पर इस्तेमाल के बारे में बताना चाहिएAnalyzer
के लिए,UIThread
एनोटेशन की ज़रूरी शर्त को हटा दिया गया है.विश्लेषण करने वाले किसी टूल को हटाने के लिए,
ImageAnalysis.clearAnalyzer()
फ़ंक्शन जोड़ा जाता है.एक से ज़्यादा तरीके वाले लिसनर का नाम बदलकर कॉलबैक कर दिया गया है:
ImageCapture.OnImageCapturedListener
अबImageCapture.OnImageCapturedCallback
हो गया हैImageCapture.OnImageSavedListener
अबImageCapture.OnImageSavedCallback
हो गया हैVideoCapture.OnVideoSavedListener
अबVideoCapture.OnVideoSavedCallback
हो गया है
Enums को IntDef में बदल दिया गया है
ज़ूम कंट्रोल जोड़ दिए गए हैं:
CameraControl.setLinearZoom()
CameraControl.setZoomRatio()
CameraInfo.getLinearZoom()
CameraInfo.getMaxZoomRatio()
CameraInfo.getZoomRatio()
CameraInfo.hasFlashUnit()
को यह पता लगाने के लिए जोड़ा जाता है कि फ़्लैश/टॉर्च हार्डवेयर मौजूद है या नहीं.CameraInfo.isFlashAvailable()
को हटा दिया गया है. टॉर्च, फ़्लैश की सुविधा को बदल देती है. पहचान फ़ाइल में ज़्यादा जानकारी शामिल है.ImageCapture.Metadata
फ़ील्ड को ऐक्सेसर पाएं/सेट करें/इस फ़ील्ड से बदल दिया जाता है.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()
को जोड़ा गया. इससे इस्तेमाल के उदाहरण के आउटपुट के लिए, आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) की जानकारी मिलती है. - इमेज कैप्चर के लिए
setTargetAspectRatio(Rational aspectRatio)
तरीके कोsetTargetAspectRatioCustom(Rational aspectRatio)
में बदल दिया गया है. सेट होने पर, Image Capture आउटपुट उसके हिसाब से कटता है.
एक्ज़िकेटर एपीआई
- नीचे दिए गए फ़ंक्शन एक एक्ज़ीक्यूटिव पैरामीटर स्वीकार करते हैं, जिससे ऐप्लिकेशन यह कंट्रोल कर सकता है कि फ़ंक्शन किस एक्ज़ीक्यूटर को चलाएगा.
Preview.setOnPreviewOutputUpdateListener()
एपीआई. अगर उस फ़ंक्शन के लिए एक्ज़ीक्यूटर मौजूद नहीं है, तो वह मुख्य थ्रेड पर काम करता है.Preview.setOnPreviewOutputUpdateListener
FocusMeteringAction.Builder.setAutoFocusCallback
ImageAnalysis.setAnalyzer
ImageCapture.takePicture
CameraView.takePicture
CameraView.startRecording
VideoCapture.startRecording
Flash की जांच की सुविधा और सेंसर रोटेशन एपीआई की मदद से CameraInfo जोड़ी गई
CameraInfo
औरgetCameraInfo
तरीका जोड़ा गया. इससे ऐप्लिकेशन यह पता लगा पाते हैं कि CameraInfo की स्क्रीन वाला लेंस उपलब्ध है या नहीं. साथ ही, उस कैमरे में फ़्लैश उपलब्ध है या नहीं. उदाहरण के लिए:try { CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing); LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable(); flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE); } catch (CameraInfoUnavailableException e) { Log.w(TAG, "Cannot get flash available information", e); flashToggle.setVisibility(View.VISIBLE); }
CameraInfo.getSensorRotationDegrees()
को जोड़ा गया. यह डिवाइस के प्राकृतिक ओरिएंटेशन के संबंध में या सुविधा के लिए, सर्फ़ेस रोटेशन (जो नैचुरल ओरिएंटेशन के संबंध में ओरिएंटेशन की जानकारी देता है) के ज़रिए बताए गए ओरिएंटेशन के मुताबिक, कैमरा सेंसर ओरिएंटेशन दिखाता है.
एपीआई में बदलाव और गड़बड़ियां ठीक की गईं
- आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात): इस्तेमाल के हर उदाहरण के लिए, ऐप्लिकेशन को
setTargetResolution()
याsetTargetAspectRatio()
में से किसी एक को ही कॉल करना चाहिए. एक ही बिल्डर पर दोनों को कॉल करने से गड़बड़ी वाला मैसेज मिलता है.- आम तौर पर, ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) डिज़ाइन के आधार पर
setTargetAspectRatio()
का इस्तेमाल करने का सुझाव दिया जाता है. इस्तेमाल के उदाहरण के आधार पर, समाधान तय किए जाते हैं. उदाहरण के लिए, झलक में स्क्रीन रिज़ॉल्यूशन के करीब होता है और इमेज कैप्चर से आपको हाई रिज़ॉल्यूशन वाली इमेज मिलती हैं. ज़्यादा जानकारी के लिए, अपने-आप होने वाले रिज़ॉल्यूशन की टेबल देखें. - ज़्यादा खास मामलों के लिए,
setTargetResolution()
का इस्तेमाल करें. उदाहरण के लिए, कम से कम (कैलकुलेट करना) सेव करने के लिए या ज़्यादा से ज़्यादा रिज़ॉल्यूशन (प्रोसेसिंग की जानकारी के लिए) की ज़रूरत हो.
- आम तौर पर, ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) डिज़ाइन के आधार पर
- एक्ज़िक्यूटर एपीआई: इस्तेमाल के उदाहरण के कॉन्फ़िगरेशन वाले एपीआई से,
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
रिलीज़ हुई हैं. ये कैमरा-camera2:1.0.0-alpha05 में शामिल किए गए कमिट और ये किए गए कैमरा-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);
मुख्य (UI) थ्रेड पर निम्न विधियों को कॉल करने को लागू करें,
IllegalStateException
, जब वे नहीं हैं. आने वाले वर्शन में, अन्य थ्रेड में देख सकते हैं और सीरियलाइज़ेशन पक्का कर सकते हैं.CameraX.bindToLifecycle()
CameraX.unbind()
CameraX.unbindAll()
ImageAnalysis.setAnalyzer()
ImageAnalysis.getAnalyzer()
ImageAnalysis.removeAnalyzer()
Preview.removePreviewOutputListener()
Preview.getOnPreviewOutputUpdateListener()
Preview.setOnPreviewOutputUpdateListener()
कई कॉन्फ़िगरेशन सेटिंग अब शून्य पैरामीटर स्वीकार करती हैं और संबंधित गैटर शून्य वैल्यू दिखा सकते हैं.
AF/AE/AWB सेटिंग का समर्थन न करने वाले एम्युलेटर पर परीक्षण करते समय आने वाली समस्या ठीक की गई.
चित्र का विश्लेषण करते समय रोटेशन पर होने वाले क्रैश बग को ठीक किया गया.
इस बग का समाधान किया गया है जहां पूर्वावलोकन शुरू होने पर (कैमरा डेटा नहीं है) काला दिखाई देता है, सामने और पीछे वाले कैमरे के बीच रोटेशन या स्विच करने के बाद इसे ठीक कर दिया गया है.
एक साथ कई इमेज के विश्लेषण के इस्तेमाल के उदाहरण की टेस्टिंग हटाई गई. यह पक्का करने के लिए कि इमेज सही से काम करे, ऐप्लिकेशन को सिर्फ़ एक इमेज के विश्लेषण के लिए इस्तेमाल का उदाहरण अटैच करना चाहिए.
कैमरा टेस्टिंग सुइट (डब्ल्यूआईपी) में, नकली कैमरे के लिए शुरुआती रोबोलेक्टिक टेस्ट जोड़े गए.
Camera2Inititalizer टेस्ट को हटा दिया गया है, क्योंकि इसका कवरेज साफ़ तौर पर नहीं बताया गया था या गुमराह करने वाला था.
Camera-Camera2 और Camera-Core वर्शन 1.0.0-alpha04
7 अगस्त, 2019
androidx.camera:camera-camera2:1.0.0-alpha04
और androidx.camera:camera-core:1.0.0-alpha04
रिलीज़ हुई हैं. वर्शन 1.0.0-alpha04 में ये कमिट शामिल हैं.
नई सुविधाएं
आसपेक्ट रेशियो और रिज़ॉल्यूशन चुनने में बदलाव
CameraX का मकसद, कैमरा सेशन शुरू करना है. इसका मतलब है कि CameraX, डिवाइस की क्षमता के आधार पर रिज़ॉल्यूशन/आसपेक्ट रेशियो के साथ छेड़छाड़ करता है, ताकि पहला लक्ष्य कैप्चर सेशन शुरू करना हो. इस वजह से, हो सकता है कि सटीक अनुरोधों पर कार्रवाई न की जाए. ऐसा इन वजहों से हो सकता है:
- डिवाइस, अनुरोध किए गए रिज़ॉल्यूशन के साथ काम नहीं कर रहे हैं
- साथ काम करने से जुड़ी समस्याएं, जैसे कि LEGACY डिवाइस पर सही तरीके से काम करने के लिए, कुछ रिज़ॉल्यूशन का इस्तेमाल करना ज़रूरी है
- कुछ डिवाइसों पर, कुछ फ़ॉर्मैट सिर्फ़ चुनिंदा आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) में उपलब्ध होते हैं
- JPEG या वीडियो एन्कोडिंग के लिए “निकटतम mod16” की प्राथमिकता.
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
देखें
हालांकि CameraX सेशन बनाता और उसे मैनेज करता है, लेकिन आपको हमेशा जांच करनी चाहिए आपके कोड में इस्तेमाल के उदाहरण वाले आउटपुट में, दिखाई गई इमेज का साइज़ और उसे अडजस्ट करने के लिए भुगतान करते हैं.
रिज़ॉल्यूशन और आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) सेट करने के लिए, कुछ बदलाव किए गए हैं. इनका मकसद, एपीआई को बेहतर बनाना है:
- अब झलक के इस्तेमाल के उदाहरण को डिफ़ॉल्ट 4:3 आसपेक्ट रेशियो वाला माना जाता है. ऐसा तब होता है, जब कोई भी आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) सेट नहीं होता.
- जब CameraX, डिवाइस की क्षमता के हिसाब से अनुरोध किए गए रिज़ॉल्यूशन और आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) में बदलाव करता है, तब वह सबसे पहले आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) को एक जैसा बनाए रखने की कोशिश करता है. इसे
setTargetAspectRatio
याsetTargetResolution
में से किसी भी कॉल से तय किया जाता है - रिज़ॉल्यूशन के “निकटतम mod16” वर्शन को समान आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) माना जाता है.
ImageAnalysis को ब्लॉक न करने वाला मोड
ImageReaderMode.ACQUIRE_LATEST_IMAGE
की सुविधा अब ब्लॉक नहीं कर रही है. यह सूची में मौजूद नई इमेज को हासिल करता है, लेकिन इस्तेमाल न की गई इमेज को लगातार खारिज करता रहता है, ताकि कैमरा पाइपलाइन को ब्लॉक होने से बचाया जा सके.- ऐनालाइज़र, पाइपलाइन रोके बिना किसी एक इमेज को हमेशा के लिए होल्ड कर सकता है.
- अगर ऐप्लिकेशन ऐसा एक्ज़ीक्यूटर उपलब्ध कराता है जो ब्लॉक करने के बाद ब्लॉक करता है, तो ImageAnalysis का इस्तेमाल केस ब्लॉक करने के लिए किया जाता है.
- डिफ़ॉल्ट एक्ज़िक्यूटर सेट आंतरिक रूप से गैर-ब्लॉक करने वाले एक्ज़ीक्यूटर की तरह काम करता है.
गड़बड़ियां ठीक की गईं
- ऑटो-फ़ोकस, ऑटो-एक्सपोज़र, और ऑटो-व्हाइटबैलेंस वाले डिवाइसों पर इमेज कैप्चर करने के दौरान, 3A तक प्रोसेस होने के दौरान मिलने वाली टाइम आउट से जुड़ी समस्याओं को ठीक किया गया
- Image Capture से तेज़ी से फ़ोटो लेते समय समस्या को ठीक किया गया. गड़बड़ी ठीक की गई:
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” के लिए JavaScript की जानकारी जोड़ी गई
कैमरा-कोर
- तेज़ी से खुलने/बंद करने या बाइंड/अनबाइंड करने पर कॉन्फ़िगर नहीं किए गए इनपुट/आउटपुट सरफ़ेस क्रैश की समस्या ठीक की गई
- नए 'फ़्यूचर्स' प्लैटफ़ॉर्म पर स्विच करें
- बेहतर तरीके से टेस्ट करने के लिए गड़बड़ियों की जांच करना
- कोर इंटिग्रेशन टेस्ट में, अब फ़ोटो कैप्चर करने में लगने वाला समय दिखता है
- एक्ज़िक्यूटर के लिए, इंटरनल कॉम्पैट क्लास डेवलप की गई
- टाइमिंग टेस्ट ऐप्लिकेशन से इमेज कैप्चर करने की प्रोसेस, पिछली इमेज के पूरा होने का इंतज़ार करती है बेहतर स्टेबिलिटी
एक्सटेंशन
- वर्शन की जांच जोड़ी गई
- अतिरिक्त टेस्ट कवरेज - एक्सटेंशन इवेंट कॉलबैक
- आंतरिक रूप से संगत इमेज और मेटा-डेटा के लिए सुधार
- टेस्ट ऐप्लिकेशन में मोड स्विच करने की सुविधा को ठीक किया गया
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 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- एम्युलेटर का इस्तेमाल करने पर, div को शून्य से जुड़ी समस्या ठीक की गई
- कुछ डिवाइसों पर, तेज़ी से फ़ोटो लेने पर होने वाली NullPointerअपवाद/Surface छोड़ी गई गड़बड़ी को ठीक किया गया. साथ ही, इस्तेमाल के उदाहरणों को अनबाइंड करते हुए, उन्हें फिर से बाइंड करने के लिए.
- संगठन में होने वाली समस्या को ठीक किया गया है, ताकि यह पक्का किया जा सके कि कैप्चर करने के अनुरोध से जुड़े अपडेट, सभी प्लैटफ़ॉर्म पर लगातार असर डालते हों
- ऐप्लिकेशन के नए इंस्टेंस में इस्तेमाल के उदाहरणों को फिर से शुरू करने पर, स्थिरता में सुधार होगा
- एपीआई में काम करने वाले एक्ज़ेक्यूटर की तैयारी के लिए, अंदरूनी आर्किटेक्चर में बदलाव
- CameraX क्लास और लाइफ़साइकल मैनेजमेंट के बारे में Javadoc से जुड़ी अन्य जानकारी
- Antelope के परफ़ॉर्मेंस टेस्ट ऐप्लिकेशन के लिए, इंस्ट्रुमेंटेड टेस्टिंग की सुविधा जोड़ी गई
- '-keepएट्रिब्यूट हस्ताक्षर' की ज़रूरत हटाएं ऐप्लिकेशन ProGuard कॉन्फ़िगरेशन में
कैमरा-कैमरा2 और कैमरा-कोर 1.0.0-alpha01
7 मई, 2019
androidx.camera:camera-core:1.0.0-alpha01
और
androidx.camera:camera-camera2:1.0.0-alpha01
रिलीज़ हो गई हैं. वर्शन 1.0.0-alpha01 में ये कमिट शामिल हैं.
Camera-lifecycle वर्शन 1.0.0-beta11
14 अक्टूबर, 2020
androidx.camera:camera-lifecycle:1.0.0-beta11
रिलीज़ हो गया है. वर्शन 1.0.0-beta11 में ये तय किए गए हिस्से शामिल हैं.
गड़बड़ियां ठीक की गईं
<UseCase>.getTargetRotation()
,Surface.ROTATION_0
लौटाएगा अगर कैमरा इंस्टेंस के साथ अटैच किए जाने से पहले कॉल किया जाता है, अगर targetRotation को Builder या UseCase पर सेट किया गया है. (I80fcd)
कैमरा-लाइफ़साइकल वर्शन 1.0.0-beta10
23 सितंबर, 2020
androidx.camera:camera-lifecycle:1.0.0-beta10
रिलीज़ हो गया है. वर्शन 1.0.0-beta10 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ करें
Camera-lifecycle वर्शन 1.0.0-beta09
16 सितंबर, 2020
androidx.camera:camera-lifecycle:1.0.0-beta09
रिलीज़ हो गया है. वर्शन 1.0.0-beta09 में ये कमिट हैं.
Camera-lifecycle वर्शन 1.0.0-beta08
19 अगस्त, 2020
androidx.camera:camera-lifecycle:1.0.0-beta08
रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- कॉन्टेक्स्ट का इस्तेमाल करते समय, प्रोसेस शुरू करने की प्रोसेस अब क्रैश नहीं होनी चाहिए
जो इससे ऐप्लिकेशन ऑब्जेक्ट नहीं दिखाता है
Context.getApplicationContext()
. (I3d3c9, b/160817073)
Camera-lifecycle वर्शन 1.0.0-beta07
22 जुलाई, 2020
androidx.camera:camera-lifecycle:1.0.0-beta07
रिलीज़ हो गया है. वर्शन 1.0.0-beta07 में ये कमिट हैं.
Camera-lifecycle वर्शन 1.0.0-beta06
24 जून, 2020
androidx.camera:camera-lifecycle:1.0.0-beta06
रिलीज़ हो गया है. वर्शन 1.0.0-beta06 में ये तय किए गए हैं.
एपीआई में किए गए बदलाव
- CameraX को अब इसके साथ कॉन्फ़िगर किया जा सकता है कॉल करने से पहले OrderCameraProvider#configureInstance() प्रोसेसCameraProvider#getInstance(). इससे आपको अपनी साइट पर, CameraXConfig.Provider को लागू किए बिना ऐप्लिकेशन की क्लास में मिल जाता है. (Ia1a8d)
Camera-lifecycle वर्शन 1.0.0-beta05
10 जून, 2020
androidx.camera:camera-lifecycle:1.0.0-beta05
रिलीज़ हो गया है. वर्शन 1.0.0-beta05 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- जब फ़ोन 'परेशान न करें' मोड में हो, तो CameraX शुरू करते समय ऐप्लिकेशन शुरू होने पर होने वाले क्रैश को ठीक किया गया.
InitializationException
में मौजूदCameraUnavailableException
को ऐप्लिकेशन को क्रैश करने के बजाय, इन्टिअलाइज़ेशन नतीजे केListenableFuture
पर सेट किया जाएगा. (I9909a, b/149413835)
Camera-lifecycle वर्शन 1.0.0-beta04
27 मई, 2020
androidx.camera:camera-lifecycle:1.0.0-beta04
रिलीज़ हो गया है. वर्शन 1.0.0-beta04 में ये कमिट हैं.
Camera-lifecycle वर्शन 1.0.0-beta03
15 अप्रैल, 2020
androidx.camera:camera-lifecycle:1.0.0-beta03
रिलीज़ हो गया है. वर्शन 1.0.0-beta03 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- beta03 से ठीक किया गया रिग्रेशन, जहां
bindToLifecycle()
को शून्यUseCase
के साथ कॉल करने पर अपवाद हो सकता है. इससे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 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- बाइंड टूलाइफ़साइकल, अनबाइंडिंग, और अनबाइंड सभी तरीकों में
@MainThread
व्याख्या जोड़ी गई. (I990d2)
Camera-lifecycle वर्शन 1.0.0-alpha03
22 जनवरी, 2020
androidx.camera:camera-lifecycle:1.0.0-alpha03
रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये कमियां हैं.
अपडेट
- कैमरा कोर और 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
रिलीज़ हो गया है. कैमरा-लाइफ़साइकल के 1.0.0-alpha01 वर्शन में ये कमिट शामिल हैं
एपीआई नोट
LifeCycleCameraProvider
इंटरफ़ेस उपलब्ध कराते हुए, कैमरा-लाइफ़साइकल आर्टफ़ैक्ट जोड़ा जाता है. साथ ही,ProcessCameraProvider
नाम का एक तरीका भी जोड़ा जाता है. इससे पिछली CameraX क्लास के कई फ़ंक्शन कोर मुख्य तौर पर उपलब्ध कराया जाता है और इसेgetInstance()
तरीके से हासिल किया जाता है.- CameraX का इस्तेमाल करने के लिए, ऐप्लिकेशन में कैमरा-लाइफ़साइकल लाइब्रेरी शामिल होनी चाहिए.
ProcessCameraProvider
का इस्तेमाल करके CameraX को शुरू करने का तरीका जानने के लिए, कैमरा-कोर सेक्शन में नोट देखें.
कैमरा-एक्सटेंशन और कैमरा-व्यू वर्शन 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) - कैमरा एक्सटेंशन आर्टफ़ैक्ट के लिए api फ़ाइलें अपडेट करें. (If683a, b/161377155)
गड़बड़ियां ठीक की गईं
VideoCapture
को लिंक करने पर, ऐप्लिकेशन को एक्सटेंशन मोड चालू करने की अनुमति न दें. CameraX एक्सटेंशन सिर्फ़ImageCapture
औरPreview
के साथ काम करते हैं. फ़िलहाल,VideoCapture
का इस्तेमाल नहीं किया जा सकता. अगर ऐप्लिकेशन,VideoCapture
को बाइंड करता है और किसी भी एक्सटेंशन मोड को चालू करता है, तोIllegalArgumentException
दी जाएगी. (I0d87b)- नतीजे का सेट खाली होने पर,
CameraSelector#filter
अबIllegalArgumentException
नहीं दिखाता है. (I27804) ExtensionsManager#getInstance
एपीआई का नाम बदलकरgetInstanceAsync
किया गया, क्योंकि यहListenableFuture
दिखाता है. फ़ंक्शन के नाम का एसिंक्रोनस सफ़िक्स साफ़ तौर पर बता सकता है कि यह एक एसिंक्रोनस फ़ंक्शन है. (I279d2)ExtensionsManager#getEstimatedCaptureLatencyRange
एपीआई से रिज़ॉल्यूशन पैरामीटर को हटा दें. ऐसा इसलिए, क्योंकि उपयोगकर्ता यह नहीं जान सकते किImageCapture
के इस्तेमाल के उदाहरण के लिए कौनसे साइज़ काम करते हैं. साथ ही, वे यह भी पता नहीं लगा सकते कि इंतज़ार के समय के बारे में दी गई जानकारी, कैप्चर करने के ज़्यादा से ज़्यादा आउटपुट साइज़ के लिए है या इनपुट रिज़ॉल्यूशन के पैरामीटर के लिए. (I74bb2)ExtensionsManager
फ़ंक्शन केCameraProvider
पैरामीटर कोgetInstance()
एपीआई में ले जाएं. इससे उपयोगकर्ताओं कोExtensionsManager
फ़ंक्शन को कॉल करते समय, हर बारCameraProvider
पैरामीटर डालने की ज़रूरत नहीं पड़ती. (Ic7e48)
वर्शन 1.0.0-alpha31
17 नवंबर, 2021
androidx.camera:camera-extensions:1.0.0-alpha31
और androidx.camera:camera-view:1.0.0-alpha31
रिलीज़ हुई हैं. वर्शन 1.0.0-alpha31 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- CameraSelector के आधार पर, CameraInfos की सूची को फ़िल्टर करने के लिए, सार्वजनिक एपीआई में CameraSelector#filter जोड़ा गया. (I105d0)
गड़बड़ियां ठीक की गईं
- कुछ डिवाइसों पर एक्सटेंशन मोड को तेज़ी से स्विच करने पर होने वाले क्रैश को ठीक किया गया. (आईबीफ़)
वर्शन 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 क्लास में @RequestApi(21) एनोटेशन जोड़ा गया हो और AndroidManifest.xml से minSdkVersion को हटा दिया गया है. इससे, कैमरा-कोर को उन ऐप्लिकेशन में आसानी से इंटिग्रेट किया जा सकता है जिनमें minSdkVersion 21 से कम है, लेकिन शर्त के साथ कोड पाथ का इस्तेमाल करना चाहते हैं जो एपीआई 21 और उसके बाद के वर्शन का इस्तेमाल करते हैं. ऐसे किसी भी ऐप्लिकेशन के लिए जिसके साथ minSdkVersion 21 या उसके बाद के वर्शन पर, इस बदलाव के लिए किसी कार्रवाई की ज़रूरत नहीं है. (Ie7f2e, b/200599470)
गड़बड़ियां ठीक की गईं
- ProGuard चालू होने पर AbsactMethodError समस्या ठीक की गई. (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 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- प्रयोग के तौर पर इस्तेमाल किए जाने वाले समूह का इस्तेमाल करके की गई व्याख्या को हटा दिया गया है. ऐसा इसलिए किया गया है, क्योंकि एपीआई अब प्रयोग के तौर पर नहीं चल रहे हैं. (I01ef5)
RotationProvider#removeAllListeners()
हटाएं. इसके बजाय, कृपयाRotationProvider#removeListener(...)
का इस्तेमाल करें. (Id9d4a)- RotationReceiver क्लास को अपडेट किया गया: सेट/क्लियर लिसनर को जोड़ने/हटाने/हटाया जाने के लिए, लिसनर के उस वैरिएशन को हटाएं जो डिफ़ॉल्ट रूप से मुख्य थ्रेड का इस्तेमाल करता है और अलग-अलग तरीकों की व्याख्या करता है. (Ib1669)
गड़बड़ियां ठीक की गईं
- एक्सटेंशन मोड से किए गए काम को सही ढंग से दिखाने के लिए, एक्सटेंशन मोड#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 में ये कमिट हैं.
एपीआई में किए गए बदलाव
- प्रायोगिकUseCaseGroupलाइफ़साइकल एनोटेशन को अब हटा दिया गया है, क्योंकि एपीआई अब प्रयोग के तौर पर नहीं हैं. (I17b85)
- RotationListener का नाम बदला गया है और इसका नाम बदलकर RotationProvider किया गया है. यह थोड़े अलग एपीआई के साथ पहले की तरह ही सुविधा देना जारी रखता है. (Idffc5)
- TAP_TO_FOCUS_UN अडैप्टर को नाम बदलकर TAP_TO_FOCUS_NOT_FOCUSE और TAP_TO_FOCUS_ उपयुक्त नाम से TAP_TO_FOCUS_FOCUSE. बनाया गया OutputSize फ़ाइनल (I099fa)
गड़बड़ियां ठीक की गईं
- अब काम नहीं करने वाली
<EffectName><UseCase>Extender
क्लास, extensionsErrorListener, और उससे जुड़े extensionsManager API को हटाया गया. (I3b8c3)
वर्शन 1.0.0-alpha27
21 जुलाई, 2021
androidx.camera:camera-extensions:1.0.0-alpha27
और androidx.camera:camera-view:1.0.0-alpha27
रिलीज़ हुई हैं. वर्शन 1.0.0-alpha27 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- व्यूपोर्ट एपीआई को प्रयोग से बाहर करके प्रमोट किया गया. एपीआई की एक्सपेरिमेंट के तौर पर शुरू की गई जानकारी हटाएं. (I717ea)
CoordinateTransform#getTransform
का नाम बदलकरCoordinateTransform#transform
किया गया. साथ ही, JavaDoc (I864ae) को अपडेट किया गया
गड़बड़ियां ठीक की गईं
- Compose के यूज़र इंटरफ़ेस (यूआई) के साथ इस्तेमाल करने पर,
PreviewView PERFORMANCE
मोड में खिंचाव की समस्या ठीक की गई. (Ie1137, b/183864890)
वर्शन 1.0.0-alpha26
30 जून, 2021
androidx.camera:camera-extensions:1.0.0-alpha26
और androidx.camera:camera-view:1.0.0-alpha26
रिलीज़ हुई हैं. वर्शन 1.0.0-alpha26 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- एक नया तरीका जोड़ें
CameraController#getTapToFocusState()
, जो फ़ोकस करने पर टैप करने से मिले हाल के नतीजे दिखाता है. (Iaccb0) - CameraController में और ज़्यादा कैमरा-कोर सुविधाएं जोड़ना: टारगेट आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात), टारगेट रिज़ॉल्यूशन, कैप्चर मोड, CameraControl, और कस्टम एक्ज़िक्यूटर के लिए गैटर/सेटर. (Iea8f2)
- एक RotationReceiver क्लास जोड़ें जिसे सतह रोटेशन के बदलाव मिलते हैं. इसका इस्तेमाल डिवाइस के फ़िक्स्ड पोर्ट्रेट/लैंडस्केप मोड में होने पर, रोटेशन का टारगेट सेट करने के लिए किया जा सकता है. (Ib278f)
- एक्सटेंशन मैनेजर क्लास में नए getअनुमानितLatencyRange सार्वजनिक एपीआई दिखाए गए हैं. (I6a8ec)
- अब इस्तेमाल नहीं किया जा सकने वाला SalesErrorListener. फ़िलहाल, इस इंटरफ़ेस का इस्तेमाल सिर्फ़ यह मॉनिटर करने के लिए किया जाता है कि एक्सटेंशन मोड को चालू करते समय, Preview या Image Capture की कमी है या नहीं. CameraX अपने-आप एक और Preview या Image Capture जोड़ देगा, ताकि एक्सटेंशन फ़ंक्शन सही तरीके से काम कर सकें. इसके बाद, इस इंटरफ़ेस से किसी भी गड़बड़ी की रिपोर्ट नहीं की जाएगी. (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 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- प्रयोग के तौर पर इस्तेमाल किए जाने वाले CameraFilter एपीआई अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं और औपचारिक तौर पर एपीआई बनाए जा सकते हैं. एनोटेशन वाले ऑप्ट-इन के बिना उनका इस्तेमाल किया जा सकता है. (I4bc94)
- एक ऐसी उपयोगिता जोड़ें जो इस्तेमाल के उदाहरणों के बीच निर्देशांकों को बदलता है. इस्तेमाल का उदाहरण: ImageAnalysis के इस्तेमाल के उदाहरण में मिले निर्देशांकों को बदला जा रहा है. साथ ही, जिस ऑब्जेक्ट का पता लगाया गया है उसे झलक में हाइलाइट किया जा सकता है. (I63ab1, b/137515129)
CameraView
को हटा दिया गया है.CameraView
कोCameraController
से बदल दिया गया है. माइग्रेट करने का तरीका जानने के लिए, कृपया डेटा को दूसरी जगह भेजने से जुड़ी गाइड देखें.: (आईडी5005)
गड़बड़ियां ठीक की गईं
ExperimentalUseCaseGroupLifecycle
को इससे बदला गयाExperimentalUseCaseGroup
. (I3b2ef, b/159033688)
वर्शन 1.0.0-alpha24
21 अप्रैल, 2021
androidx.camera:camera-extensions:1.0.0-alpha24
और androidx.camera:camera-view:1.0.0-alpha24
रिलीज़ हुई हैं. वर्शन 1.0.0-alpha24 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- एक्सपेरिमेंटल एपीआई में,
@Experimental
एनोटेशन को@RequiresOptIn
से बदला गया. प्रयोग के तौर पर इस्तेमाल किए जा रहे एपीआई को कॉल करने के लिए, काम नहीं करने वालीandroidx.annotation.experimental.UseExperimental
के बजायandroidx.annotation.OptIn
का इस्तेमाल करें. (Iff226) - Samsung J5 Prime (Ib10b6) पर PreviewView में खिंचाव की समस्या ठीक की गई
कैमरा एक्सटेंशन और 1.0.0-alpha23 वाला वर्शन देखें
24 मार्च, 2021
androidx.camera:camera-extensions:1.0.0-alpha23
और androidx.camera:camera-view:1.0.0-alpha23
रिलीज़ हुई हैं. वर्शन 1.0.0-alpha23 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- CameraView को बंद किया जा रहा है. इसके बजाय, कृपया
LifecycleCameraController
का इस्तेमाल करें. डेटा को दूसरी जगह भेजने से जुड़ी गाइड (Idac2c) देखें - setLineZoom() (I69971) में FlowRange की जानकारी जोड़ी गई
गड़बड़ियां ठीक की गईं
- 1.0.0 आर्टफ़ैक्ट को इस्तेमाल करने के लिए, कैमरा व्यू डिपेंडेंसी पिन की गई. कैमरा-व्यू के आधार पर, अब Gradle डिपेंडेंसी नहीं होगी रिज़ॉल्यूशन को अपने-आप अपग्रेड करने की सुविधा चालू करें. इससे कैमरा-कोर, कैमरा-कैमरा2 और नवीनतम 1.1.0 आर्टफ़ैक्ट के लिए कैमरा-लाइफ़साइकल, हालांकि कैमरा-व्यू है उन आर्टफ़ैक्ट के साथ काम करता है जिन्हें साफ़ तौर पर इस्तेमाल करने के लिए सेट किया गया हो 1.1.0. (Ic8fa1, b/181599852)
- PreviewView में Samsung A3 की बढ़ाई गई झलक को ठीक किया गया. (Iacb30, b/180121821)
- कैमरा शुरू होने से पहले, कैमरा सिलेक्टर सेट नहीं होने की समस्या ठीक कर दी गई है. (Ic8bd0)
कैमरा एक्सटेंशन और वर्शन 1.0.0-alpha22 देखें
24 फ़रवरी, 2021
androidx.camera:camera-extensions:1.0.0-alpha22
और androidx.camera:camera-view:1.0.0-alpha22
रिलीज़ हुई हैं. वर्शन 1.0.0-alpha22 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- CameraController में CameraInfo गेटर जोड़ें. (Ib8138, b/178251727)
गड़बड़ियां ठीक की गईं
- सिर्फ़ Preview या Image Capture के बाउंड होने पर, गड़बड़ियों की रिपोर्ट करने के लिए extensionsErrorListener को ठीक किया गया. (I5ae39)
कैमरा एक्सटेंशन और 1.0.0-alpha21 वाला वर्शन देखें
27 जनवरी, 2021
androidx.camera:camera-extensions:1.0.0-alpha21
और androidx.camera:camera-view:1.0.0-alpha21
रिलीज़ हुई हैं. वर्शन 1.0.0-alpha21 में ये कमियां हैं.
कैमरा लाइब्रेरी से जुड़े अन्य आर्टफ़ैक्ट के साथ काम करने की सुविधा रिलीज़ की जा रही है.
कैमरा एक्सटेंशन और 1.0.0-alpha20 वाला वर्शन देखें
16 दिसंबर, 2020
androidx.camera:camera-extensions:1.0.0-alpha20
और androidx.camera:camera-view:1.0.0-alpha20
रिलीज़ हुई हैं. वर्शन 1.0.0-alpha20 में ये कमियां हैं.
कैमरा लाइब्रेरी से जुड़े अन्य आर्टफ़ैक्ट के साथ काम करने की सुविधा रिलीज़ की जा रही है.
कैमरा-एक्सटेंशन और कैमरा-व्यू वर्शन 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)
कैमरा-एक्सटेंशन वर्शन 1.0.0-alpha18
14 अक्टूबर, 2020
androidx.camera:camera-extensions:1.0.0-alpha18
रिलीज़ हो गया है. वर्शन 1.0.0-alpha18 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- CameraX को शुरू करने की इंतज़ार के समय को बेहतर किया गया और bindTolifecycle (I61dc5)
<UseCase>.getTargetRotation()
,Surface.ROTATION_0
लौटाएगा कैमरा इंस्टेंस के साथ अटैच किए जाने से पहले कॉल किया जाए, बशर्ते targetRotation को Builder या UseCase पर सेट किया गया है. (I80fcd)
कैमरा-व्यू वर्शन 1.0.0-alpha18
14 अक्टूबर, 2020
androidx.camera:camera-view:1.0.0-alpha18
रिलीज़ हो गया है. वर्शन 1.0.0-alpha18 में ये कमियां हैं.
कैमरा लाइब्रेरी से जुड़े अन्य आर्टफ़ैक्ट के साथ काम करने की सुविधा रिलीज़ की जा रही है.
कैमरा-एक्सटेंशन वर्शन 1.0.0-alpha17
23 सितंबर, 2020
androidx.camera:camera-extensions:1.0.0-alpha17
रिलीज़ हो गया है. वर्शन 1.0.0-alpha17 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ करें
कैमरा-व्यू वर्शन 1.0.0-alpha17
23 सितंबर, 2020
androidx.camera:camera-view:1.0.0-alpha17
रिलीज़ हो गया है. वर्शन 1.0.0-alpha17 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ करें
कैमरा-एक्सटेंशन वर्शन 1.0.0-alpha16
16 सितंबर, 2020
androidx.camera:camera-extensions:1.0.0-alpha16
रिलीज़ हो गया है. वर्शन 1.0.0-alpha16 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
Extensions
ऑब्जेक्ट पाने के लिए,ExtensionsManager
में तरीका जोड़ा गया इसका इस्तेमाल, Camera इंस्टेंस (I4fb7e) पर एक्सटेंशन को चालू करने और क्वेरी करने के लिए किया जाता है
कैमरा-व्यू वर्शन 1.0.0-alpha16
16 सितंबर, 2020
androidx.camera:camera-view:1.0.0-alpha16
रिलीज़ हो गया है. वर्शन 1.0.0-alpha16 में ये कमियां हैं.
एपीआई में किए गए बदलाव
PreviewView#setDeviceRotationForRemoteDisplayMode()
औरPreviewView#getDeviceRotationForRemoteDisplayMode()
हटाए गए. झलक रोटेशन को पसंद के मुताबिक बनाने के लिए दो तरीके हैं, जब मनचाहा रोटेशन डिसप्ले रोटेशन नहीं होता है, जैसे रिमोट डिसप्ले. गैर-प्रदर्शन पूर्वावलोकन रोटेशन को अभी प्रबंधित करने के लिए,Preview#setTargetRotation()
और नए जोड़े गएPreviewView#getViewPort(targetRotation)
के साथ इच्छित रोटेशन सेट करें. (Ib62cc)createSurfaceProvider()
का नाम बदलकरgetSurfaceProvider()
किया गया. यह तरीका हमेशा Preview.SurfaceProvider का वही इंस्टेंस दिखाएगा. (Iff83c)
गड़बड़ियां ठीक की गईं
- अगर एक्सटेंशन इफ़ेक्ट चालू है और वेंडर लाइब्रेरी को लागू करने के लिए आउटपुट सरफ़ेस पर एक खास प्रोसेस करनी पड़ती है, तो ज़बरदस्ती PreviewView का इस्तेमाल करके TextureView का इस्तेमाल किया जा सकता है. (I0c3cc)
- झलक के लिए आर्बिट्रेरी टारगेट रोटेशन की अनुमति दें. बदलाव की जानकारी का हिसाब लगाया जाता है और उसे नए
TranformationInfoListener
कॉलबैक की मदद से, उपयोगकर्ता को तुरंत वापस लौटा दिया जाता है. (I21470)
आम समस्याएं
- PreviewView में, जब असली उपयोगकर्ता PreviewView पर क्लिक करता है, तो
OnClickListener#onClick()
शुरू नहीं होता. PreviewView#onTouchEvent(), गलती से टच इवेंट का इस्तेमाल कर लेता है. यह समस्या अगली रिलीज़ में ठीक कर दी जाएगी. - अगर PreviewView के साथ ViewPort का इस्तेमाल किया जाता है, तो
PreviewView#getMeteringPointFactory()
से मिला मीटरिंगपॉइंट गलत हो सकता है.
कैमरा-एक्सटेंशन वर्शन 1.0.0-alpha15
19 अगस्त, 2020
androidx.camera:camera-extensions:1.0.0-alpha15
रिलीज़ हो गया है. वर्शन 1.0.0-alpha15 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
ExtensionsManager.init()
तरीका इस्तेमाल करने के बाद, 0 आर्ग्युमेंट के बजाय, पैरामीटर के तौर पर कॉन्टेक्स्ट. (Ife754)कॉन्टेक्स्ट का इस्तेमाल करते समय, प्रोसेस शुरू करने की प्रोसेस अब क्रैश नहीं होनी चाहिए जो
Context.getApplicationContext()
से ऐप्लिकेशन ऑब्जेक्ट नहीं दिखाता है. (I3d3c9, b/160817073)कैमरा-व्यू वर्शन 1.0.0-alpha15
19 अगस्त, 2020
androidx.camera:camera-view:1.0.0-alpha15
रिलीज़ हो गया है. वर्शन 1.0.0-alpha15 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
DisplayOrientedMeteringPointFactory
नेCameraInfo
लिया का उपयोग करें, ताकिCameraSelector
की बजाय कोई डायरेक्ट मैपिंग किस कैमरे के लिए फ़ैक्ट्री पॉइंट जनरेट करेंगे. सभी क्लास जोDisplayOrientedMeteringPointFactory
का इस्तेमाल करते हैं, जोCameraInfo
CameraSelector
के बजाय इंस्टेंस. (I400c1)TextureViewMeteringPointFactory
को हटा दिया गया है.PreviewView
, मीटरिंग पॉइंट फ़ैक्ट्री बनाने के लिए सार्वजनिक एपीआई (createMeteringPointFactory()
) उपलब्ध कराता है. इससे कोई फ़र्क़ नहीं पड़ता कि वहTextureView
याSurfaceView
का इस्तेमाल कर रहा है या नहीं. (Ide693)- PreviewView के
SURFACE_VIEW
/TEXTURE_VIEW
लागू करने के मोड का नाम बदलकरPERFORMANCE
/COMPATIBLE
करें.PERFORMANCE
पुरानाSURFACE_VIEW
मोड है औरCOMPATIBLE
पुरानाTEXTURE_VIEW
मोड है. (I0edc2) - इमेज कैप्चर करने के लिए, कैमरे की दिशा के आधार पर मेटाडेटा में फ़्लिप हॉरिज़ॉन्टल फ़्लैग को ओवरराइट करें. (I28499)
कैमरा-एक्सटेंशन वर्शन 1.0.0-alpha14
22 जुलाई, 2020
androidx.camera:camera-extensions:1.0.0-alpha14
रिलीज़ हो गया है. वर्शन 1.0.0-alpha14 में ये कमियां हैं.
कैमरा-व्यू वर्शन 1.0.0-alpha14
22 जुलाई, 2020
androidx.camera:camera-view:1.0.0-alpha14
रिलीज़ हो गया है. वर्शन 1.0.0-alpha14 में ये कमियां हैं.
कैमरा-एक्सटेंशन वर्शन 1.0.0-alpha13
24 जून, 2020
androidx.camera:camera-extensions:1.0.0-alpha13
रिलीज़ हो गया है. वर्शन 1.0.0-alpha13 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- कैमरे से कैमरे फ़िल्टर करने के लिए, प्रयोग के तौर पर इस्तेमाल होने वाले इंटरफ़ेस जोड़े गए आईडी और कैमरे की विशेषताएं. (I28f61)
कैमरा-व्यू वर्शन 1.0.0-alpha13
24 जून, 2020
androidx.camera:camera-view:1.0.0-alpha13
रिलीज़ हो गया है. वर्शन 1.0.0-alpha13 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- CameraView अब किसी legalArgument चेहरे के साथ क्रैश नहीं होता है जब किसी ऐसे लाइफ़साइकल मालिक से लिंक किया जाता है जिसकी लाइफ़साइकल, DESTROYED में बदल जाती है राज्य पर सेट है. बाइंडिंग लाइफ़साइकल को गड़बड़ी वाली स्थिति में बाइंड करना कैमरा खोलने की कोशिश नहीं करेगा. (I7c2b8)
- PreviewView StreamState अब इसके ज़रिए उपलब्ध है CameraView.getPreviewStreamState() (I21a2b)
कैमरा-एक्सटेंशन वर्शन 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)
कैमरा-व्यू वर्शन 1.0.0-alpha12
10 जून, 2020
androidx.camera:camera-view:1.0.0-alpha12
रिलीज़ हो गया है. वर्शन 1.0.0-alpha12 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
PreviewView#getBitmap()
API जोड़ें, जो झलक के प्लैटफ़ॉर्म पर दिखाए गए कॉन्टेंट का बिटमैप दिखा सकता है. (I9b500, b/157659818)
कैमरा-एक्सटेंशन वर्शन 1.0.0-alpha11
27 मई, 2020
androidx.camera:camera-extensions:1.0.0-alpha11
रिलीज़ हो गया है. वर्शन 1.0.0-alpha11 में ये कमियां हैं.
कैमरा-व्यू वर्शन 1.0.0-alpha12
10 जून, 2020
androidx.camera:camera-view:1.0.0-alpha12
रिलीज़ हो गया है. वर्शन 1.0.0-alpha12 में ये कमियां हैं.
नई सुविधाएं
एपीआई में किए गए बदलाव
गड़बड़ियां ठीक की गईं
PreviewView#getBitmap()
API जोड़ें, जो झलक के प्लैटफ़ॉर्म पर दिखाए गए कॉन्टेंट का बिटमैप दिखा सकता है. (I9b500, b/157659818)
कैमरा-व्यू वर्शन 1.0.0-alpha11
27 मई, 2020
androidx.camera:camera-view:1.0.0-alpha11
रिलीज़ हो गया है. वर्शन 1.0.0-alpha11 में ये कमियां हैं.
एपीआई में किए गए बदलाव
- ऐसा
PreviewView#getPreviewStreamState
एपीआई जोड़ें जो इससे ऐप्लिकेशन को यह पता चलता है कि झलक स्ट्रीम हो रही है या नहीं. टास्क कब शुरू होगा PreviewView, TEXTURE_VIEW मोड में है, यानी कि स्ट्रीमिंग की स्थिति यह भी गारंटी देता है कि झलक इमेज दिखाई दे रही है. (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 में Video Capture का डिफ़ॉल्ट आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) 16:9 होना चाहिए. (Ie6a7b, b/153237864)
Preview
फ़्रैगमेंट को स्वाइप करने और फिर ViewPager2 में वापस स्वाइप करने पर, ब्लैक स्क्रीन से जुड़ीPreviewView
समस्याएं ठीक करें. साथ ही, समस्या कोremoveView(previewview)
और फिरaddView(previewView)
करने पर ठीक कर दिया गया है. (Iab555, b/149877652, b/147354615)Uri
औरOutputStream
में इमेज सेव करने की अनुमति देने के लिए,CameraView#takePicture()
एपीआई को अपडेट करें.Uri
को कैननिकल उदाहरण के तौर पर इस्तेमाल करने के लिए, टेस्ट ऐप्लिकेशन को अपडेट करें. (Ia2459, b/153607583)- आपके पास एक्सएमएल लेआउट से PreviewView का स्केल टाइप सेट करने का विकल्प है. इसके लिए,
ScaleType
एट्रिब्यूट को सेट करें. (I08565, b/153015659) CameraView.ScaleType
को हटा दिया गया है. इसके बजाय, CameraView की मदद से स्केल टाइप सेट करने या पाने के लिए,PreviewView.ScaleType
का इस्तेमाल करें. (Ia8974, b/153014831)- अगर
PreviewView
का बैकग्राउंड रंग पहले से मौजूद नहीं है, तो डिफ़ॉल्ट रूप से उसे कोई रंग दें. इससे, प्रीव्यू स्ट्रीम शुरू होने से पहले ही, कॉन्टेंट के पीछे का कॉन्टेंट नहीं दिखता. (I09fad)
कैमरा-एक्सटेंशन वर्शन 1.0.0-alpha10
15 अप्रैल, 2020
androidx.camera:camera-extensions:1.0.0-alpha10
रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- कैमरा-कोर की रिलीज़ में सहायता करने के लिए समाधान
कैमरा-व्यू वर्शन 1.0.0-alpha10
15 अप्रैल, 2020
androidx.camera:camera-view:1.0.0-alpha010
रिलीज़ हो गया है. वर्शन 1.0.0-alpha010 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- पिछली बार सेट की गई ऐसी समस्या को ठीक किया गया है जिसकी वजह से कुछ डिवाइसों पर
PreviewView
का surfacesView लागू करना ठीक से काम नहीं कर रहा था. साथ ही, झलक फिर से शुरू करने के बाद ऐप्लिकेशन क्रैश हो सकता था. (I5ed6b)
कैमरा-एक्सटेंशन वर्शन 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
आर्टफ़ैक्ट में गड़बड़ियां ठीक करने के लिए, इसे अपडेट किया गया
कैमरा-व्यू वर्शन 1.0.0-alpha09
1 अप्रैल, 2020
androidx.camera:camera-view:1.0.0-alpha09
रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये कमियां हैं.
आम समस्याएं
- ऐसा हो सकता है कि
PreviewView
के साथImplementationMode.SURFACE_VIEW
का इस्तेमाल करने पर, कुछ डिवाइसों पर झलक ठीक से काम न करे. इसकी वजह यह है कि झलक के लिए इस्तेमाल किया गयाSurfaceView
, विंडो के लाइफ़साइकल बंद होने पर, अपने सरफ़ेस को अमान्य कर देता है. रीस्टार्ट होने पर, कैमरा फिर से खुल जाता है औरSurfaceView
का सरफ़ेस मान्य होने से पहले, झलक को दोबारा शुरू कर सकता है. फ़िलहाल, आपकोImplementationMode.TEXTURE_VIEW
का इस्तेमाल करना चाहिए.
एपीआई में किए गए बदलाव
PreviewView.setImplementationMode()
का नाम बदलकरPreviewView.setPreferredImplementationMode()
किया गया.PreviewView.getImplementationMode()
का नाम बदलकरPreviewView.getPreferredImplementationMode()
किया गया.PreviewView.getSurfaceProvider()
कोPreviewView.createSurfaceProvider(CameraInfo)
से बदला गया, जो शून्य करने लायकCameraInfo
इंस्टेंस लेता है. इसका इस्तेमाल, जहां भी मुमकिन होImplementationMode.SURFACE_VIEW
का इस्तेमाल करके, झलक को ऑप्टिमाइज़ करने के लिए किया जाता है. अगर शून्य इंस्टेंस पास हो जाता है या आप लागू करने के पसंदीदा मोड कोImplementationMode.TEXTURE_VIEW
पर सेट करते हैं, तोImplementationMode.TEXTURE_VIEW
का इस्तेमाल अंदरूनी तौर पर किया जाता है.नीचे दिया गया कोड सैंपल दिखाता है कि झलक के इस्तेमाल के उदाहरण को, पहले PreviewView के साथ किस तरह इस्तेमाल किया जाता था.
preview.setSurfaceProvider(previewView.previewSurfaceProvider) cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
अभी, यह लिखा जा सकता है:
val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview) previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))
@UiThread
एनोटेशन कोPreviewView.getSurfaceProvider()
में जोड़ा गया है. इसका मतलब है कि इसे मुख्य थ्रेड से कॉल करना ज़रूरी है. (I192f3)PreviewView.setScaleType()
को जोड़ा गया, जिससे झलक का स्केल टाइप सेट किया जा सकता है. यहPreviewView.ScaleType
में मौजूद वैल्यू में से किसी एक को स्वीकार करता है और डिफ़ॉल्ट रूप सेPreviewView.ScaleType.FILL_CENTER
को चुना जाता है.PreviewView.getScaleType()
को जोड़ा गया.implementationMode
एट्रिब्यूट का इस्तेमाल करके, एक्सएमएल लेआउट मेंPreviewView
के लिए लागू करने का मोड सेट करने की सुविधा हटाई गई.PreviewView
में (x, y) कोMeteringPoint
में बदलने के लिए, PreviewView मेंcreateMeteringPointFactory()
एपीआई जोड़ें. (Ib36d7)
गड़बड़ियां ठीक की गईं
- ऐसे मामलों को ठीक किया गया है जिनमें
PreviewView
का साइज़ बदलने के बाद, गलत झलक दिखती है. (I71101)
कैमरा-एक्सटेंशन वर्शन 1.0.0-alpha08
26 फ़रवरी, 2020
androidx.camera:camera-extensions:1.0.0-alpha08
रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये कमिट शामिल हैं.
कैमरा-व्यू वर्शन 1.0.0-alpha08
26 फ़रवरी, 2020
androidx.camera:camera-view:1.0.0-alpha08
रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये कमिट शामिल हैं.
गड़बड़ियां ठीक की गईं
ListenableFuture
को बदला गयाExecutor
औरCallback
के साथSurfaceRequest.provideSurface()
. यह यह एपीआई को आसान बनाता है. इसके लिए, इसमें अपवादों को मैनेज करने की ज़रूरत नहीं होतीprovideSurface()
लागू करता है और लागू करता है किprovideSurface()
कॉलबैक नहीं कर सकता रद्द हो जाएगा. ऐसा इसलिए किया जाता है, ताकि पुराने डिवाइसों पर ऐप्लिकेशन क्रैश होने की समस्या से बचा जा सके: समय से पहले रिलीज़ होने वाली सतहें. अबSurfaceRequest.Result
ऑब्जेक्ट का इस्तेमाल किया जा रहा है ताकि यह ट्रैक किया जा सके किSurfaceRequest
, दिए गएSurface
का इस्तेमाल कैसे करता है. (I7854b)SurfaceRequest.setSurface(Surface)
का नाम बदलकर यह कियाSurfaceRequest.provideSurface(Surface)
औरSurfaceRequest.setWillNotComplete()
सेSurfaceRequest.willNotProvideSurface()
. (I224fe)- ProGuard की मदद से, ऐप्लिकेशन के वैरिएंट को शुरू करने की प्रोसेस को ठीक किया गया. ऐसा करने के लिए,
फ़्लैग करने वाला फ़्लैग, जो डिफ़ॉल्ट
CameraXConfig
कंपनी को सेट करता है. (I2d6c1)
कैमरा-एक्सटेंशन वर्शन 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)
कैमरा-व्यू वर्शन 1.0.0-alpha07
10 फ़रवरी, 2020
androidx.camera:camera-view:1.0.0-alpha07
रिलीज़ हो गया है. वर्शन 1.0.0-alpha07 में ये कमियां हैं.
एपीआई में किए गए बदलाव
PreviewView
कोTextureView
लागू करने के बाद,TextureView
के साइज़ को कैमरा सेंसर के आउटपुट साइज़ पर सेट कर दिया जाता है. इसके बाद, स्केल को स्केल किया जाता है, ताकि इसकी पैरंटPreviewView
के हिसाब से वैल्यू दी जा सके. अगर आपको कैमरे की झलक को यूज़र इंटरफ़ेस (यूआई) के पूरे हिस्से (उदाहरण के लिए, पूरी स्क्रीन) पर दिखाना है, तोPreviewView
के साइज़ को किसी तय वैल्यू पर सेट न करें. इसके अलावा, इससे कॉन्टेंट को रैप करने के लिए नहीं कहा जा सकता (उदाहरण के लिए, "wrap_content
" एट्रिब्यूट का इस्तेमाल करके), कैमरे की झलक मेंPreviewView
का हिस्सा ही भर सकता है (अगर कैमरे के आउटपुट का साइज़ छोटा है). इसके बजाय, आपकोPreviewView
को उसके पैरंट के तौर पर सेट करना चाहिए (उदाहरण के लिए, "match_parent
" एट्रिब्यूट का इस्तेमाल करके). (1204869)
गड़बड़ियां ठीक की गईं
Uri
औरOutputStream
में इमेज सेव करने की अनुमति देने के लिए,ImageCapture
को अपडेट किया गया. ओवरलोडेडtakePicture
तरीकों को एक में मिला दिया गया.Uri
को कैननिकल उदाहरण के तौर पर इस्तेमाल करने के लिए, टेस्ट ऐप्लिकेशन को अपडेट किया गया. (Ia3bec)Preview.PreviewSurfaceProvider
का नाम बदलकरPreview.SurfaceProvider
कर दिया गया है.SurfaceProvider
के लिए, अब डेवलपर को खुद काListenableFuture
बनाने की ज़रूरत नहीं है.Surface
देने के लिए, अब नएSurfaceRequest
ऑब्जेक्ट का इस्तेमाल किया जाता है.Preview.getPreviewSurfaceProvider()
तरीके को हटा दिया गया है, क्योंकिPreview
कोPreviewView
जैसी अन्य क्लास के साथ जोड़े जाने पर, इसका गलत इस्तेमाल हो सकता है. (I20105)- जो आर्ग्युमेंट पहले
ImageCapture.OnImageSavedCallback.onError()
औरImageCapture.OnImageCapturedCallback.onError()
में पास किए गए थे उन्हें अब एक आर्ग्युमेंटImageCaptureException
से बदल दिया गया है. इसमें, पहले से पास की गई सारी जानकारी शामिल है. ImageCapture.OnImageSavedCallback.onImageSaved()
में पहले दिया गया फ़ाइल आर्ग्युमेंट हटा दिया गया है. (I750d2)- एपीआई को अपडेट किया गया. इसमें
getZoomRatio()
,getMaxZoomRatio()
,getMinZoomRatio()
, औरCameraInfo
केgetLinearZoom()
तरीकों कोgetZoomState()
में मर्ज किया गया, जोZoomState
इंस्टेंस दिखाता है. (Ib19fe)
कैमरा-एक्सटेंशन वर्शन 1.0.0-alpha06
22 जनवरी, 2020
androidx.camera:camera-extensions:1.0.0-alpha06
रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये कमियां हैं.
अपडेट
- कैमरा कोर और Camera2 में बदलाव किया गया है.
कैमरा-व्यू वर्शन 1.0.0-alpha06
22 जनवरी, 2020
androidx.camera:camera-view:1.0.0-alpha06
रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये कमियां हैं.
अपडेट
- कैमरा कोर और Camera2 में बदलाव किया गया है.
कैमरा-एक्सटेंशन वर्शन 1.0.0-alpha05
18 दिसंबर, 2019
androidx.camera:camera-extensions:1.0.0-alpha05
रिलीज़ हो गया है. वर्शन 1.0.0-alpha05 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- इंटरनल कैमरा कोर एपीआई से मिलान करने के लिए अपडेट किया गया.
कैमरा-व्यू वर्शन 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 के सरफ़ेस के इस्तेमाल के साथ सिंक करती है.
कैमरा-एक्सटेंशन वर्शन 1.0.0-alpha04
4 दिसंबर, 2019
androidx.camera:camera-extensions:1.0.0-alpha04
रिलीज़ हो गया है. कैमरा एक्सटेंशन के 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() )
कैमरा-व्यू वर्शन 1.0.0-alpha04
4 दिसंबर, 2019
androidx.camera:camera-view:1.0.0-alpha04
रिलीज़ हो गया है. कैमरा व्यू के वर्शन 1.0.0-alpha04 में ये कमियां शामिल हैं
एपीआई में किए गए बदलाव
- किसी ऐप्लिकेशन में, प्रीव्यू के इस्तेमाल के उदाहरण से आउटपुट को आसानी से दिखाने के लिए,
PreviewView
क्लास दी जाती है. PreviewView
को लेआउट में शामिल किया जा सकता है:<androidx.camera.view.PreviewView android:id="@+id/preview_view" … />
PreviewView
, प्रीव्यू के इस्तेमाल के उदाहरण को आसानी से कनेक्ट करने के लिएPreviewSurfaceProvider
देता हैpreview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
एपीआई नाम में “
ZoomLevel
” का नाम अब “ZoomRatio
” हैकुछ तरीके के पैरामीटर ने शून्य होने की सेटिंग में बदलाव किया है
कैमरा-एक्सटेंशन और कैमरा-व्यू वर्शन 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 किया गया
कैमरा-एक्सटेंशन और कैमरा-व्यू वर्शन 1.0.0-alpha02
5 सितंबर, 2019
androidx.camera:camera-extensions:1.0.0-alpha02
और
androidx.camera:camera-view:1.0.0-alpha02
रिलीज़ हो गई हैं. ये हैं
कैमरा एक्सटेंशन में शामिल कमिट:1.0.0-alpha02
और यहां दिए गए समझौते में ये शामिल हैं
कैमरा-व्यू:1.0.0-alpha02.
PreviewImageProcessorImpl
की पुष्टि करने के लिए, टेस्ट जोड़े गए. इन्हें सही तरीके से लागू किया गया है टाइमस्टैंप.- Nexus 5 (एपीआई लेवल 21) पर
ExtensionTest
टेस्ट फ़ेलियर ठीक करें और झलक पक्का करें उपलब्ध है.
कैमरा-एक्सटेंशन और कैमरा-व्यू वर्शन 1.0.0-alpha01
7 अगस्त, 2019
androidx.camera:camera-extensions:1.0.0-alpha01
और
androidx.camera:camera-view:1.0.0-alpha01
रिलीज़ हो गई हैं.
ये हैं
कैमरा एक्सटेंशन में शामिल कमिट:1.0.0-alpha01
और ये प्रतिक्रियाएं शामिल हैं
कैमरा-व्यू:1.0.0-alpha01
- आने वाले समय में, इस्तेमाल किए जा सकने वाले डिवाइसों पर इफ़ेक्ट ऐक्सेस करने के लिए, कैमरा एक्सटेंशन की नई लाइब्रेरी. इस लाइब्रेरी पर काम जारी है.
- नई कैमरा व्यू क्लास. इस लाइब्रेरी पर काम जारी है.