Проблемы с буферизацией с помощью android.media.MediaPlayer

Я пытаюсь реализовать MediaPlayer в приложении для Android, но теперь у меня есть две проблемы, которые не являются БОЛЬШОЙ SHOWSTOPPER, но они более чем раздражают, и я должен исправить это, только для меня.

Я реализовал Async MediaPlayer + Controller для Activity, который отлично работает. Мой план состоял в том, чтобы показать также процент буферизации на MediaControl. Это также работает.

Но теперь, когда я вижу процент, я увидел странное поведение: если я ищу позицию, которая уже находится в буфере, буферизация начнется с этой позиции снова. Является ли это известным и/или нормальным поведением/проблемой/функцией?

Подробнее:

Я использую 2.2 SDK Вот как я его реализую

public class Details extends Activity implements MediaPlayer.OnPreparedListener, MediaController.MediaPlayerControl { 

[...]

private void setPosition(int currentPos ){
    position = currentPos;
}

[...]

public void onCreate(Bundle savedInstanceState) {

[...] 

mediaPlayer.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
            @Override
            public void onBufferingUpdate(MediaPlayer mp, int progress) {
                setPosition(progress);
            }
        });

[...]

public int getBufferPercentage() {
    return position;
}

[...]

public void seekTo(int i) {
    General.mediaPlayer.seekTo(i);
}
}

enter image description here

Что я ожидал после нажатия на стрелку

enter image description here

Что я получил

enter image description here

Это нормально?

Ответ 1

Этот поток подтверждает, что хотя позиция уже буферизована, MediaPlayer отправляет запрос на сервер.