Guest User

Untitled

a guest
Feb 25th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.89 KB | None | 0 0
  1. public class MainActivity extends ActionBarActivity {
  2.  
  3. private MediaPlayer song;
  4. private SeekBar seekbar;
  5.  
  6. private final Handler handler = new Handler();
  7.  
  8. private final Runnable updatePositionRunnable = new Runnable() {
  9. public void run() {
  10. updatePosition();
  11. }
  12. };
  13.  
  14. //private boolean isPlaying = false;
  15. @Override
  16. protected void onCreate(Bundle savedInstanceState) {
  17. super.onCreate(savedInstanceState);
  18. setContentView(R.layout.activity_main);
  19.  
  20.  
  21. if (savedInstanceState == null) {
  22. getSupportFragmentManager().beginTransaction()
  23. .add(R.id.container, new PlaceholderFragment())
  24. .commit();
  25. }
  26.  
  27. seekbar = (SeekBar)findViewById(R.id.musicSeekBar);
  28. song = MediaPlayer.create( MainActivity.this, R.raw.xyz);
  29. seekbar.setMax(song.getDuration());
  30.  
  31. final Button playButton = (Button)findViewById(R.id.playButton);
  32.  
  33.  
  34. playButton.setOnClickListener(new OnClickListener() {
  35.  
  36. @Override
  37. public void onClick(View v) {
  38.  
  39.  
  40. if(song.isPlaying()){
  41. playButton.setText("Play");
  42. song.pause();
  43. //isPlaying = false;
  44. handler.removeCallbacks(updatePositionRunnable);
  45. }
  46. else{
  47. playButton.setText("Pause");
  48. song.start();
  49. //isPlaying = true;
  50. updatePosition();
  51. }
  52. }
  53. });
  54.  
  55. song.setOnCompletionListener(new OnCompletionListener() {
  56.  
  57. @Override
  58. public void onCompletion(MediaPlayer mp) {
  59. playButton.setText("Play");
  60. //seekbar.setProgress(0);
  61. //mp.stop();
  62. }
  63. });
  64.  
  65. seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
  66.  
  67. @Override
  68. public void onStopTrackingTouch(SeekBar seekBar) {
  69.  
  70.  
  71. }
  72.  
  73. @Override
  74. public void onStartTrackingTouch(SeekBar seekBar) {
  75.  
  76.  
  77. }
  78.  
  79. @Override
  80. public void onProgressChanged(SeekBar seekBar, int progress,
  81. boolean fromUser) {
  82. song.seekTo(progress);
  83. }
  84. });
  85. private void updatePosition(){
  86. handler.removeCallbacks(updatePositionRunnable);
  87.  
  88. seekbar.setProgress(song.getCurrentPosition());
  89.  
  90. handler.postDelayed(updatePositionRunnable, 2000);
  91. }
  92.  
  93.  
  94. @Override
  95. public void onBackPressed() {
  96.  
  97. super.onBackPressed();
  98. song.stop();
  99. song.release();
  100. }
  101.  
  102. sBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
  103.  
  104. boolean userTouch;
  105. @Override
  106. public void onStopTrackingTouch(SeekBar arg0) {
  107. userTouch = false;
  108. }
  109. @Override
  110. public void onStartTrackingTouch(SeekBar arg0) {
  111. userTouch = true;
  112. }
  113. @Override
  114. public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
  115. if(mPlayer.isPlaying() && arg2)
  116. mPlayer.seekTo(arg1);
  117. }
  118. });
Add Comment
Please, Sign In to add comment