2

I am working with one application that have multi language supported with same video. whenever I switch from English to Hindi or vice versa. It's set seekTo as per got current position But I am getting variation, it's not as I want from exact current position.

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);   

        }
    });
}

}

Please suggest me what I am doing wrong?

Thanks

Mukesh Parmar
  • 941
  • 1
  • 15
  • 25

1 Answers1

2

When you seek to some position, you won't play exactly from position you want:

Accuracy of MediaPlayer.seekTo(int msecs)

Community
  • 1
  • 1
mromer
  • 1,867
  • 1
  • 13
  • 18