Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Button pause,next,previous;
- TextView songLabel;
- SeekBar seekBar;
- String sName;
- static MediaPlayer mediaPlayer;
- int position;
- Thread updateSeekBar;
- ArrayList<File> mysongs;
- TextView elapsedTime;
- TextView totalTime;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- pause=findViewById(R.id.btn_pause);
- next=findViewById(R.id.btn_next);
- previous=findViewById(R.id.btn_previous);
- songLabel=findViewById(R.id.txtSongLabel);
- seekBar=findViewById(R.id.seekbar);
- elapsedTime=findViewById(R.id.txtelapsed_time);
- totalTime=findViewById(R.id.txttotal_time);
- updateSeekBar = new Thread(){
- @Override
- public void run() {
- int totalDuration = mediaPlayer.getDuration();
- int currentPosition = 0;
- while(currentPosition<totalDuration){
- try{
- sleep(1000);
- currentPosition = mediaPlayer.getCurrentPosition();
- seekBar.setProgress(currentPosition);
- }
- catch (InterruptedException e){
- e.printStackTrace();
- }
- }
- }
- };
- if(mediaPlayer!=null){
- mediaPlayer.stop();
- mediaPlayer.release();
- }
- Intent i = getIntent();
- Bundle bundle = i.getExtras();
- assert bundle != null;
- mysongs = (ArrayList)bundle.getParcelableArrayList("songs");
- sName = mysongs.get(position).getName();
- String songname = i.getStringExtra("songName");
- songLabel.setText(songname);
- songLabel.setSelected(true);
- position = bundle.getInt("pos",0);
- Uri u = Uri.parse(mysongs.get(position).toString());
- mediaPlayer = MediaPlayer.create(getApplicationContext(), u);
- mediaPlayer.start();
- seekBar.setMax(mediaPlayer.getDuration());
- updateSeekBar.start();
- seekBar.getProgressDrawable().setColorFilter(getResources().getColor(R.color.clrSongName), PorterDuff.Mode.MULTIPLY);
- seekBar.getThumb().setColorFilter(getResources().getColor(R.color.colorPrimary), PorterDuff.Mode.SRC_IN);
- seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
- @Override
- public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- }
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- }
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- mediaPlayer.seekTo(seekBar.getProgress());
- }
- });
- pause.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- seekBar.setMax(mediaPlayer.getDuration());
- if(mediaPlayer.isPlaying()){
- pause.setBackgroundResource(R.drawable.icon_play);
- mediaPlayer.pause();
- }
- else {
- pause.setBackgroundResource(R.drawable.icon_pause);
- mediaPlayer.start();
- }
- }
- });
- next.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mediaPlayer.stop();
- mediaPlayer.release();
- position = ((position+1)%mysongs.size());
- Uri u = Uri.parse(mysongs.get(position).toString());
- mediaPlayer = MediaPlayer.create(getApplicationContext(), u);
- sName = mysongs.get(position).getName().replace(".mp3", "").replace(".Mp3", "").replace(".m4a", "");
- songLabel.setText(sName);
- mediaPlayer.start();
- }
- });
- previous.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mediaPlayer.stop();
- mediaPlayer.release();
- position = ((position-1)<0)?(mysongs.size()-1): (position-1);
- Uri u = Uri.parse(mysongs.get(position).toString());
- mediaPlayer = MediaPlayer.create(getApplicationContext(), u);
- sName = mysongs.get(position).getName().replace(".mp3", "").replace(".Mp3", "").replace(".m4a", "");
- songLabel.setText(sName);
- mediaPlayer.start();
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement