ملاحظة: تشير هذه الصفحة إلى فئة 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); } }