Modified:
/trunk/src/android/src/org/musikcube/PlayerControl.java
/trunk/src/android/src/org/musikcube/core/Player.java
/trunk/src/android/src/org/musikcube/core/TrackPlayer.java
=======================================
--- /trunk/src/android/src/org/musikcube/PlayerControl.java Thu Aug 6
15:24:39 2009
+++ /trunk/src/android/src/org/musikcube/PlayerControl.java Thu Aug 6
15:57:23 2009
@@ -197,10 +197,13 @@
positionView.setText(positionText);
SeekBar seekBar = (SeekBar)findViewById(R.id.TrackProgress);
- if(this.duration==0){
- seekBar.setProgress(0);
- }else{
- seekBar.setProgress(msPosition/this.duration);
+ synchronized (this.lock) {
+ if(this.duration==0){
+ seekBar.setProgress(0);
+ }else{
+ seekBar.setProgress(msPosition/this.duration);
+ }
+ seekBar.setSecondaryProgress(10*Player.GetInstance().GetTrackBuffer());
}
// Next callback in 0.5 seconds
=======================================
--- /trunk/src/android/src/org/musikcube/core/Player.java Thu Aug 6
15:24:39 2009
+++ /trunk/src/android/src/org/musikcube/core/Player.java Thu Aug 6
15:57:23 2009
@@ -172,5 +172,15 @@
}
return 0;
}
+
+ public int GetTrackBuffer(){
+ synchronized(this.lock){
+ TrackPlayer player = this.currentPlayer;
+ if(player!=null){
+ return player.GetBuffer();
+ }
+ }
+ return 0;
+ }
}
=======================================
--- /trunk/src/android/src/org/musikcube/core/TrackPlayer.java Thu Aug 6
15:24:39 2009
+++ /trunk/src/android/src/org/musikcube/core/TrackPlayer.java Thu Aug 6
15:57:23 2009
@@ -2,12 +2,13 @@
import android.media.MediaPlayer;
-public class TrackPlayer implements Runnable,
MediaPlayer.OnCompletionListener, MediaPlayer.OnErrorListener {
+public class TrackPlayer implements Runnable,
MediaPlayer.OnCompletionListener,
MediaPlayer.OnErrorListener,MediaPlayer.OnBufferingUpdateListener {
private Thread thread;
private String url;
private java.lang.Object lock = new java.lang.Object();
private MediaPlayer mediaPlayer;
+ private int buffer = 0;
private int status = 1;
@@ -24,6 +25,7 @@
this.mediaPlayer.setOnCompletionListener(this);
this.mediaPlayer.setOnErrorListener(this);
+ this.mediaPlayer.setOnBufferingUpdateListener(this);
this.mediaPlayer.setDataSource(this.url);
this.mediaPlayer.prepare();
@@ -151,5 +153,17 @@
}
return 0;
}
+
+ public void onBufferingUpdate(MediaPlayer mp, int percent) {
+ synchronized(this.lock){
+ this.buffer = percent;
+ }
+ }
+
+ public int GetBuffer(){
+ synchronized(this.lock){
+ return this.buffer;
+ }
+ }
}