1

有人可以帮我解决这个奇怪的问题吗,我想从 SDCard 播放音频文件,这是代码,我知道这是正确的文件路径,但 MediaPlayer 给了我一个空异常。任何帮助将不胜感激!

File file = new File(android.os.Environment.getExternalStorageDirectory()+"/rockstar.mp3");
MediaPlayer m = MediaPlayer.create(getApplicationContext(), Uri.fromFile(file));
m.start();

这是堆栈

java.lang.NullPointerException

4

3 回答 3

2

你不缺.getAbsolutePath()吗?

File file = new File(android.os.Environment.getExternalStorageDirectory().getAbsolutePath()+"/rockstar.mp3");
于 2012-05-17T11:30:57.743 回答
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();
于 2012-05-17T11:36:33.767 回答
0

试试这个:

String path = Environment.getExternalStorageDirectory().getAbsolutePath();
path+="/music.mp3"
mp.setDataSource(path)
mp.prepare();
mp.start();
于 2013-02-10T22:47:04.880 回答