Android中的mediaplayer的seekto()方法用法

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了。

你可能感兴趣的:(Java,android,mediaplayer)