القائمة الرئيسية

الصفحات

الملفات متعددة الوسائط (الملتيميديا) في أندرويد ستوديو

الملفات متعددة الوسائط (الملتيميديا) في أندرويد ستوديو

 

الملفات متعددة الوسائط (الملتيميديا) في أندرويد ستوديو

 

1.    تقديم

يمكننا أن نعرض مختلف ملفات متعددة الوسائط في التطبيقات المنجزة بأندرويد ستوديو Multimédia Android Studio، سواء أكانت صور، صوت أو فيديو. سنتعرض لكيفية إضافة الملفات ثم قراءتها أو عرضها.


  2.    إضافة ملف صوتي

يمكن قراءة ملف صوتي من ثلاث طرق مختلفة:


1.2 الملف في مجلد raw

لإضافة ملف صوتي مجلد raw نتبع الخطوات التالية:

إنشاء مجلد مصادر resource folder في مشروعنا بإتباع الخطوات التالية:

إختر مجلد Res في المشروع

 

إضافة ملف صوتي مجلد raw

ثم إختر في الأندرويد ستوديو : File ----> New ----> Android resource directory

 

إنشاء مجلد raw في المشروع

من أجل نعطيه إسم raw و نوع raw كما في الصورة أدناه.

 

تسمية مجلد raw عند الإنشاء

بعد إنشاء مجلد المصادر نضع ملفنا الصوتي في المجلد المنشأ

 

2.2 الملف في مجلد assets

من أجل الوصول للملف نستخدم URI بالشكل التالي:

file://android_asset/nom_du_fichier.format_du_fichie

الملف يمكن أن يكون في مجلد في الجهاز أو على قرص خارجي:

sdcard/music/fichier.mp3

 

3.2 الملف في موقع streaming

يمكن قراءة ملف من موقع أنترنيت مباشرة كما يلي:

http://www.site_ musique.com/musique.mp3 

وفي هذه الحالة نحتاج إذن الوصول للأنترنيت في ملف Manifest:

<uses-permission android:name="android.permission.INTERNET" />

يمكن لأندرويد ستوديو أن يقرأ عدة أنواع من الملفات الصوتية أهمها التالية:

·       MP3

·       MIDI

·       Opus

·       Vorbis

·       PCM/WAVE

·       FLAC

·       AMR-WB

·       AMR-NB etc.

قراءة ملفات متعددة الوسائط (الملتيميديا) تتم عن طريق فئة classe MediaPlayer. و عنده خمس حالات يمكن برمجتها على حسب ما نريد وهي: مهيأ initialisé  عند إنشاء القارئ، محضر préparé  عندما نسند له ملفا لقراءته، منطلق démarré  عندما يبدأ قراءة الملف، في إستراحة en pause  عندما نوفقه مؤقتا، متوقف arrêté  عندما نوقف قراءة الملف نهائيا، منتهي terminé  عندما تتم قراءة الملف.


3 إنشاء كائن MediaPlayer

من أجل إنشاء كائن MediaPlayer فإننا نستعمل الإجراء التالي:

public  static  MediaPlayer  create (Context context, int resid)

هذا الإجراء يمكن إستخدامه بالشكل التالي إذا الملف موجود في المجلد raw:

MediaPlayer media = MediaPlayer.create(MultimediaActivity.this, R.raw.file);

و نستعمل كذلك إجراء إنشاء MediaPlayer  بالشكل التالي:

public static MediaPlayer create (Context context, Uri uri)

و في هذا الحال يمكن إستعماله كما الأمثلة التالية:

media = MediaPlayer.create(MultimediaActivity.this, Uri.parse("file://android_asset/fichier.mp4");

 

media = MediaPlayer.create(MultimediaActivity.this, Uri.parse("file://sdcard/music/fichier.mp3");

 

media = MediaPlayer.create(MultimediaActivity.this, Uri.parse("http://www.site_trop_cool.com/musique.mp3");

 

media = MediaPlayer.create(MultimediaActivity.this, Uri.parse("rtsp://www.site_trop_cool.com/streaming.mov");

 

في هذه الأمثلة نفترض أن إسم activité classe هو MultimediaActivity.


4. قراءة ملف صوتي

فيما يلي التعليمات التي تسمح بقراءة ملف صوتي مع إنشاء كائن  MediaPlayer  كما رأينا سابقا و نفترض أن إسم الملف الصوتي في هذا المثال ringtone :

MediaPlayer music = MediaPlayer.create(MultimediaActivity.this, R.raw.ringtone);

music.start();


5. تسجيل فيديو

لتسجيل فيديو فأننا نستخدم التعليمات التالية:

Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);

startActivityForResult(takeVideoIntent, REQUEST_VIDEO_CAPTURE);

 

و نحتاج في إجراء onActivityResult  لتفاصيل حول هذ الإجراء يمكن العودة لموضوع الإنتقال بين الأنشطة تبادل المعلومات، أن نضيف التعليمات التالية:

if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {

    Uri videoUri = data.getData();

    videoView.setVideoURI(videoUri);

    videoView.start();

}

 

6. إلتقاط صورة

لالتقاط صورة فإننا نستخدم التعليمات التالية:

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

startActivityForResult(cameraIntent, CAMERA_REQUEST);

 

و كما في تسجيل الفيديو فإننا نحتاج في إجراء onActivityResult  التعليمات التالية:

if (requestCode == CAMERA_REQUEST) {

    Bitmap photo = (Bitmap) data.getExtras().get("data");

    imageView.setImageBitmap(photo);

}

 

ليصلك الجديد و تبقى دائما على إطلاع زر مدونتنا دائما أو تابع صفحاتنا على الفيس بوك  :الأستاذ بن مير عبد القادر و baek-oasis

تعليقات