الملفات متعددة الوسائط (الملتيميديا) في أندرويد ستوديو
1. تقديم
يمكننا أن
نعرض مختلف ملفات متعددة الوسائط في التطبيقات المنجزة بأندرويد ستوديو Multimédia Android Studio، سواء أكانت
صور، صوت أو فيديو. سنتعرض لكيفية إضافة الملفات ثم قراءتها أو عرضها.
2. إضافة ملف صوتي
يمكن قراءة ملف صوتي من ثلاث طرق مختلفة:
1.2 الملف في مجلد raw
لإضافة ملف صوتي مجلد raw نتبع الخطوات التالية:
إنشاء مجلد مصادر resource folder في مشروعنا بإتباع الخطوات التالية:
إختر مجلد Res في المشروع
ثم إختر في الأندرويد ستوديو : File ----> New ----> Android
resource directory
من أجل نعطيه إسم 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
تعليقات
إرسال تعليق