Thursday 2 June 2016

android audio player with seekbar

android music audio player with seekbar

 In Android Media Player is class that responsible for play audio. MediaPlayer class contain all method like start, play(), pause(), stop(), seekTo(), that help to build full functional music player.

Step for creating audio player:

1. Create a project name is androidmusicplayerexample.
2. create raw folder in res and put a song file (.mp3). 
3. design your application layout like this.
Media player layout design

source code layout designing file:




















source code for java file:

package com.example.mediaplayerex;


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.SeekBar;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
MediaPlayer mp;
Button btn1, btn2, btn3;
SeekBar sb;
TextView tv1, tv2;
Handler han = new Handler();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1= (Button)findViewById(R.id.button1);
btn2= (Button)findViewById(R.id.button2);
btn3=(Button) findViewById(R.id.button3);
mp = MediaPlayer.create(MainActivity.this, R.raw.bejuban);
tv1=(TextView) findViewById(R.id.textView1);
tv2=(TextView) findViewById(R.id.textView2);
sb=(SeekBar)findViewById(R.id.seekBar1);
sb.setMax(mp.getDuration());
SeekUpdation();
btn1.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SeekUpdation();
if(mp==null)
mp = MediaPlayer.create(MainActivity.this, 

R.raw.bejuban);
mp.start();
sb.setMax(mp.getDuration());
sb.setProgress(mp.getCurrentPosition());
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(mp!=null)
{
mp.pause();
sb.setProgress(mp.getCurrentPosition());
}
}
});
btn3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(mp!=null)
{
mp.stop();
sb.setProgress(mp.getDuration());
mp=null;
}
Toast.makeText(MainActivity.this, " MEdia STopped", 

Toast.LENGTH_SHORT).show();
}
});
sb.setOnSeekBarChangeListener( new 

SeekBar.OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
if(mp!=null)
{
mp.seekTo(seekBar.getProgress());
mp.start();
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
if(mp!=null)
{
mp.pause();
}
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
}
});
}

Runnable run=new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
SeekUpdation();
}
};
public void SeekUpdation() {
// TODO Auto-generated method stub
if(mp!=null)
{
int mpos = mp.getCurrentPosition();
int mdur= mp.getDuration();
sb.setProgress(mp.getCurrentPosition());
han.postDelayed(run, 1000);
tv1.setText(String.valueOf((float)mpos/100) + " s ");
tv2.setText(String.valueOf((float)mdur/100)+ "m");
}
}

}

Now media player is ready to test just your application on your virtual device or real device.
please put your comment here.
Thanks.

1 comment:

nhuthuy said...

Thanks for sharing, nice post! Post really provice useful information!

Công ty vận chuyển hàng nước ngoài FadoExpress hàng đầu chuyên vận chuyển, chuyển phát nhanh siêu tốc đi khắp thế giới, nổi bật là dịch vụ gửi hàng đi mỹ, gửi hàng đi nhậtgửi hàng đi pháp và dịch vụ chuyển phát nhanh đi hàn quốc uy tín, giá rẻ

Today's Pageviews