1、seekto方法的参数是毫秒,而不是秒,所以要注意参数传递
2、seekto方法是异步方法,所以如果想要这样写:
mediaPlayer.seekTo(10000);
mediaPlayer.start();
是没有效果的
3、我个人测试seekto要写在prepare后面才能有效,但我不确定一定要这样做。
如果想要视频从第xxxx毫秒开始播放,正确的做法是这样的:
首先给mediaPlayer配置属性
mediaPlayer.setDisplay(videoSurface.getHolder()); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); try { mediaPlayer.setDataSource(filePath); mediaPlayer.prepare(); mediaPlayer.seekTo(millis); } catch (IOException e) { }然后为mediaPlayer添加监听OnSeekCompleteListener();
mediaPlayer.setOnSeekCompleteListener(new OnSeekCompleteListener() { public void onSeekComplete(MediaPlayer m) { m.start(); isPlaying = true; } });这样就可以正确使用seekto了。