Advertisement
jumpy83

Untitled

Sep 25th, 2015
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.34 KB | None | 0 0
  1. package it.fontanagianpaolo.www.prova;
  2.  
  3. import android.app.Activity;
  4. import android.media.MediaPlayer;
  5. import android.net.Uri;
  6. import android.os.Bundle;
  7. import android.os.Handler;
  8. import android.view.Menu;
  9. import android.view.View;
  10. import android.widget.Button;
  11. import android.widget.SeekBar;
  12.  
  13. import java.io.IOException;
  14.  
  15. public class Classes extends Activity implements MediaPlayer.OnPreparedListener {
  16.  
  17. static Button playButton;
  18. static Button pauseButton;
  19. static Button stopButton;
  20. static SeekBar seekBar;
  21. private static MediaPlayer player;
  22. static Handler handler;
  23. static Uri audio;
  24. static boolean canMakeCall = false;
  25.  
  26. @Override
  27. protected void onCreate(Bundle savedInstanceState) {
  28. player = MediaPlayer.create(this, R.raw.underwater);
  29. super.onCreate(savedInstanceState);
  30. setContentView(R.layout.activity_classes);
  31.  
  32. playButton = (Button) findViewById(R.id.playButton);
  33. pauseButton = (Button) findViewById(R.id.pauseButton);
  34. stopButton = (Button) findViewById(R.id.stopButton);
  35. seekBar = (SeekBar) findViewById(R.id.seekBar);
  36.  
  37. if (canMakeCall = true) {
  38. player.setOnPreparedListener(this);
  39.  
  40. handler = new Handler();
  41.  
  42. seekBar.setMax(player.getDuration());
  43.  
  44. playButton.setOnClickListener(new View.OnClickListener() {
  45. public void onClick(View view) {
  46. if (!player.isPlaying()) {
  47. player.start();
  48. updateSeekBar();
  49. }
  50. }
  51. });
  52.  
  53. pauseButton.setOnClickListener(new View.OnClickListener() {
  54. public void onClick(View view) {
  55. if (player.isPlaying()) {
  56. player.pause();
  57. updateSeekBar();
  58. }
  59.  
  60. }
  61. });
  62.  
  63. stopButton.setOnClickListener(new View.OnClickListener() {
  64.  
  65. public void onClick(View view) {
  66.  
  67. if (player.isPlaying()||!(player.isPlaying()) ) {
  68. player.stop();
  69.  
  70.  
  71. try {
  72. player.prepare();
  73. player.seekTo(0); // mi fa ricominciare la traccia audio
  74. } catch (IOException e) {
  75. e.printStackTrace();
  76. }
  77. }
  78. }
  79. });
  80.  
  81. seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
  82. @Override
  83. public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
  84. if (b) {
  85. seekChanged(seekBar, i, b);
  86. }
  87. }
  88.  
  89. @Override
  90. public void onStartTrackingTouch(SeekBar seekBar) {
  91.  
  92. }
  93.  
  94. @Override
  95. public void onStopTrackingTouch(SeekBar seekBar) {
  96.  
  97.  
  98. }
  99. });
  100.  
  101. player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
  102. @Override
  103. public void onCompletion(MediaPlayer mediaPlayer) {
  104. mediaPlayer.stop();
  105. player.stop();
  106. seekBar.setProgress(0);
  107. seekBar.invalidate();
  108. }
  109. });
  110. }
  111. }
  112.  
  113.  
  114. @Override
  115. public boolean onCreateOptionsMenu(Menu menu) {
  116. // Inflate the menu; this adds items to the action bar if it is present.
  117. getMenuInflater().inflate(R.menu.menu_main, menu);
  118. return true;
  119. }
  120.  
  121. @Override
  122. public void onPrepared(MediaPlayer mediaPlayer) {
  123. playButton.setEnabled(true);
  124. canMakeCall = true;
  125. }
  126.  
  127. public void seekChanged(SeekBar seekBar, int progress, boolean fromUser) {
  128. player.seekTo(progress);
  129. }
  130.  
  131. public void updateSeekBar() {
  132. seekBar.setProgress(player.getCurrentPosition());
  133.  
  134. if (player.isPlaying()) {
  135. Runnable notification = new Runnable() {
  136. public void run() {
  137. updateSeekBar();
  138. }
  139. };
  140. handler.postDelayed(notification, 1500);
  141. }
  142. }
  143.  
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement