这通常是由于传递给MediaPlayer的文件路径不正确或无效的引用所致。要解决这个问题,可以检查文件路径是否正确,并在使用之前确保文件已经存在。以下是一个示例代码,演示如何正确地初始化MediaPlayer并下载和播放一个存储在设备上的音频文件:
private MediaPlayer mediaPlayer;
private void playAudioFile(File audioFile) {
if (audioFile.exists()) {
try {
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(audioFile.getAbsolutePath());
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在调用playAudioFile
方法时,传递一个存储在设备上的音频文件,并确保文件路径是正确的。如果文件不存在,则会跳过播放。通过这种方法,可以避免在MediaPlayer播放存储文件时出现NPE的问题。