我正在制作一个使用搜索栏播放歌曲的应用程序。如果我从原始文件夹播放它可以工作,但如果我从SD卡播放一首歌,它会显示一个空指针异常。
private MediaPlayer mediaPlayer;
mediaPlayer = MediaPlayer.create(this, R.raw.t1); // it works
// switch to sdcard
mediaPlayer.setDataSource("/sdcard/t1.mp3"); // null pointer exception.
我不知道是什么问题。请帮帮我。
答案 0 :(得分:3)
您需要确保提供给setDataSource()
的路径
完全正确。执行此操作的最佳方法是使用android.os.Environment.getExternalStorageDirectory()
试试这个,我认为它会对你有帮助
MediaPlayer mediaPlayer = new MediaPlayer();
File path = android.os.Environment.getExternalStorageDirectory();
mediaPlayer.setDataSource(path + "/t1.mp3");
我希望这可以帮到你