使用android.media.MediaPlayer缓冲问题

g.t*_*obi 11 android asynchronous media-player

我正在尝试在Android应用程序上实现MediaPlayer,但现在我有两个问题,这些问题不是很大,但它们更令人烦恼,我必须解决它,只为我而已.

我为一个Activity实现了一个异步MediaPlayer + Controller,工作正常.我的计划是显示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);
}
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

点击搜索栏后我的预期

在此输入图像描述

我得到了什么

在此输入图像描述

这是正常的吗?

San*_*gar 1

线程确认尽管某个位置已被缓冲,但 MediaPlayer 仍向服务器发送请求。