वीडियो रिकॉर्ड करना

ध्यान दें: यह पेज, कैमरा क्लास के बारे में है. यह अब काम नहीं करता. हमारा सुझाव है कि आप CameraX या इस्तेमाल के कुछ खास उदाहरणों के लिए, Camera2 इस्तेमाल करें. CameraX और Camera2, दोनों ही Android 5.0 (एपीआई लेवल 21) और इसके बाद वाले वर्शन पर काम करते हैं.

इस लेसन में बताया गया है कि मौजूदा कैमरे का इस्तेमाल करके वीडियो कैसे कैप्चर किया जाता है का इस्तेमाल करें.

आपके आवेदन के लिए आवेदन करना ज़रूरी है और वीडियो जोड़ना बहुत ही छोटा सा काम है उसका हिस्सा बन गया है. आपको सिर्फ़ झंझट से ही वीडियो बनाने हैं, कैमकॉर्डर. अच्छी बात यह है कि Android पर चलने वाले ज़्यादातर डिवाइसों में पहले से ही कैमरा ऐप्लिकेशन होता है, जो वीडियो रिकॉर्ड करता है. इस लेसन में, आपने अपने लिए ऐसा किया है.

यहां दिए गए मिलते-जुलते संसाधनों को देखें:

कैमरे की सुविधा के लिए अनुरोध करें

आपका ऐप्लिकेशन कैमरे की ज़रूरत के मुताबिक काम करेगा, इसका विज्ञापन देने के लिए मेनिफ़ेस्ट फ़ाइल में <uses-feature> टैग:

<manifest ... >
    <uses-feature android:name="android.hardware.camera"
                  android:required="true" />
    ...
</manifest>

अगर आपका ऐप्लिकेशन इस्तेमाल करता है, लेकिन काम करने के लिए कैमरे की ज़रूरत नहीं है, तो android:required को false पर सेट करें. ऐसा करने पर, Google Play ऐसे डिवाइसों को अनुमति देगा जिनमें कैमरा से साइन इन करें. ऐसे में, यह देखना आपकी ज़िम्मेदारी है कि प्रॉडक्ट उपलब्ध है या नहीं hasSystemFeature(PackageManager.FEATURE_CAMERA) को कॉल करके, रनटाइम के दौरान कैमरे को ऐक्सेस करने की सुविधा मिलती है. अगर कोई कैमरा मौजूद नहीं है, तो आपको कैमरे की सुविधाएं बंद कर देनी चाहिए.

वीडियो देखें

Android कैमरा ऐप्लिकेशन, डिलीवर किए गए Intent में वीडियो दिखाता है onActivityResult() को Uri के तौर पर सेव करें. यह कोड इस वीडियो को पुनर्प्राप्त करता है और इसे VideoView में दिखाता है.

Kotlin

override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent) {
    if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {
        val videoUri: Uri = intent.data
        videoView.setVideoURI(videoUri)
    }
}

Java

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {
        Uri videoUri = intent.getData();
        videoView.setVideoURI(videoUri);
    }
}