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

ध्यान दें: इस पेज पर, Camera क्लास के बारे में बताया गया है. हालांकि, अब इस क्लास का इस्तेमाल नहीं किया जा सकता. हमारा सुझाव है कि आप 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 Camera ऐप्लिकेशन, Intent में मौजूद वीडियो को onActivityResult() पर डिलीवर करता है. यह वीडियो, Uri के तौर पर डिलीवर होता है. यह Uri, स्टोरेज में वीडियो की जगह की जानकारी देता है. यह कोड, इस वीडियो को VideoView में दिखाता है.

KotlinJava
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)
    }
}
@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);
    }
}