مديا پلير(Media Player) در برنامه نویسی اندروید

در اندروید راه های زیادی برای کار با صوت و ویدیو وجود دارد، ولی یکی از بهترین و کاربردی ترین آن ها فراخوانی و استفاده از کلاس مدیا پلیر(Media Player) می باشد.

در آموزش این پست با ساخت مديا پلير و پخش صوت در اندروید در خدمت شماییم.

 

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

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

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

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

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

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

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

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

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

مثال:

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

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

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

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

در کدهای بالا ما از چهار دکمه(Button)،برای کار با مديا پلير استفاده کرده ایم.

به خطوط ۲۶ و ۲۷ از کدهای بالا توجه کنید،دو متغیر از نوع int تعریف کرده ایم،و مقدار ۵۰۰۰ را به آن ها داده ایم که نشان دهنده ۵ ثانیه زمانی است که با فشردن دکمه های عقب و جلوی مديا پلير آهنگ تغیر مکان میدهد.

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

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

حال نوبت آن رسیده تا با استفاده از اندروید استودیو برنامه را اجرا کنیم. برای این منظور روی آیکون Run که در نوار ابزار قرار دارد کلیک کنید.اگر همه چیز بدون مشکل پیش برود پنجره ی شبیه ساز شما مانند تصویر زیر خواهد بود.

mediaPlayer android

 

 

 

 

 

 

 

 

 

پاسخ دهید

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