I have a simple video player in Android (code in here) that plays a video from a URL. I'm trying to print the buffer percentages using mediaPlayer's onBufferingUpdate(). But it only prints 100, meaning it's called only when it reaches 100% buffer. However, the seekbar doesn't highlight full buffer. So it's weird.
Why is this working like that? Is there a better way to get the buffer percentage as it progresses?
vw1.setOnPreparedListener(
new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
// Hide buffering message.
// mBufferingTextView.setVisibility(VideoView.INVISIBLE);
// Restore saved position, if available.
if (mCurrentPosition > 0) {
vw1.seekTo(mCurrentPosition);
} else {
// Skipping to 1 shows the first frame of the video.
vw1.seekTo(1);
}
// Start playing!
vw1.start();
mediaPlayer.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
boolean buffered = false;
@Override
public void onBufferingUpdate(MediaPlayer mediaPlayer, int i) {
if(!buffered) {
long t1 = System.currentTimeMillis();
mBufferingTextView.setText((t1 - t0) + ", " + i + " ");
buffered = true;
}
}
});
}
});