कैमरा व्यूफ़ाइंडर
इस टेबल में, androidx.camera-viewfinder
ग्रुप के सभी आर्टफ़ैक्ट की सूची दी गई है.
सह-प्रॉडक्ट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा वर्शन |
---|---|---|---|---|
viewfinder-compose | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
viewfinder-core | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
viewfinder-view | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
डिपेंडेंसी का एलान करना
camera-viewfinder पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle
फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
Groovy
dependencies { // Use to implement camera viewfinders implementation "androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03" implementation "androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03" implementation "androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03") implementation("androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03") implementation("androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. कृपया नई लाइब्रेरी बनाने से पहले, इस लाइब्रेरी में मौजूद मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
संस्करण 1.5
वर्शन 1.5.0-beta03
16 जुलाई, 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03
, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03
, और androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03
रिलीज़ किए गए हैं. वर्शन 1.5.0-beta03 में ये कमिट शामिल हैं.
गड़बड़ियां ठीक की गईं
Viewfinder
के लिए डिफ़ॉल्टImplementationMode
(Compose और View-based, दोनों के लिए) अबEXTERNAL
(परफ़ॉर्मेंस के लिए) औरEMBEDDED
(पुराने एपीआई/अजीब डिवाइसों पर काम करने के लिए) में से किसी एक को स्मार्ट तरीके से चुनता है. हालांकि, इस व्यवहार कोViewfinderSurfaceRequest
या XML एट्रिब्यूट (व्यू के आधार पर एपीआई पर) में साफ़ तौर पर दी गई सेटिंग से अब भी बदला जा सकता है. (Iecd3a)- API 29+ पर TextureView या SurfaceView का इस्तेमाल करते समय,
ViewfinderSurfaceSession
को Surface create/destroy के पूरे लाइफ़साइकल में चालू रखने की अनुमति देकर, Surface सेशन मैनेजमेंट को बेहतर बनाया गया है. (I112d9) Viewfinder
अब यह पक्का करता है कि Surfaces को सही समय पर रिलीज़ किया जाए. ऐसा सिर्फ़ तब किया जाता है, जब सेशन में उनका इस्तेमाल नहीं किया जा रहा हो. ऐसा नहीं है कि कंपोज़ेबल के बंद होने पर उन्हें हमेशा रिलीज़ किया जाता है.EXTERNAL
(SurfaceView
) के लिए, यह सुविधा फ़िलहाल सिर्फ़ एपीआई 29 और इसके बाद के वर्शन पर उपलब्ध है.EMBEDDED
(TextureView
) के लिए, यह सुविधा सभी एपीआई लेवल पर उपलब्ध है. (I9a03f)Viewfinder
अब उन स्थितियों में, डिसप्ले को सही तरीके से बदलता है जबEXTERNAL
व्यूफ़ाइंडर, एपीआई लेवल 28 या इससे पहले के वर्शन पर स्क्रीन से हट जाता है या जबViewfinder
(किसी भीImplementationMode
के साथ)moveableContentOf()
का हिस्सा होता है. (I79432)- Composable
Viewfinder
अब Compose केPager
के साथ सही तरीके से काम करता है. इस बदलाव से यह पक्का होता है किAndroidView
केonReset
कॉलबैक को लागू करके, कंपोज़ेबल को सही तरीके से रीसेट किया जा सकता है. साथ ही, यहEMBEDDED
औरEXTERNAL
, दोनों के साथ काम करता है. (I0d9be) - Android 10/11 में मौजूद एक समस्या को ठीक किया गया है. इस समस्या में, ट्रांसफ़ॉर्मेशन ऑपरेशन (जैसे कि स्केल या ट्रांसलेट) को बहुत पहले लागू कर दिया जाता था. इस वजह से,
EXTERNAL
Viewfinder
स्ट्रेच या गलत दिख सकता था. अब सिस्टम, लेआउट फ़ेज़ में इन ट्रांसफ़ॉर्मेशन को लागू करने से पहले, Surface के बनने का इंतज़ार करता है. इससे सही आउटपुट मिलता है. (Icc77c)
वर्शन 1.5.0-beta02
4 जून, 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta02
, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta02
, और androidx.camera.viewfinder:viewfinder-view:1.5.0-beta02
रिलीज़ किए गए हैं. वर्शन 1.5.0-beta02 में ये कमिट शामिल हैं.
वर्शन 1.5.0-beta01
7 मई, 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01
, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01
, और androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01
रिलीज़ किए गए हैं. वर्शन 1.5.0-beta01 में ये कमिट शामिल हैं.
- यह व्यू-आधारित और कंपोज़-आधारित व्यूफ़ाइंडर की पहली आधिकारिक बीटा रिलीज़ है. इन्हें Camera2 के साथ इस्तेमाल किया जा सकता है. अगर आपको CameraX के साथ इस्तेमाल करने के लिए कोई व्यू या कंपोज़ेबल चाहिए, तो
PreviewView
औरCameraXViewfinder
देखें.
नई सुविधाएं
ContentScale
औरAlignment
का इस्तेमाल अब कंपोज़-आधारित व्यूफ़ाइंडर में किया जा सकता है. इससे, दिखाए गए कॉन्टेंट को उसके कंटेनर में स्केल किया जा सकता है और उसे जगह पर रखा जा सकता है. यह ठीक उसी तरह काम करता है जैसेandroidx.compose.foundation.Image
काम करता है. (Ibcea3)
एपीआई में हुए बदलाव
TransformationInfo
में अब सभी आर्ग्युमेंट के लिए डिफ़ॉल्ट वैल्यू मौजूद हैं. इससे बिना किसीTransformationInfo
के व्यूफ़ाइंडर बनाए जा सकेंगे. इनमें डिफ़ॉल्ट रूप से, सोर्स रोटेशन 0 पर सेट होगा. साथ ही, सोर्स मिररिंग और क्रॉप रेक्ट नहीं होगा. (I2b1b2)- Composable Viewfinder अब Surface सेशन पाने के लिए, ट्रेलिंग लैम्ब्डा लेता है. यह
AndroidExternalSurface
की तरह ही काम करता है. यहां दिए गए लैम्डा फ़ंक्शन में,ViewfinderInitScope
को रिसीवर के तौर पर इस्तेमाल किया जाता है. इससे, नए Surface सेशन पाने के लिए कॉलबैक इंस्टॉल किया जा सकता है. जब ये सर्फ़ेस सेशन काम के नहीं रहते, तो ये Viewfinder के पास मौजूद संसाधनों को अपने-आप रिलीज़ कर देते हैं. (Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristics
को अब हटा दिया गया है. इसकी जगह अब स्टैटिक एपीआई के एक जैसे सेट का इस्तेमाल किया जा सकता है. इनका इस्तेमाल करकेTransformationInfo
जनरेट किया जा सकता है. इससेpopulateFromCharacteristics
की तरह ही बदलाव होगा. इन स्टैटिक तरीकों कोCamera2TransformationInfo
क्लास में जोड़ा जाता है. (Idc6af)ViewfinderSurfaceRequest
में अब सर्फ़ेस को वापस पाने के लिए एसिंक एपीआई शामिल नहीं हैं. अब यह एक ऐसा डेटा टाइप है जिसे बदला नहीं जा सकता. सरफ़ेस को वापस पाने के लिए इस्तेमाल किए जाने वाले एपीआई को अब व्यूफ़ाइंडर में ले जाया गया है. (I30127)CameraViewfinder
का नाम बदलकरViewfinderView
कर दिया गया है, ताकि इसका नाम Viewfinder कंपोज़ेबल के नाम से मेल खाए. साथ ही, यह बताया जा सके कि इसका इस्तेमाल सिर्फ़ कैमरा सोर्स के साथ नहीं किया जा सकता. (Id9e6b)viewfinder-view
की क्लास कोandroidx.camera.viewfinder
पैकेज केandroidx.camera.viewfinder.view
सबपैकेज में ले जाया गया है. (I6cb44)- Viewfinder के व्यू-आधारित वर्शन में नए एपीआई जोड़े गए हैं. इनकी मदद से, सोर्स रोटेशन, मिररिंग, और क्रॉप रेक्टैंगल सेट किया जा सकता है. यह
TransformationInfo
क्लास, कंपोज़ पर आधारित Viewfinder में इस्तेमाल की गई क्लास के जैसी ही है. (I907c3) - व्यूफ़ाइंडर के व्यू-आधारित फ़ंक्शन में अब नए
ViewfinderSurfaceRequest
एपीआई का इस्तेमाल किया जाता है. ये अब Surface के रिस्पॉन्स को इंटरनल तौर पर हैंडल नहीं करते हैं.ListenableFuture<Surface>
के बजाय, अबrequestSurfaceSession()
एपीआईListenableFuture<ViewfinderSurfaceSession>
दिखाता है. यहAutoCloseable
क्लास दिखाता है. बंद होने पर, यहViewfinderSurfaceRequest.markSurfaceSafeToRelease()
के पुराने एपीआई को कॉल करने जैसा ही काम करता है. इससे, अनुरोध करने वाले प्लैटफ़ॉर्म और जवाब देने वाले प्लैटफ़ॉर्म की ज़िम्मेदारियों को साफ़ तौर पर अलग-अलग किया जा सकता है. (I19041)
वर्शन 1.4
वर्शन 1.4.0-alpha13
26 फ़रवरी, 2025
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13
, और androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13
रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha13 में ये कमिट शामिल हैं.
वर्शन 1.4.0-alpha12
15 जनवरी, 2025
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12
, और androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12
रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha12 में ये कमिट शामिल हैं.
नई सुविधाएं
- Android 15 से जुड़े एपीआई का इस्तेमाल करने के लिए,
compileSdk
को 35 के तौर पर अपग्रेड किया गया है. CameraX लाइब्रेरी का इस्तेमाल करने वाले ऐप्लिकेशन को भी अपनीcompileSdk
कॉन्फ़िगरेशन सेटिंग अपग्रेड करनी होगी. (Ic80cd) - यह लाइब्रेरी अब JSpecify nullness annotations का इस्तेमाल करती है. ये टाइप-यूज़ होते हैं. Kotlin डेवलपर को सही इस्तेमाल के लिए, कंपाइलर के इस तर्क का इस्तेमाल करना चाहिए:
-Xjspecify-annotations=strict
(यह Kotlin कंपाइलर के 2.1.0 वर्शन से डिफ़ॉल्ट रूप से शुरू होता है). (I7bcd7, b/326456246)
वर्शन 1.4.0-alpha11
11 दिसंबर, 2024
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11
, और androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11
रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha11 में ये कमिट शामिल हैं.
एपीआई में हुए बदलाव
viewfinder-core
क्लास को ऐसे पैकेज में ले जाया गया है जो उस लाइब्रेरी के हिसाब से सही हैं जिससे वे जुड़ी हैं. (I431c6)CameraViewfinder.ScaleType
कोviewfinder-core
में ले जाया गया है, ताकि इसे कंपोज़ करने के लिए फिर से इस्तेमाल किया जा सके (I87ef1)CameraViewfinder
के इस्तेमाल पर रोक लगा दी गई है. इसलिए, इन क्लास को हटा दिया गया है. कृपया उन नए एपीआई का इस्तेमाल करें जो इसी तरह के फ़ंक्शन उपलब्ध कराते हैं. (I6e59a)
वर्शन 1.4.0-alpha10
30 अक्टूबर, 2024
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10
, और androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10
रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha10 में ये कमिट शामिल हैं.
वर्शन 1.4.0-alpha09
2 अक्टूबर, 2024
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09
, और androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09
रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha09 में ये कमिट शामिल हैं.
वर्शन 1.4.0-alpha08
4 सितंबर, 2024
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08
, और androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08
रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha08 में ये कमिट शामिल हैं.
नई सुविधाएं
CameraX Viewfinder के आर्टफ़ैक्ट को 1.4.0-alpha08 वर्शन में अपडेट कर दिया गया है. अब इसे लाइब्रेरी के अपने ग्रुप में ले जाया गया है. CameraX लाइब्रेरी को मॉड्यूलर बनाने और उसे बनाए रखने के लिए, यह बदलाव ज़रूरी है.
अगर आपको पहले androidx.camera:camera-viewfinder
, androidx.camera:camera-viewfinder-compose
या androidx.camera:camera-viewfinder-core
पर निर्भर रहना पड़ता था, तो आपको अपनी डिपेंडेंसी को इन पर ट्रांसफ़र करना होगा:
androidx.camera:camera-viewfinder
->androidx.camera.viewfinder:viewfinder-view
androidx.camera:camera-viewfinder-compose
->androidx.camera.viewfinder:viewfinder-compose
androidx.camera:camera-viewfinder-core
->androidx.camera.viewfinder:viewfinder-core
इस ट्रांज़िशन के लिए, कोड में कोई बदलाव करने की ज़रूरत नहीं होनी चाहिए. Viewfinder के पुराने मेवन कोऑर्डिनेट को अब अपडेट नहीं मिलेंगे.
इसके अलावा, अगर CameraX के साथ Compose का इस्तेमाल किया जा रहा है, तो Compose-first लाइब्रेरी का नया वर्शन अब ऐल्फ़ा वर्शन में उपलब्ध है: androidx.camera:camera-compose
. यह CameraXViewfinder
कंपोज़ेबल उपलब्ध कराता है. यह कंपोज़ के लिए व्यूफ़ाइंडर है, जो CameraX के SurfaceRequest
को कंपोज़ के हिसाब से ढालता है. यह PreviewView
की तरह ही काम करता है.