Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.30 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement