कैमरा व्यूफ़ाइंडर

  
कैमरे के लिए, स्टैंडअलोन कॉम्पोज़ेबल और व्यू पर आधारित व्यूफ़ाइंडर"

इस टेबल में, androidx.camera-viewfinder ग्रुप के सभी आर्टफ़ैक्ट की सूची होती है.

सह-प्रॉडक्ट रिलीज़ किया गया जांचा और परखा हुआ वर्शन रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
viewfinder-compose - - 1.5.0-beta01 1.4.0-alpha13
viewfinder-core - - 1.5.0-beta01 1.4.0-alpha13
viewfinder-view - - 1.5.0-beta01 1.4.0-alpha13
इस लाइब्रेरी को आखिरी बार 7 मई, 2025 को अपडेट किया गया था

डिपेंडेंसी का एलान करना

camera-viewfinder पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

ग्रूवी

dependencies {
    // Use to implement camera viewfinders
    
    implementation "androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01"
    implementation "androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01"
    implementation "androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01"

}

Kotlin

dependencies {
    // Use to implement camera viewfinders
    implementation("androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01")
    implementation("androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01")
    implementation("androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01")


}

डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव/राय दें या शिकायत करें

आपके सुझाव, शिकायत या राय से हमें Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. नई लाइब्रेरी बनाने से पहले, कृपया इस लाइब्रेरी में मौजूद मौजूदा समस्याओं पर एक नज़र डालें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या पर अपना वोट जोड़ा जा सकता है.

नई समस्या बनाना

ज़्यादा जानकारी के लिए, समस्या ट्रैकर का दस्तावेज़ देखें.

संस्‍करण 1.5

वर्शन 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 अब AndroidExternalSurface की तरह ही, Surface सेशन पाने के लिए ट्रेलिंग लैम्ब्डा लेता है. दिया गया लैम्ब्डा फ़ंक्शन, ViewfinderInitScope को रिसीवर के तौर पर इस्तेमाल करता है. इससे नए Surface सेशन पाने के लिए, कॉलबैक इंस्टॉल करने की अनुमति मिलती है. ये सरफ़ेस सेशन, दायरे से बाहर निकलने पर व्यूफ़ाइंडर के पास मौजूद संसाधनों को अपने-आप रिलीज़ कर देते हैं. (Ib2b0d)
  • ViewfinderSurfaceRequest.Builder.populateFromCharacteristics को अब हटा दिया गया है और इसे स्टैटिक एपीआई के एक जैसे सेट से बदल दिया गया है. इसका इस्तेमाल TransformationInfo जनरेट करने के लिए किया जा सकता है. इससे populateFromCharacteristics जैसा ही ट्रांसफ़ॉर्मेशन होगा. ये स्टैटिक तरीके, Camera2TransformationInfo क्लास में जोड़े जाते हैं. (Idc6af)
  • ViewfinderSurfaceRequest में अब, सर्वर से डेटा पाने के लिए एसिंक्रोनस एपीआई शामिल नहीं हैं. अब यह ऐसा डेटा टाइप है जिसे बदला नहीं जा सकता. प्लैटफ़ॉर्म की जानकारी पाने के लिए इस्तेमाल होने वाले एपीआई, अब व्यूफ़ाइंडर में ले जाए गए हैं. (I30127)
  • CameraViewfinder का नाम बदलकर ViewfinderView कर दिया गया है, ताकि इसका नाम, व्यूफ़ाइंडर कॉम्पोज़ेबल के नाम से मेल खा सके. साथ ही, यह भी पता चल सके कि इसका इस्तेमाल सिर्फ़ कैमरा सोर्स के साथ ही नहीं किया जा सकता. (Id9e6b)
  • viewfinder-view की क्लास को androidx.camera.viewfinder पैकेज से androidx.camera.viewfinder.view सब-पैकेज में ले जाया गया है. (I6cb44)
  • व्यू के आधार पर काम करने वाले व्यूफ़ाइंडर में नए एपीआई जोड़े गए हैं. इनकी मदद से, सोर्स को घुमाया जा सकता है, उसे मिरर किया जा सकता है, और रेक्टैंगल में काटा जा सकता है. यह TransformationInfo क्लास, कॉम्पोज़ करने की सुविधा वाले व्यूफ़ाइंडर में इस्तेमाल की जाने वाली क्लास है. (I907c3)
  • व्यू पर आधारित व्यूफ़ाइंडर अब नए ViewfinderSurfaceRequest एपीआई का इस्तेमाल करता है. ये एपीआई, अब इंटरनल तौर पर Surface रिस्पॉन्स को मैनेज नहीं करते. requestSurfaceSession() एपीआई, ListenableFuture<Surface> के बजाय अब 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 एनोटेशन का इस्तेमाल करती है, जो टाइप-इस्तेमाल के लिए हैं. 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 में ये कमिट शामिल हैं.

नई सुविधाएं

1.4.0-alpha08 पर अपडेट करने के बाद, CameraX व्यूफ़ाइंडर आर्टफ़ैक्ट को अपने लाइब्रेरी ग्रुप में ले जाया गया है. यह बदलाव, 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 कॉम्पोज़ेबल मिलता है. यह एक ऐसा व्यूफ़ाइंडर है जो Compose के हिसाब से काम करता है. यह CameraX के SurfaceRequest को Compose में बदल देता है. यह उसी तरह काम करता है जिस तरह PreviewView व्यू के लिए काम करता है.