دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۹
  • آبان

جلسه ۴۹ : MediaPlayer در برنامه نویسی اندروید

  • دسته‌بندی‌ها :
جلسه ۴۹ : MediaPlayer در برنامه نویسی اندروید
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش برنامه نویسی اندروید را دنبال می کنند. اندروید راه های بسیاری را برای کنترل پخش فایل های صوتی / تصویری فراهم می کند. یکی از این راهها، از طریق یک کلاس به نام MediaPlayer است.اندروید کلاس MediaPlayer را برای دسترسی به سرویس های مدیا پلیر ساخته شده مانند پخش صوت، ویدئو و… ارائه می دهد. برای استفاده از قابلیت های کلاس MediaPlayer، باید از متد ()create در برنامه استفاده کنیم. برای آشنایی با چگونگی استفاده از کلاس MediaPlayer در برنامه نویسی اندروید در ادامه ی مباحث این بخش با ما همراه باشید.

      MediaPlayer در برنامه نویسی اندروید

      در این مبحث ما ساختار کلی استفاده از  MediaPlayer در برنامه نویسی اندروید و متدهای مربوطه را ارائه کرده ایم.

      روال کلی کار

      همانطور که اشاره کردیم برای استفاده از کلاس MediaPlayer ما باید از متد ()create در برنامه خود استفاده کنیم.

      ساختار کلی تعریف این متد به صورت زیر است:

      مثال : 

      پارامتر دوم نام آهنگی است که می خواهید آن را اجرا کنید.

      در اولین گام یک فولدر جدید با نام raw در پروژه ی حخود ایجاد کرده و آهنگ مورد نظر را داخل آن قرار می دهیم.

      هنگامی که شما Object Mediaplayer را ایجاد کرده اید، می توانید برخی از متدها را برای شروع یا توقف موسیقی فراخوانی کنید.

      این متدها شامل به صورت زیر است:

      مثال : 

      با فراخوانی متد ()start موزیک از ابتدای پخش آن پخش خواهد شد.

      اگر متد فوق بعد از متد ()pause مجددا فرخوانی شود آهنگ از جایی که موقف شده پخش می شود.

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

      مثال : 

      علاوه بر متدهای فوق، متدهای دیگری نیز برای مدیریت و رفتاردهی به فایل های audio/video ارائه شده که به شرح زیر است:

      ردیفمتد  توضیحات
      ۱

      isPlaying()

      این متد با برگرداندن یکی از مقادیر true/false مشخص می کند یک موسیقی در حال پخش است یا خیر.

      ۲

      seekTo(position)

      این متد یک پارامتر از نوع integer دریافت کرده و بر اساس آن موزیک را بر حسب میلی ثانیه به موقعیت خاص می برد.

      ۳

      getCurrentPosition()

      این متد موقعیت جاری پخش موزیک را بر حسب میلی ثانیه برمی گرداند.

      ۴

      getDuration()

      این متد زمان کلی پخش موزیک را بر حسب میلی ثانیه برمی گرداند.

      ۵

      reset()

      این متد media player را ریست می کند.

      ۶

      release()

      این متد منابعی را که به آجکت MediaPlayer مرتبط شده اند را تجزیه می کند.

      ۷

      setVolume(float leftVolume, float rightVolume)

      این متد volume بالای player را تنظیم می کند.

      ۸

      setDataSource(FileDescriptor fd)

      این متد منبع داده فایل های audio/video را تنظیم می کند.

      ۹

      selectTrack(int index)

      این متد یک مقدار integer را دریافت کرده و شماره index معادل آن، از لیست پخش را که یک track مشخص است، را برمی گرداند.

      ۱۰

      getTrackInfo()

      این متد آرایه ی اطلاعات track را برمی گرداند.

      مثال

      در ادامه به یک نمونه برنامه از طرز استفاده ی کلاس MediaPlayer برای پخش موسیقی پرداخته ایم.

      این برنامه ی ساده به شما امکن پخش ، مکث و برگشت به عقب موسیقی را فراهم می کند.

      نکته : برای تست این برنامه باید آن را در یک دستگاه اندروید واقعی اجرا کنید تا بتوانید صدای موسیقی را بشنوید.

      مراحل انجام کار:

      مراحلتوضیحات
      ۱مراحل ایجاد برنامه در اندروید استدیو را طبق بخش های قبلی دنبال کنید.
      ۲به محتوای فایل src/MainActivity.java کد MediaPlayer را اضافه کنید.
      ۳طراحی مناسب با این برنامه را به res/layout/activity_main اضافه کنید.
      ۴یک فولدر جدید با نام raw در زیر MediaPlayer ایجاد کرده و یک فایل .mp3 موسیقی را با نام song.mp3 به آن اضافه کنید.
      ۵برنامه را اجرا کنید تا دستگاه اندروید شما نتیجه را نمایش دهد.

      به محتوای فایل main activity که در src/MainActivity.java قرار دارد کد زیر را اضافه کنید:

      مثال : 

      طراحی این برنامه در فایل res/layout/activity_main.xml به صورت زیر است:

      مثال : 

      محتوای فایل res/values/string.xml:

      مثال : 

      محتوای فایل  AndroidManifest.xml:

      مثال : 

      اجرای برنامه

      برای اجرای برنامه ی اندرویدی خود یکی از فایل های activity در برنامه ی خود کلیک کنید.

      سپس روی نماد  (Run) از نوار ابزار برای شروع اجرای برنامه کلیک کنید.

      سپس نتیجه اجرای برنامه را در دستگاه اندروید خود مشابه زیر مشاهده خواهید کرد:

      MediaPlayer در برنامه نویسی اندروید

      MediaPlayer در برنامه نویسی اندروید

      در حالت پیش فرض مشاهده می کنید که دکمه pause غیر فعال است.

      وقتی که روی play برای پخش موسیقی کلیک کنید خواهید دید که pause فعال می شود.

      حالا در حالی که موسیقی در حال پخش است روی pause کلیک کنید تا نتیجه ی توقف پخش را مشاهده کنید:

      MediaPlayer در برنامه نویسی اندروید -نتیجه توقف موسیقی

      MediaPlayer در برنامه نویسی اندروید -نتیجه توقف موسیقی

      سپس زمانیکه مجددا روی play کلیک کنید موسیقی از ابتدای آن پخش نخواهد شد.

      حالا روی دکمه هایی که نماد fast forward یا backward دارد کلیک کنید تا موسیقی ۵ ثانیه به جلو یا عقب برود.

      زمانیکه دیگر امکان به جلو بردن موسیقی نباشد، یک اطلاعیه به صورت زیر نمایش داده می شود:

      MediaPlayer در برنامه نویسی اندروید -اعلام عدم امکان جلو رفتن موسیقی

      MediaPlayer در برنامه نویسی اندروید -اعلام عدم امکان جلو رفتن موسیقی

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

      کلام آخر

      قابلیت پخش موسیقی و فایل های چند رسانه ای امروزه تقریبا در تمام تلفن های همراه اندروید ارائه می شود. شما نیز می توانید با استفاده از کلاس MediaPlayer در برنامه نویسی اندروید این قابلیت را به اپلیکیشن خود اضافه کنید.

      در بخش بعدی به آموزش قابلیت Multitouch در اندروید می پردازیم.

      QR:  جلسه ۴۹ : MediaPlayer در برنامه نویسی اندروید
      به اشتراک بگذارید