1 Liked

Media Picker || مكتبة للتعامل مع الوسائط

اذا كنت مطور اندرويد واردت التعامل مع الكاميرا سواء كان لالتقاط الصور او تسجيل مقطع فيديو او حتى اذا اردت استيراد صورة من الاستديو الخاص بالجهاز, فربما واجهتك مشكلة في تنفيد الكود الخاص بهذ الامر, لذلك تسهيلاً لعملية التواصل مع الوسائط بشكل عام او الكاميرا بشكل خاص وجدت هذه المكتبة.

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

تنبيه

حصلت تغيرات كثيرة مع الاصدار الجديد للمكتبة 2.x.x وذلك لاصلاح العديد من المشاكل وتحسين اداء المكتبة, لذلك يفضل تحديث مشروعك واتباع الشرح بالاسفل.

التثبيت

Maven

Gradle


طريقة الاستخدام

الصور

بعد اضافتك للمكتبة, يجب عليك اتباع التالي:

  1. إنشاء اوبجكت من كلاس ImagePicker
  2. اعادة كتابة ميثود onActivityResult

انشاء اوبجكت من ImagePicker

يجب عليك انشاء اوبجكت من الكلاس ImagePicker, بعد ذلك قم باستدعاء الدالة build()

مزايا اضافية

  • تستطيع تغير امتداد الصورة عن طريق استدعاء الدالة extanion وتمرير لها احد القيم التالية PNG or JPG
    مثال:

  • تستطيع تغير جودة الصورة عن طريق استدعاء الدالة compressLevel وتمرير لها احد القيم التالية HARD,MEDIUM ,SOFT or NONE

 

  • تستطيع التقاط الصور من الكاميرا او من البوم الصور او الاثنين معأ عن طريق استدعاء دالة mode وتمرير لها احد القيم التالية CAMERA,GALLERY or CAMERA_AND_GALLERY

 

  • تستطيع حفظ الصور في مجلد خاص على ذاكرة الجهاز او ان تستدعي المجلد الافتراضي للمكتبة عن طريق استدعاء الدالة directory

 

مثال على استدعاء المكتبة ببعض الخصائص

 


Video

بعد اضافتك للمكتبة, يجب عليك اتباع التالي:

  1. Implement an OnVideoSetListener
  2. إنشاء اوبجكت من كلاس VideoPicker

Implement an OnVideoSetListener

من احد اهم الامور لاسترجاع رابط الفيديو, يجب عليك ان تقوم بعمل implement للانترفيس OnVideoSetListener

@Override
    public void OnVideoSet(String path) {

    }

انشاء اوبجكت من VideoPicker

يجب عليك انشاء اوبجكت من الكلاس VideoPicker, بعد ذلك قم باستدعاء الدالة pick()

مزايا اضافية

  • تستطيع تغير امتداد الفيديو عن طريق استدعاء الدالة SetExtanion وتمرير لها احد القيم التالية Mp4,3gp or mkv
    مثال:


Voice

قريبا,,


 

رابط المكتبة

https://github.com/alhazmy13/MediaPicker

 

5 Comments

  • Mostafa

    November 15, 11 2015 08:46:47

    مدونة رائعة ولكن كافة الـ pagination تؤدي للصفحة الرئيسية
    http://alhazmy13.net/page/2/

    • Abdullah Alhazmy

      November 15, 11 2015 04:23:55

      تم التعديل, شكرا لك

  • Ghaliah

    February 20, 02 2016 08:50:33

    مرحبا أ.عبدالله

    طبقت بنفس المكتبة والخطوات, وتشتغل كاملة لكن تطلع لي مشكلة باسترجاع الصورة للـ image view, الصورة ماترجع للأبليكيشن
    تصير لي مشكلة في انه مايتعرف على الـ leakcanary و RefWatcher
    ف ياليت تفيدنا بالحل اذا تعرف, وشكراً

    • Abdullah Alhazmy

      February 22, 02 2016 01:35:37

      تم تحديث المقالة والمكتبة

  • ALLOMI Raj

    April 27, 04 2016 08:50:10

    شكراً لك ,ولكن أتمنى ان تدعم MinSdk15

Leave a Reply