Using Camera in Android in Hindi
RGPV University / DIPLOMA_CSE / MOBILE COMPUTING
Using Camera in Android
Using Camera in Android
Android में कैमरा का उपयोग एक बहुत महत्वपूर्ण फीचर है जो कई ऐप्स के लिए अनिवार्य होता है। चाहे आप एक कैमरा एप्लिकेशन बना रहे हों या किसी अन्य प्रकार का ऐप डेवलप कर रहे हों, कैमरा का उपयोग करना बहुत आसान है, बशर्ते आपको Android के कैमरा API और Permissions का सही ज्ञान हो। इस ब्लॉग में हम विस्तार से समझेंगे कि Android में कैमरा का उपयोग कैसे करें, इसके लिए जरूरी Permissions, API का इस्तेमाल, और कुछ उदाहरण।
1. Using Camera in Android Ki Buniyaadi Jaankari
Android में कैमरा का उपयोग करने के लिए सबसे पहले आपको कैमरा hardware की जानकारी और कैमरा API का सही तरीका समझना होगा। Android में कैमरा का उपयोग करने के लिए मुख्यतः दो API का इस्तेमाल किया जाता है:
- Camera API (जो पुराने versions में इस्तेमाल होता था)
- Camera2 API (जो नए versions में अधिक प्रचलित है और बेहतर features प्रदान करता है)
Camera API का उपयोग करते हुए हम कैमरा से फोटो खींच सकते हैं, वीडियो रिकॉर्ड कर सकते हैं, और लाइव कैमरा प्रिव्यू भी देख सकते हैं। Camera2 API, जो नए Android वर्शन में उपलब्ध है, बहुत ज्यादा advanced है और यह ज़्यादा control देता है जैसे कि focus, exposure, white balance आदि।
2. Using Camera in Android Ke Liye Permission
Android में कैमरा का उपयोग करने से पहले आपको उचित Permissions की आवश्यकता होती है। ये Permissions आपको ऐप के AndroidManifest.xml
फ़ाइल में घोषित करनी होती हैं। यदि permissions नहीं दी जातीं तो ऐप कैमरा का उपयोग नहीं कर पाएगा। जरूरी Permissions हैं:
- CAMERA: कैमरा को एक्सेस करने के लिए आवश्यक परमिशन।
- WRITE_EXTERNAL_STORAGE: कैमरा से खींची गई तस्वीरों को स्टोर करने के लिए आवश्यक परमिशन।
- READ_EXTERNAL_STORAGE: कैमरा से खींची गई तस्वीरों को पढ़ने के लिए परमिशन।
इन Permissions को AndroidManifest.xml में इस प्रकार से लिखा जाता है:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
3. Android Camera API Ko Use Karna
Android में कैमरा API का उपयोग करने के लिए आपको Camera या Camera2 API का इस्तेमाल करना होगा। यहां हम Camera2 API को देखेंगे, जो ज्यादा advanced और flexible है। सबसे पहले आपको CameraManager क्लास का उपयोग करके कैमरा की जानकारी प्राप्त करनी होती है।
नीचे एक साधारण उदाहरण दिया गया है:
CameraManager cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String cameraId = cameraManager.getCameraIdList()[0];
CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(cameraId);
इस कोड में CameraManager
को सिस्टम से प्राप्त किया जाता है, फिर getCameraIdList()
मेथड का उपयोग करके उपलब्ध कैमरा IDs की लिस्ट प्राप्त की जाती है।
4. Camera Intent in Android
Camera Intent का उपयोग करने से आप Android के सिस्टम में मौजूद कैमरा ऐप को सीधे अपने ऐप में ओपन कर सकते हैं। यह विशेष रूप से उन ऐप्स के लिए उपयोगी होता है जो केवल एक बार की तस्वीर खींचने का काम करते हैं।
नीचे एक साधारण कैमरा Intent उदाहरण दिया गया है:
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
यह Intent Android के बिल्ट-इन कैमरा ऐप को ओपन करेगा, और यूज़र फोटो ले सकता है। फिर, तस्वीर को onActivityResult()
मेथड के जरिए प्राप्त किया जाता है।
5. Android Camera Application Development
अब जब आप Camera API के बारे में जान चुके हैं, तो आइए जानते हैं कि Android में एक कैमरा एप्लिकेशन कैसे डेवलप करें। इस एप्लिकेशन में आपको कैमरा प्रिव्यू, फोटो कैप्चर, और स्टोर करने की प्रक्रिया को सही तरीके से हैंडल करना होगा। एक बेसिक कैमरा ऐप बनाने के लिए निम्नलिखित कदमों का पालन करें:
- Camera Permission को AndroidManifest.xml में ऐड करें।
- Camera API का उपयोग करके कैमरा इंस्टेंस प्राप्त करें।
- CameraView सेट करें ताकि कैमरा का लाइव प्रिव्यू दिख सके।
- Photo कैप्चर करने के लिए takePicture() मेथड का उपयोग करें।
- Captured photo को gallery में सेव करें।
नीचे एक बेसिक कैमरा ऐप का कोड उदाहरण दिया गया है:
CameraView cameraView = new CameraView(this);
cameraView.setCameraListener(new CameraListener() {
@Override
public void onPictureTaken(byte[] jpeg) {
File pictureFile = new File(getExternalFilesDir(null), "photo.jpg");
try (FileOutputStream fos = new FileOutputStream(pictureFile)) {
fos.write(jpeg);
} catch (IOException e) {
e.printStackTrace();
}
}
});
6. Camera Features and Enhancements
Camera2 API के जरिए Android में कैमरा की कई advanced features को एक्सेस किया जा सकता है जैसे:
- Manual Focus: कैमरा की फोकस सेटिंग्स को मैन्युअली कंट्रोल करें।
- Exposure Control: कैमरा की एक्सपोज़र सेटिंग्स को कस्टमाइज करें।
- White Balance: कैमरा के व्हाइट बैलेंस को एडजस्ट करें ताकि कलर्स सटीक दिखें।
- Image Stabilization: शॉट्स को स्थिर रखने के लिए इमेज स्टेबलाइजेशन का उपयोग करें।
इन सभी फीचर्स को उपयोग में लाकर आप एक बहुत ही प्रोफेशनल और हाई क्वालिटी कैमरा ऐप बना सकते हैं।
FAQs
AndroidManifest.xml
में घोषित करना होता है। इसके बाद आपको Camera API या Camera2 API का उपयोग करना होता है, जो आपके ऐप में कैमरा को कंट्रोल करने के लिए ज़रूरी होता है।
takePicture()
मेथड का उपयोग करके फोटो ले सकते हैं। इसके लिए CameraManager का उपयोग करके आपको कैमरा की जानकारी प्राप्त करनी होती है।
CAMERA
permission कैमरा को एक्सेस करने के लिए जरूरी है, और WRITE_EXTERNAL_STORAGE
permission द्वारा आप कैमरे से खींची गई तस्वीरों को डिवाइस में सेव कर सकते हैं।
MediaStore.ACTION_IMAGE_CAPTURE
Intent का उपयोग किया जाता है। इस Intent को startActivityForResult() मेथड के साथ भेजा जाता है ताकि उपयोगकर्ता कैमरे से फोटो ले सके।
FileOutputStream
का उपयोग करके सेव किया जा सकता है। onPictureTaken()
मेथड में jpeg
MediaScannerConnection.scanFile() का उपयोग करना होगा।