如果每次調用 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()
方法可以確保在準備好播放后設置正確的播放位置。
如果以上方法仍然無法解決問題,可能是由于音頻文件本身的問題,建議檢查音頻文件是否正常,或者嘗試使用其他音頻文件進行測試。