Android MediaPlayer提供null异常

时间:2012-05-17 11:21:59

标签: android media-player

有人可以帮我解决这个奇怪的问题吗,我想从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

3 个答案:

答案 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();