1. 程式人生 > >Android中的mediaplayer的seekto()方法用法

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