Camera الكاميرا

في كثير من التطبيقات قد تحتاج إلى استخدام الكاميرا سواء لتسجيل فيديو أو لأخذ صورة ده موضوعنا اليوم إن شاء الله وهنا يتم استدعاء الكامير الموجودة بالجهاز

لابد من السماح من أستخدام الكاميرا داخل التطبيق من خلال إضافة الأذون التالية في ملفAndroidManifest.xml

ليصبح الملف كالتالي

-داخل ملف التصميم تم إنشاء two Buutons- ImageView – VideoView

ليصبح الملف كالتالي

activity_main.xml

داخل ملف الجافا تم إضافة المكتبات الآتية

 تعريف مجموعة من الثوابت التي سنحتاجها في التطبيق

تعريف مجلد لحفظ الصور ليكون Hello Camera

تعريف ملف uri لحفظ الصور والفيديوهات

عمل أوبجكت من

داخل

تم ربط ملف الجافا بالتصميم

أخذ ال Id

وضع إيفنت على الزرار الخاص بأخذ الصور

وضع إيفنت على الزرار الخاص بتسجيل الفيديو

لنتأكد من أن الكاميرا متاحة بالجهاز وفي حالة انها غير متاحة يتم إظهار رسالة بأن الجهاز لا يدعم الكاميرا وغلق التطبيق

للتأكد من وجود الكاميرا داخل الجهاز كهارد وير لو موجودة return true لو غير موجودة return false

لنستطيع لألتقاط الصور نستخدم intent من خلال MediaStore.ACTION_IMAGE_CAPTURE نطلب الكاميرا للتصوير

لتحديد المسار لحفظ الصور

لبدء لتصوير

ميثود التصوير

بعد إغلاق الكاميرا هنستدعي الميثود

بداخلها يتم التأكد من التقاط الصورة في حالة نجاح التصوير هيتم عرض الصورة من خلال أستدعاء الميثود

في حالة قيام المستخدم بالغاء أستخدام الكاميرا تظههر رسالة بأنه قام بألغاء التصوير

في حالة فشل التصوير هتظهر رسالة بأنه فشل

الكود الكامل للميثود

داخل الميثود previewCapturedImage

التأكيد على إخفاء عرض الفيديو من خلال

والتاكيد على عرض الصورة من خلال

عرض الصورة من المسار مع ضبطها

الكود النهائي

لتسجيل فيديو

يتم استخدام MediaStore.ACTION_VIDEO_CAPTURE لأستدعاء الكاميرا للتسجيل

لضبط الفيدو على أعلي جودة يستخدم  1 لو تم استخدم 0 يسكون الفيديو بأقل جودة

لتحديد مسار حفظ الفيديو

لبدء التسجيل

الكود الكامل للتسججيل بالفيديو

بعد إغلاق الكاميرا يتم إستدعاء الميثود

في الجزء الخاص بنجاح تسجيل الفيديو

يتم أستدعاء الميثود

في حالة قيام المستخدم بألغاء التسجيل تظهر رسالة بأنه تم إلغاء تسجيل الفيديو

أو تظهر رسالة بانه لم يتم التسجيل

الكود الكامل

داخل الميثود

يتم إخفاء عرض الصورة

عرض الفيديو

وضع الفيديو في مكان العرض من مساره

بدء العرض

الكود الكامل

عند استخدام fileUri سيؤدي الى NullPointerException لذلك لابد من حفظها داخل onSaveInstanceState واسترجاعها من خلال onRestoreInstanceState()  لنستطيع أن نحصل على الصور والفيديوهات بالطريقة الاتية

يفضل أضافة الميثود الأتية للملف تساعدك في أنشاء الملفات داخل sdcard واسترجعها منها

لأنشاء مسار uri لحفظ الصور والفيديوهات

لأسترجاع الصور والفيديوهات من sdcard

إنشاء مكان التخزين إذا لم يكن موجود

إنشاء  ملف الصورة أو الفيديو

الكود الكامل

الكود الكامل

 MainActivity

لتحميل المشروع من هنا

 

 

 

 

 

يرجي تقييم الموضوع

Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather
The following two tabs change content below.

عهود على

Comments

comments

الوسوم

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *