如果每次调用 mediaPlayer.seekTo()
方法都到相同的位置,可能是由于 mediaPlayer
对象没有正确初始化或者在每次调用 seekTo()
方法之前没有设置正确的播放位置。
首先,确保在调用 seekTo()
方法之前,mediaPlayer
对象已经正确初始化并且已经设置了数据源和准备好进行播放。可以通过以下代码进行初始化和设置数据源:
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("音频文件路径");
mediaPlayer.prepare(); //异步准备,可以在prepareAsync()之后的回调中调用seekTo()
另外,确保在每次调用 seekTo()
方法之前,已经设置了正确的播放位置。可以通过以下代码设置播放位置:
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.seekTo(指定的播放位置);
}
});
在 onPrepared()
方法中调用 seekTo()
方法可以确保在准备好播放后设置正确的播放位置。
如果以上方法仍然无法解决问题,可能是由于音频文件本身的问题,建议检查音频文件是否正常,或者尝试使用其他音频文件进行测试。