कैमरा व्यूफ़ाइंडर
इस टेबल में, androidx.camera-viewfinder ग्रुप के सभी आर्टफ़ैक्ट की सूची दी गई है.
| सह-प्रॉडक्ट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| viewfinder-compose | 1.5.1 | - | - | 1.6.0-alpha01 |
| viewfinder-core | 1.5.1 | - | - | 1.6.0-alpha01 |
| viewfinder-view | 1.5.1 | - | - | 1.6.0-alpha01 |
डिपेंडेंसी का एलान करना
camera-viewfinder पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { // Use to implement camera viewfinders implementation "androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
वर्शन 1.6
वर्शन 1.6.0-alpha01
22 अक्टूबर, 2025
androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01, और androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01 रिलीज़ किए जाते हैं. वर्शन 1.6.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- नए
ViewfinderDefaults.implementationModeपब्लिक एपीआई के ज़रिए, डिफ़ॉल्ट व्यूफ़ाइंडरImplementationModeको दिखाया गया. अब इसका इस्तेमाल,ViewfinderViewऔरViewfinderकंपोज़ेबल, दोनों के लिए डिफ़ॉल्ट के तौर पर किया जाता है. (Ic3f52)
संस्करण 1.5
संस्करण 1.5.1
08 अक्टूबर, 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.1, androidx.camera.viewfinder:viewfinder-core:1.5.1, और androidx.camera.viewfinder:viewfinder-view:1.5.1 रिलीज़ किए जाते हैं. वर्शन 1.5.1 में ये बदलाव शामिल हैं.
वर्शन 1.5.0
10 सितंबर, 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0, androidx.camera.viewfinder:viewfinder-core:1.5.0, और androidx.camera.viewfinder:viewfinder-view:1.5.0 रिलीज़ किए जाते हैं. वर्शन 1.5.0 में ये बदलाव शामिल हैं.
1.4.0 के बाद से हुए अहम बदलाव:
यह Camera Viewfinder लाइब्रेरी का पहला स्टेबल वर्शन है. इसमें मज़बूत, लाइफ़साइकल के बारे में जानकारी देने वाले, और इस्तेमाल में आसान View और Compose पर आधारित एपीआई उपलब्ध हैं. इन कॉम्पोनेंट को कैमरा व्यूफ़ाइंडर के तौर पर इस्तेमाल करने के लिए डिज़ाइन किया गया है. इन्हें सीधे तौर पर Camera2 के साथ इंटिग्रेट किया जा सकता है.
इस रिलीज़ में, नए androidx.camera:camera-compose आर्टफ़ैक्ट के लिए बुनियादी ढांचा भी तैयार किया गया है. इसमें CameraXViewfinder को पेश किया गया है. यह Compose-idiomatic व्यूफ़ाइंडर है, जो CameraX SurfaceRequest के साथ आसानी से इंटिग्रेट हो जाता है. यह ठीक उसी तरह काम करता है जिस तरह PreviewView, व्यू-आधारित लेआउट के लिए काम करता है. इनमें से कुछ अहम बदलाव यहां दिए गए हैं:
- आर्टफ़ैक्ट की जगह बदलना: मॉड्यूल को बेहतर बनाने के लिए, Viewfinder आर्टफ़ैक्ट को उनके लाइब्रेरी ग्रुप में ले जाया गया है. पहले
androidx.camera:camera-viewfinder*डिपेंडेंसी का इस्तेमाल करने वाले डेवलपर कोandroidx.camera.viewfinder:viewfinder-*पर माइग्रेट करना चाहिए. - एपीआई को बेहतर बनाया गया है: इस स्टेबल रिलीज़ के लिए, एपीआई को बेहतर बनाया गया है. इसमें
CameraViewfinderका नाम बदलकरViewfinderViewकरना शामिल है, ताकि इसकी वर्सटैलिटी को बेहतर तरीके से दिखाया जा सके. साथ ही, पैकेज को बेहतर तरीके से व्यवस्थित किया गया है, ताकि जानकारी को आसानी से समझा जा सके. इसके अलावा,ViewfinderSurfaceRequestको इम्यूटेबल डेटा टाइप बनाया गया है, ताकि स्टेट मैनेजमेंट को ज़्यादा अनुमानित बनाया जा सके. - Compose API से जुड़े अपडेट: Compose
ViewfinderAPI अबContentScaleऔरAlignmentके साथ काम करता है. इससे यह तय किया जा सकता है कि कैमरा स्ट्रीम को कंटेनर में कैसे दिखाया जाए. यह स्टैंडर्डandroidx.compose.foundation.Imageकंपोज़ेबल के जैसा ही काम करता है. - Surface Lifecycle Management:
ViewfinderSurfaceSessionको अब एपीआई 29 और इसके बाद के वर्शन पर, कॉन्फ़िगरेशन में बदलाव और लाइफ़साइकल इवेंट के दौरान चालू रखा जाता है. इस बदलाव को इसलिए डिज़ाइन किया गया है, ताकि फ़्रेम ड्रॉप होने की समस्या को कम किया जा सके और उपयोगकर्ता को बेहतर अनुभव मिल सके. - लागू करने के मोड के डिफ़ॉल्ट:
Viewfinderअब डिफ़ॉल्ट रूप से एक इंटेलिजेंटImplementationModeहै. यह अपने-आप सबसे अच्छा तरीका चुनता है. यह बेहतर परफ़ॉर्मेंस वालेSurfaceView(EXTERNALमोड) को प्राथमिकता देता है. साथ ही, एपीआई के पुराने लेवल या कंपैटबिलिटी से जुड़ी समस्याओं वाले डिवाइसों पर, यहTextureView(EMBEDDEDमोड) पर वापस आ जाता है. हालांकि, डेवलपर के पास अब भी इस व्यवहार को बदलने का विकल्प होता है, ताकि वह पूरी तरह से कंट्रोल कर सके.
गड़बड़ियां ठीक की गईं
- अब कंपोज़ेबल
Viewfinder, Compose केPagerऔरmovableContentOf()के साथ ठीक से काम करता है. इससे यह पक्का होता है कि जटिल यूज़र इंटरफ़ेस (यूआई) के मामलों में, सर्फ़ेस को ठीक से रीसेट और मैनेज किया गया है. (I0d9be, I79432) - Android 10 और 11 पर,
SurfaceViewपर आधारितViewfinderके स्ट्रेच होने की समस्या को ठीक किया गया है. ऐसा तब होता था, जब ट्रांसफ़ॉर्मेशन लागू किए जाते थे. (Icc77c)
वर्शन 1.5.0-rc01
13 अगस्त, 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.5.0-rc01, और androidx.camera.viewfinder:viewfinder-view:1.5.0-rc01 रिलीज़ किए जाते हैं. वर्शन 1.5.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- डिफ़ॉल्ट
minSdkको एपीआई 21 से एपीआई 23 पर ले जाना (Ibdfca, b/380448311, b/435705964, b/435705223)
वर्शन 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, दोनों पर आधारित) अबEXTERNAL(परफ़ॉर्मेंस के लिए) औरEMBEDDED(पुराने एपीआई/अजीब डिवाइसों पर काम करने के लिए) में से किसी एक को स्मार्ट तरीके से चुनता है. हालांकि,ViewfinderSurfaceRequestया XML एट्रिब्यूट (व्यू पर आधारित एपीआई पर) में साफ़ तौर पर दी गई सेटिंग की मदद से, इस डिफ़ॉल्ट सेटिंग को अब भी बदला जा सकता है. (Iecd3a)- API 29+ पर TextureView या SurfaceView का इस्तेमाल करते समय,
ViewfinderSurfaceSessionको Surface create/destroy के पूरे लाइफ़साइकल में चालू रखने की अनुमति देकर, Surface सेशन मैनेजमेंट को बेहतर बनाया गया है. (I112d9) Viewfinderअब यह पक्का करता है कि Surfaces को सही समय पर रिलीज़ किया जाए. ऐसा सिर्फ़ तब किया जाता है, जब सेशन में उनका इस्तेमाल न हो रहा हो. ऐसा नहीं है कि जब Composable को बंद कर दिया जाता है, तब उन्हें हमेशा रिलीज़ कर दिया जाता है.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 पर मौजूद एक समस्या को ठीक किया गया है. इस समस्या में, ट्रांसफ़ॉर्मेशन ऑपरेशन (जैसे कि स्केल या ट्रांसलेट) को बहुत पहले लागू कर दिया जाता था. इस वजह से,
EXTERNALViewfinderस्ट्रेच या गलत दिख सकता था. अब सिस्टम, लेआउट फ़ेज़ में इन ट्रांसफ़ॉर्मेशन को लागू करने से पहले, 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-viewandroidx.camera:camera-viewfinder-compose->androidx.camera.viewfinder:viewfinder-composeandroidx.camera:camera-viewfinder-core->androidx.camera.viewfinder:viewfinder-core
इस ट्रांज़िशन के लिए, कोड में कोई बदलाव करने की ज़रूरत नहीं होनी चाहिए. Viewfinder के पुराने मेवन कोऑर्डिनेट को अब अपडेट नहीं मिलेंगे.
इसके अलावा, अगर CameraX के साथ Compose का इस्तेमाल किया जा रहा है, तो Compose-first लाइब्रेरी का नया वर्शन अब ऐल्फ़ा वर्शन में उपलब्ध है: androidx.camera:camera-compose. यह CameraXViewfinder कंपोज़ेबल उपलब्ध कराता है. यह Compose के लिए, Compose के हिसाब से बनाया गया Viewfinder है. यह CameraX के SurfaceRequest को Compose के साथ जोड़ता है. यह ठीक उसी तरह काम करता है जिस तरह PreviewView व्यू के लिए काम करता है.