如何获取VideoView getcurrentPosition并设置seekTo欲望位置不能正常工作?

时间:2015-03-25 10:45:56

标签: android android-videoview mediacontroller

我正在使用一个支持多种语言同一视频的应用程序。每当我从英语切换到印地语或反之亦然。根据当前位置设置搜索但是我得到了变化,它不是我想要的当前位置。

public class VideoActivity extends Activity {

VideoView mVideoView;
Button btnHindi,btnEnglish;
int currenth = 0;
int currente = 0;

String videoPathEnglish = "/storage/sdcard1/test/english.mp4";
String videoPathHindi = "/storage/sdcard1/test/hindi.mp4";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    btnHindi = (Button)findViewById(R.id.btnHindi);
    btnEnglish = (Button)findViewById(R.id.btnEnglish);

    mVideoView = (VideoView) findViewById(R.id.my_Video_View);
    mVideoView.setMediaController(new MediaController(VideoActivity.this));

    btnHindi.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

            if (mVideoView.isPlaying()) {
                mVideoView.pause();
            }

            currente = 0;

            currente = mVideoView.getCurrentPosition();
            Log.e("CurrentEnglish",currente+"");


            String videopath = videoPathHindi;
            mVideoView.setVideoURI(Uri.parse(videopath));
            mVideoView.requestFocus();
            mVideoView.seekTo(currente);
            mVideoView.start();

            btnEnglish.setEnabled(true);
            btnHindi.setEnabled(false);

        }
    });


    btnEnglish.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

            if (mVideoView.isPlaying()) {
                mVideoView.pause();
            }

            currenth = 0;

            currenth = mVideoView.getCurrentPosition();
            Log.e("CurrentHindi",currenth+"");

            String videopath = videoPathEnglish;
            mVideoView.setVideoURI(Uri.parse(videopath));
            mVideoView.requestFocus();
            mVideoView.seekTo(currenth);
            mVideoView.start();

            btnEnglish.setEnabled(false);
            btnHindi.setEnabled(true);   

        }
    });
}

}

请告诉我我做错了什么?

由于

1 个答案:

答案 0 :(得分:2)

当你寻找某个位置时,你不会完全从你想要的位置开始玩:

Accuracy of MediaPlayer.seekTo(int msecs)