एंड्रॉइड में कैमरे के साथ काम करें: वीडियो शूट करें

लेख में टिप्पणियों में एंड्रॉइड में कैमरे के साथ काम करना , वीडियो रिकॉर्डिंग बनाने के तरीके के बारे में एक सवाल पूछा गया था। यह पता चला है कि यह सब काफी सरलता से किया जाता है।

रिकॉर्डिंग वीडियो (साथ ही ऑडियो) के लिए, MediaRecorder वर्ग जिम्मेदार है
वास्तव में, रिकॉर्डिंग को सक्षम करने के लिए, आपको निम्नलिखित कार्य करने होंगे:

1. क्लास MediaRecorder का ऑब्जेक्ट बनाएं
MediaRecorder recorder = new MediaRecorder(); 

2. ऑडियो और वीडियो स्रोतों को कॉन्फ़िगर करें
 recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT); recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT); 

एक ध्वनि स्रोत के रूप में, आप यह भी निर्दिष्ट कर सकते हैं:
MediaRecorder.AudioSource.MIC - ,
MediaRecorder.AudioSource.CAMCORDER - ,

3. आउटपुट स्वरूप सेट करें
 recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); 

आप यह भी सेट कर सकते हैं:
MediaRecorder.OutputFormat.MPEG_4 - mp4
MediaRecorder.OutputFormat.THREE_GPP - 3gp

4. वीडियो और ऑडियो रिकॉर्डिंग पैरामीटर कॉन्फ़िगर करें (उदाहरण के लिए, निम्न मानों के साथ)
 recorder.setVideoEncodingBitRate(150000); //   recorder.setAudioEncodingBitRate(8000); //   recorder.setAudioSamplingRate(8000); //     recorder.setAudioChannels(1); //     recorder.setVideoFrameRate(30); //    recorder.setVideoSize(640, 480); //   recorder.setMaxDuration(0); //    recorder.setMaxFileSize(0); //    

5. रिकॉर्डिंग के लिए फ़ाइल का नाम सेट करें
 recorder.setOutputFile(); 

6. पूर्वावलोकन सेट करें
 recorder.setPreviewDisplay(Surface); 

7. रिकॉर्डिंग के लिए तैयार करें
 recorder.prepare(); 

8. लंबे समय से प्रतीक्षित लॉन्च। इस बिंदु पर, पूर्वावलोकन चालू हो जाएगा और रिकॉर्डिंग शुरू हो जाएगी।
 recorder.start(); 

समाप्त करने के लिए:
9. रिकॉर्डिंग बंद करो
 recorder.stop(); 

10. यदि हम अलग-अलग सेटिंग्स वाले किसी अन्य रिकॉर्ड के लिए एक ही ऑब्जेक्ट का उपयोग करना चाहते हैं
 recorder.reset(); //   ,  setAudioSource() 

11. वस्तु को मुक्त करें
 recorder.release(); 

यदि आप रिकॉर्डिंग से पहले पूर्वावलोकन देखना चाहते हैं, तो आपको कैमरा और रिकॉर्डर के साथ दोस्त बनाने की आवश्यकता है। ऐसा करने के लिए, निम्न कार्य करें:

रिकॉर्डिंग से पहले:
- कैमरा प्रीव्यू बंद करें
 camera.stopPreview(); 

- कैमरा शेयरिंग की अनुमति दें
 camera.unlock(); 

- कैमरा ऑब्जेक्ट को रिकॉर्डर में सेट करें
 recorder.setCamera(camera); 

रिकॉर्डिंग के बाद:
- कैमरे के लिए साझाकरण निषेध
 camera.reconnect(); 

- कैमरा प्रीव्यू ऑन करें
 camera.startPreview(); 

खैर, निश्चित रूप से, वीडियो रिकॉर्डिंग की अवधि के लिए फोटोग्राफी बंद करना न भूलें।

पिछले कार्यक्रम (सेटिंग्स मेनू भी जोड़ा गया है) से वीडियो रिकॉर्डिंग के लिए अनुकूलित फोटोग्राफी कार्यक्रम के स्रोतों को यहां डाउनलोड किया जा सकता है

लिखते समय, सूचना के निम्न स्रोतों का उपयोग किया गया था:

1. शवन वन हर। प्रो एंड्रॉइड मीडिया: स्मार्टफ़ोन और टैबलेट के लिए ग्राफिक्स, संगीत, वीडियो और रिच मीडिया ऐप विकसित करना। एप्रेस 2009।
2. कैमरा वर्ग का विवरण
3. मीडियाक्रेटर क्लास विवरण

Source: https://habr.com/ru/post/In113480/


All Articles