کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش Media Player در اندروید

android-آموزش اندروید-آموزش برنامه نویسی اندروید

آموزش Media Player در اندروید

اندرويد راه هاي بسيار زيادي براي استفاده از فايل هاي صوتي و تصويري ايجاد كرده است. يكي از اين راه ها استفاده از مديا پلير است.

اندرويد مديا پلير را فراهم كرده تا به سرويس هاي اين گروه همچون خواندن فايل هاي صوتي و تصويري و غيره دسترسي داشته باشد.به منظور استفاده از مديا پلير ما بايد روش استتيك را به آن نسبت دهيم.در اين روش دوباره به مديا پلير باز مي گردد. كه جزييات در زير آمده است.

                MediaPlayer mediaPlayer = MediaPlayer.create(this, ‎R.raw.song);
            

دومين خصوصيت نام ترانه است كه شما قصد به اجرا در آوردن آن را داريد.شما بايد پوشه جديدي در پروژه خود بسازيد با نام راو و اطلاعات فايل موزيك را در آن قرار دهيد.

براي اولين بار كه شما شكل مديا پلير را ساخته ايد شما ميتوتنيد برخي روش ها را براي شروع كردن و تمام كردن موزيك ايجاد كنيد. اين روش ها در زير ليست شده اند.

mediaPlayer.start();‎
        mediaPlayer.pause();
            

روش استارت آهنگ از ابتدا شروع به اجرا شدن مي كند. اگر آهنگ دوباره بعد از روشن كردن پاز دوباره شروع به اجرا كند از قسمتي كه مكث داشته است شروع مي كند و نه از ابتدا.

به منظور شروع موزيك از ابتدا شما بايد از روش ري استارت استفاده كنيد. كه جزييات در زير آمده است.

                mediaPlayer.reset();            

علاوه بر روش هاي استارت و استاپ ديگر روش هاي ارائه شده در اين گروه براي كارايي بالاتر فايل هاي صوتي و تصويري ارئه شده اند. اين روش ها در زير ليست شده است.

توضيحات
مراحل
isPlaying() اين روش درستي يا اشتباه اجرا شدن ترانه را مشخص مي كند..
1
seekTo(positon) در اين روش آهنگ به طور صحيح دريافت مي شود و ترانه در لحظه اي خاص انتقال داده مي شود.
2
getCurrentDuration() اين روش حالت فعلي ترانه را در يك هزارم ثانيه به حالت قبل باز مي گرداند.
3
getDuration() اين روش كل زمان ترانه را در يك هزارم ثانيه باز مي گرداند.
4
reset() در اين روش مديا پلير دوباره بار گذاري ميشود.
5
release() اين روش هر منبعي را كه به مديا پلير پيوست داده ميشود را آزاد مي كند.
6
setVolume(float leftVolume, float rightVolume) در اي روش مديا پلير به بالا و پايين بردن صدا كمك مي كند.
7
setDataSource(FileDescriptor fd) اين روش منبع اطلاعاتي فايل هاي صوتي و تصويري را پايه گذاري ميكند.
8
selectTrack(int index) اين روش به درستي يكي از ترانه هاي را از ليست موارد خاص انتخلب مي كند.
9
getTrackInfo() اين روش مسيري است به سوي اطلاعات فايل هاي صوتي و تصويري.
10

مثال:

در اينجا مثالي براي استفاده از مديا پلير ارائه شده است. يك مديا پلير پايه ميسازد كه شامل فوروارد و بكوارد و پلي و ياز مي شود.

به منظور آزمايش کردن اين مثال شما نياز به يك دستگاه واقعي براي شنيدن صدا داريد.

توصيف
مراحل
شما از اكليپس آي دي اي براي ساختن برنامه اندرويدي بانام مديا پليراستفاده خواهيد كرد و آن را در پوشه كام. اگزمپل.مدياپلير جاي خواهيد داد و از هدفمند بودن اس دي كي و گرد آوري آن با آخرين ورژن اندرويد به منظور استفاده از سطوح بالاتري از اي پي آي ها اطمينان حاصل كنيد. .
1
اصلاح src/MainActivity.java file به منظور افزودن كد هاي لازم
2
اصلاح the res/layout/activity_main به منظور افزودن تركيبات اكس ام ال به ترتيب
3
اصلاح the res/values/string.xml به منظور افزودن تركيبات رديفي لازم
4
يك پوشه جديد در مديا پلير بسازيد و آن را راو نام نهيد ويك فايل ام پي تري در آن جاي داده با اين مضمون song.mp3
5
برنامه را اجرا كنيد و يك وسيله اندرويدي اجرايي را انتخاب كنيد سپس برنامه را در آن نصب كنيد و نتيجه را باز بيني كنيد
6

