[musikcube] r370 committed - Added buffer progress to the seekbar.

50 views
Skip to first unread message

codesite...@google.com

unread,
Aug 6, 2009, 6:57:41 PM8/6/09
to musikc...@googlegroups.com
Revision: 370
Author: onnerby
Date: Thu Aug 6 15:57:23 2009
Log: Added buffer progress to the seekbar.
http://code.google.com/p/musikcube/source/detail?r=370

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;
+ }
+ }

}

Reply all
Reply to author
Forward
0 new messages