مدیاپلیر (MediaPlayer) در اندروید

مدیاپلیر (MediaPlayer) در اندروید

در اندروید راه های زیادی برای کار با صداها و ویدیوها وجود دارد، ولی یکی از بهترین و کاربردی ترین آن ها فراخوانی و استفاده از کلاس MediaPlayer می باشد.

اندروید از کلاس MediaPlayer پشتیبانی میکند تا به راحتی بتوانیم از خدمات و توابع آماده آن مانند play کردن صدا و ویدیو و … استفاده کنیم.

برای استفاده از کلاس MediaPlayer در ابتدا نیاز داریم تا متد ()create این کلاس که به صورت static است را صدا بزنیم. این متد یک شی از کلاس را بر می گرداند که syntax آن به صورت زیر است:

در متد ()create دومین آرگومان مربوط به نام و آدرس آهنگی است که میخواهیم آن را play کنیم.

توجه: برای ایجاد فایل raw در پروژه خود، نیاز است تا بر روی قسمت res کلیک کرده و یک پوشه از نوع raw ساخته و صدا یا ویدیو خود را در آن قرار دهید.

زمانی که شما یک شی از کلاس MediaPlayer ساختید می توانید با فراخوانی متد های زیر صدا یا ویدیو خود را start یا stop کنید.

اگر متد ()start فراخوانی شود صدا یا ویدیو از ابتدا آغاز می شود ولی اگر این متد را بعد از متد ()pause فراخوانی کنیم صدا با ویدیو از زمانی که pause شده آغاز می شود.

برای شروع ویدیو یا صدا از ابتدا از متد ()reset استفاده می کنیم که syntax آن به صورت زیر است:

علاوه بر متدهای بالا متدهای دیگری نیز وجود دارند، شما می توانید با استفاده از آن ها نتیجه ای را که می خواهید بگیرید که در جدول زیر لیست شده اند:

 

متد توضیحات
isPlaying() این متد فقط true یا false را برمیگرداند که مشخص میکند مدیا در حال پخش است یا خیر
seekTo(position)    را می گیرد و مدیا را به مکان موردنظر می برد integer این متد یک عدد
getCurrentDuration()  این متد مکان فعلی مدیا را بر حسب میلی ثانیه برمی گرداند
getDuration() این متد مدت زمان کل مدیا را برمی گرداند
reset()  این متد مدیا را از ابتدا آغاز می کند
release()  این متد هر منبعی را که توسط این کلاس گرفته شده را آزاد می کند
setVolume(float leftVolume, float rightVolume) این متد صدای بالا و پایین را برای این مدیا مشخص می کند
setDataSource(FileDescriptor fd) این متد آدرس فایل مدیا را مشخص می کند
selectTrack(int index) این متد یک عدد را به عنوان ورودی میگیرد و سپس از داخل لیست آن مدیا را با این ایندکس انتخاب می کند
getTrackInfo() این متد یک آرایه از اطلاعات مدیاها برمی گرداند

 

مثال:

در این جا یک مثال ساده از کلاس MediaPlayer می زنیم که در آن آهنگی را میتوان start , pause و یا جلو و عقب برد.

۱ . در ابتدا نیاز است تا یک پروژه در اندروید ایجاد کنیم.

۲ . یک پوشه از نوع raw در res پروژه خود بسازید و فایل mp3 خود را در آن قرار دهید.

۳ . کدهای زیر را در فایل java خود با نام MainActivity.java (به صورت پیش فرض) کپی کنید.

۴ . کدهای زیر را در فایل xml خود با نام activity_main.xml (به صورت پیش فرض) بریزید.

در کد بالا تصویر با نام logo مربوط به لگو سایت mobcollege می باشد.

۵. حال کدهای زیر را در فایل string.xml پروژه خود بریزید.

۶. در آخر کدهای زیر را نیز در فایل AndroidManifest.xml خود قرار دهید.

در کد بالا ir.mobcollege.mediaplayer نام پکیج برنامه می باشد که به جای آن شما باید نام پکیج خود را قرار دهید.

خروجی برنامه :

×در صورت عدم مشاهده تصاویر لفا نرم افزار گذر از تحریم خود را فعال کنید.

mediaplayer-android-project-1

mediaplayer-android-project-2

mediaplayer-android-project-3

تمام 🙂

مقاله های مرتبط :

دیدگاه خود را بیان کنید :

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

۱ دیدگاه برای این مطلب ثبت شده است

  1. […]  در این مثال ما از کلاس MediaRecorder برای ضبط صدا و از کلاس MediaPlayer برای پخش آن استفاده […]