Я пытаюсь реализовать 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);
}
}
Что я ожидал после нажатия на стрелку
Что я получил
Это нормально?