در قسمت زير مطلب به كلي توضيح داده شده است.

src/com.example.mediaplayer/MainActivity.java ‎
        package com.example.mediaplayer;‎
        import java.util.concurrent.TimeUnit;‎
        import android.media.MediaPlayer;‎
        import android.os.Bundle;‎
        import android.os.Handler;‎
        import android.app.Activity;‎
        import android.view.Menu;
import android.view.View;‎
import android.widget.Button;‎
import android.widget.EditText;‎
import android.widget.ImageButton;‎
import android.widget.SeekBar;‎
import android.widget.TextView;‎
import android.widget.Toast;‎
public class MainActivity extends Activity {‎
        ‎   public TextView songName,startTimeField,endTimeField;‎
        ‎   private MediaPlayer mediaPlayer;‎
        ‎   private double startTime = 0;‎
        ‎   private double finalTime = 0;‎
        ‎   private Handler myHandler = new Handler();;‎
        ‎   private int forwardTime = 5000; ‎
        ‎   private int backwardTime = 5000;‎
        ‎   private SeekBar seekbar;‎
        ‎   private ImageButton playButton,pauseButton;‎
        ‎   public static int oneTimeOnly = 0;‎
        ‎   @Override
        ‎   protected void onCreate(Bundle savedInstanceState) {‎
                ‎      super.onCreate(savedInstanceState);‎
                ‎      setContentView(R.layout.activity_main);‎
                ‎      songName = (TextView)findViewById(R.id.textView4);‎
                ‎      startTimeField =(TextView)findViewById(R.id.textView1);‎
                ‎      endTimeField =(TextView)findViewById(R.id.textView2);‎
                ‎      seekbar = (SeekBar)findViewById(R.id.seekBar1);‎
                ‎      playButton = ‎‎(ImageButton)findViewById(R.id.imageButton1);‎
                ‎      pauseButton = ‎‎(ImageButton)findViewById(R.id.imageButton2);‎
                ‎      songName.setText("song.mp3");‎
                ‎      mediaPlayer = MediaPlayer.create(this, R.raw.song);
       seekbar.setClickable(false);‎
        ‎      pauseButton.setEnabled(false);‎
        ‎   }‎
        ‎   public void play(View view){‎
        ‎   Toast.makeText(getApplicationContext(), "Playing sound", ‎
        ‎   Toast.LENGTH_SHORT).show();‎
        ‎      mediaPlayer.start();‎
        ‎      finalTime = mediaPlayer.getDuration();‎
        ‎      startTime = mediaPlayer.getCurrentPosition();‎
        ‎      if(oneTimeOnly == 0){‎
        ‎         seekbar.setMax((int) finalTime);‎
        ‎         oneTimeOnly = 1;‎
        ‎      } ‎
        ‎      endTimeField.setText(String.format("%d min, %d sec", ‎
        ‎         TimeUnit.MILLISECONDS.toMinutes((long) finalTime),‎
        ‎         TimeUnit.MILLISECONDS.toSeconds((long) finalTime) - ‎
        ‎         TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.‎
        ‎         toMinutes((long) finalTime)))‎
        ‎      );‎
        ‎      startTimeField.setText(String.format("%d min, %d sec", ‎
        ‎         TimeUnit.MILLISECONDS.toMinutes((long) startTime),‎
        ‎         TimeUnit.MILLISECONDS.toSeconds((long) startTime) - ‎
        ‎         TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.‎
        ‎         toMinutes((long) startTime)))‎
        ‎      );‎
        ‎      seekbar.setProgress((int)startTime);‎
        ‎      myHandler.postDelayed(UpdateSongTime,100);‎
        ‎      pauseButton.setEnabled(true);‎
        ‎      playButton.setEnabled(false);‎
        ‎   }‎
        ‎   private Runnable UpdateSongTime = new Runnable() {‎
        ‎      public void run() {‎
        ‎         startTime = mediaPlayer.getCurrentPosition();‎
        ‎         startTimeField.setText(String.format("%d min, %d ‎sec", ‎
        ‎            TimeUnit.MILLISECONDS.toMinutes((long) startTime),‎
        ‎            TimeUnit.MILLISECONDS.toSeconds((long) startTime) ‎‎- ‎
        ‎            TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.‎
        ‎            toMinutes((long) startTime)))‎
        ‎         );‎
        ‎         seekbar.setProgress((int)startTime);‎
        ‎         myHandler.postDelayed(this, 100);‎
        ‎      }‎
        ‎   };‎
        ‎   public void pause(View view){‎
        ‎      Toast.makeText(getApplicationContext(), "Pausing sound", ‎
        ‎      Toast.LENGTH_SHORT).show();‎
        ‎      mediaPlayer.pause();‎
        ‎      pauseButton.setEnabled(false);‎
        ‎      playButton.setEnabled(true);‎
        ‎   }‎
        ‎   public void forward(View view){‎
        ‎      int temp = (int)startTime;‎
        ‎      if((temp+forwardTime)<=finalTime){‎
        ‎         startTime = startTime + forwardTime;‎
        ‎         mediaPlayer.seekTo((int) startTime);‎
        ‎      }‎
        ‎      else{‎
        ‎         Toast.makeText(getApplicationContext(), ‎
        ‎         "Cannot jump forward 5 seconds", ‎
        ‎         Toast.LENGTH_SHORT).show();‎
        ‎      }‎
        ‎   }‎
        ‎   public void rewind(View view){‎
        ‎      int temp = (int)startTime;‎
        ‎      if((temp-backwardTime)>0){‎
        ‎         startTime = startTime - backwardTime;‎
        ‎         mediaPlayer.seekTo((int) startTime);‎
        ‎      }‎
        ‎      else{‎
        ‎         Toast.makeText(getApplicationContext(), ‎
        ‎         "Cannot jump backward 5 seconds",‎
        ‎         Toast.LENGTH_SHORT).show();‎
        ‎      }‎
        ‎   }‎
        ‎   @Override
