SHARE
TWEET

Untitled

a guest Jun 19th, 2019 74 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Button pause,next,previous;
  2. TextView songLabel;
  3. SeekBar seekBar;
  4. String sName;
  5. static MediaPlayer mediaPlayer;
  6. int position;
  7. Thread updateSeekBar;
  8. ArrayList<File> mysongs;
  9. TextView elapsedTime;
  10. TextView totalTime;
  11.  
  12.  @Override
  13.  protected void onCreate(Bundle savedInstanceState) {
  14.     super.onCreate(savedInstanceState);
  15.     setContentView(R.layout.activity_main);
  16.  
  17.  
  18.     pause=findViewById(R.id.btn_pause);
  19.     next=findViewById(R.id.btn_next);
  20.     previous=findViewById(R.id.btn_previous);
  21.     songLabel=findViewById(R.id.txtSongLabel);
  22.     seekBar=findViewById(R.id.seekbar);
  23.     elapsedTime=findViewById(R.id.txtelapsed_time);
  24.     totalTime=findViewById(R.id.txttotal_time);
  25.  
  26.  
  27.  
  28.     updateSeekBar = new Thread(){
  29.  
  30.  
  31.         @Override
  32.         public void run() {
  33.  
  34.             int totalDuration = mediaPlayer.getDuration();
  35.             int currentPosition = 0;
  36.  
  37.             while(currentPosition<totalDuration){
  38.  
  39.  
  40.                 try{
  41.  
  42.                     sleep(1000);
  43.                     currentPosition = mediaPlayer.getCurrentPosition();
  44.  
  45.                     seekBar.setProgress(currentPosition);
  46.                 }
  47.  
  48.                 catch (InterruptedException e){
  49.  
  50.                     e.printStackTrace();
  51.  
  52.                 }
  53.  
  54.  
  55.             }
  56.  
  57.         }
  58.     };
  59.  
  60.  
  61.      if(mediaPlayer!=null){
  62.  
  63.  
  64.  
  65.         mediaPlayer.stop();
  66.         mediaPlayer.release();
  67.  
  68.     }
  69.  
  70.  
  71.      Intent i = getIntent();
  72.  
  73.     Bundle bundle = i.getExtras();
  74.  
  75.      assert bundle != null;
  76.      mysongs = (ArrayList)bundle.getParcelableArrayList("songs");
  77.  
  78.     sName = mysongs.get(position).getName();
  79.  
  80.     String songname = i.getStringExtra("songName");
  81.  
  82.  
  83.  
  84.     songLabel.setText(songname);
  85.     songLabel.setSelected(true);
  86.  
  87.  
  88.     position = bundle.getInt("pos",0);
  89.  
  90.      Uri u = Uri.parse(mysongs.get(position).toString());
  91.  
  92.      mediaPlayer = MediaPlayer.create(getApplicationContext(), u);
  93.  
  94.      mediaPlayer.start();
  95.  
  96.      seekBar.setMax(mediaPlayer.getDuration());
  97.  
  98.      updateSeekBar.start();
  99.  
  100.      seekBar.getProgressDrawable().setColorFilter(getResources().getColor(R.color.clrSongName), PorterDuff.Mode.MULTIPLY);
  101.      seekBar.getThumb().setColorFilter(getResources().getColor(R.color.colorPrimary), PorterDuff.Mode.SRC_IN);
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.      seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
  111.          @Override
  112.          public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
  113.  
  114.          }
  115.  
  116.          @Override
  117.          public void onStartTrackingTouch(SeekBar seekBar) {
  118.  
  119.  
  120.          }
  121.  
  122.          @Override
  123.          public void onStopTrackingTouch(SeekBar seekBar) {
  124.  
  125.              mediaPlayer.seekTo(seekBar.getProgress());
  126.  
  127.          }
  128.      });
  129.  
  130.  
  131.  
  132.  
  133.      pause.setOnClickListener(new View.OnClickListener() {
  134.          @Override
  135.          public void onClick(View v) {
  136.  
  137.              seekBar.setMax(mediaPlayer.getDuration());
  138.  
  139.  
  140.              if(mediaPlayer.isPlaying()){
  141.  
  142.                  pause.setBackgroundResource(R.drawable.icon_play);
  143.                  mediaPlayer.pause();
  144.  
  145.  
  146.  
  147.              }
  148.  
  149.  
  150.  
  151.              else {
  152.  
  153.  
  154.                  pause.setBackgroundResource(R.drawable.icon_pause);
  155.                  mediaPlayer.start();
  156.  
  157.              }
  158.  
  159.          }
  160.      });
  161.  
  162.  
  163.      next.setOnClickListener(new View.OnClickListener() {
  164.          @Override
  165.          public void onClick(View v) {
  166.  
  167.              mediaPlayer.stop();
  168.              mediaPlayer.release();
  169.  
  170.              position = ((position+1)%mysongs.size());
  171.  
  172.              Uri u = Uri.parse(mysongs.get(position).toString());
  173.  
  174.              mediaPlayer = MediaPlayer.create(getApplicationContext(), u);
  175.  
  176.              sName = mysongs.get(position).getName().replace(".mp3", "").replace(".Mp3", "").replace(".m4a", "");
  177.              songLabel.setText(sName);
  178.  
  179.              mediaPlayer.start();
  180.  
  181.  
  182.          }
  183.      });
  184.  
  185.  
  186.  
  187.      previous.setOnClickListener(new View.OnClickListener() {
  188.          @Override
  189.          public void onClick(View v) {
  190.  
  191.              mediaPlayer.stop();
  192.              mediaPlayer.release();
  193.  
  194.              position = ((position-1)<0)?(mysongs.size()-1): (position-1);
  195.  
  196.              Uri u = Uri.parse(mysongs.get(position).toString());
  197.  
  198.              mediaPlayer = MediaPlayer.create(getApplicationContext(), u);
  199.  
  200.              sName = mysongs.get(position).getName().replace(".mp3", "").replace(".Mp3", "").replace(".m4a", "");
  201.              songLabel.setText(sName);
  202.  
  203.              mediaPlayer.start();
  204.  
  205.          }
  206.      });
  207.  
  208.  
  209.  
  210.  }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top