有人可以帮我解决这个奇怪的问题吗,我想从SDCard播放一个音频文件,这是代码,我知道这是正确的文件路径,但是MediaPlayer给了我一个null异常。任何帮助将不胜感激!
File file = new File(android.os.Environment.getExternalStorageDirectory()+"/rockstar.mp3");
MediaPlayer m = MediaPlayer.create(getApplicationContext(), Uri.fromFile(file));
m.start();
这是stacktarce
显示java.lang.NullPointerException
答案 0 :(得分:2)
您是否错过.getAbsolutePath()
?
File file = new File(android.os.Environment.getExternalStorageDirectory().getAbsolutePath()+"/rockstar.mp3");
答案 1 :(得分:0)
请务必在AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
中添加正确的权限。
在LogCat中记录您的路径uri以查看是否一切正确,并启动您的媒体播放器:
MediaPlayer player = new MediaPlayer();
player.setDataSource("mnt/sdcard/music.mp3");
player.prepare();
player.start();
答案 2 :(得分:0)
试试这个:
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
path+="/music.mp3"
mp.setDataSource(path)
mp.prepare();
mp.start();