تسجيل الفيديوهات

ملاحظة: تشير هذه الصفحة إلى الفئة Camera التي تم إيقافها نهائيًا. ننصح باستخدام CameraX أو Camera2 في حالات استخدام معيّنة. تتوافق كل من CameraX وCamera2 مع الإصدار 5.0 من نظام التشغيل Android (المستوى 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);
    }
}