Я пытаюсь реализовать MediaPlayer в приложении для Android, но теперь у меня две проблемы, которые не являются БОЛЬШОЙ SHOWSTOPPER, но они более чем раздражают, и мне нужно исправить это только для меня.
Я реализовал асинхронный контроллер MediaPlayer + для 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);
}
}
Чего я ожидал после нажатия на панель поиска
Что я получил
Это нормально?