‎   public boolean onCreateOptionsMenu(Menu menu) {‎
        ‎   // Inflate the menu; this adds items to the action bar if ‎it is present.‎
        ‎   getMenuInflater().inflate(R.menu.main, menu);‎
        ‎   return true;‎
        ‎   }‎
        ‎ }
            

در قسمت زير مطلب به كلي توضيح داده شده است.




                


 


of the xml res/layout/activity_main.xml.‎
‎
    ‎
 
    ‎   ‎
 
    ‎   ‎
 
    ‎   ‎
 
    ‎   ‎
 
    ‎   ‎
 
    ‎   ‎
 
    ‎   ‎
 
    ‎   ‎
 
    ‎   ‎
 
    ‎   ‎
 
    ‎

            

در قسمت زير مطلب به كلي توضيح داده شده است.

the res/values/string.xml.‎
‎‎
‎
    ‎
    ‎   MediaPlayer‎
    ‎   Settings ‎
    ‎   Now Playing:‎
    ‎   0 min, 0 sec
            

در قسمت زير مطلب به كلي توضيح داده شده است.

of AndroidManifest.xml file.‎
‎‎
‎‎
 
    ‎   
        ‎
        ‎      
            ‎
            ‎         
                ‎
                ‎            ‎
 
                ‎            ‎
                ‎
            ‎
            ‎      ‎
            ‎   ‎
            ‎

            

اجازه بدهید برنامه ی مديا پليررا اجرا کنیم. فرض می کنیم که دستگاه موبایل اندروید خود را به کامپیوتر متصل کرده اید. برای اجرای برنامه از Eclipse، یکی ازفایل های فعالیت پروژه را باز کرده و روی آیکن Run از تولبار کلیک کنید. قبل از شروع برنامه ی شما، Eclipse پنجره ی زیر را برای انتخاب گزینه ی محل اجرای برنامه ی اندرویدتان، نمایش خواهد داد.

آموزش Media Player در اندروید

موبايلتون رو به عنوان يك آپشن انتخاب كنيد و در اين حالت شما دكمه مكث را غير فعال مي بينيد حالا روي پلي كليك كنيد و مي بينيد كه غير فعال مي شودو اين بار پاز فعال مي شود. كه در تصوير زير نشان داده شده است.

آموزش Media Player در اندروید

حالا موزيك در حال پخش است و هم اكنون كليد پاز را فشار دهيد و اين پيام پاز را مشاهده مي كنيد كه در زير نشان داده شده است.

آموزش Media Player در اندروید

حالا وقت آن اشت كه كليد پلي را فشار دهيد و ترانه دوباره از قسمت مكث شروع به خواندن مي كند. حالا كليد فور وارد يا بكوارد را فشار دهيد تا ترانه 5 ثانيه به جلو يا عقب برده شود. وقتي ترانه ديگه جلو نمي ره در اين لحظه همان طور كه در تصوير مي بينيد يك پيام به اين شكل مشاهده مي كنيد.

آموزش Media Player در اندروید

موزيك در حالت پخش باقي مي ماند و شما به امور ديگتون مي رسيد. به منظور خاموش كردن آن شما بايد به طور كلي از برنامه پشت زمينه خارج شويد.

1394/07/27 12580 2328
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...