我已经提取了SD卡中存在的所有mp3文件并点击了一首特定的歌曲,它调用类playSong并在它的构造函数中传递歌曲的名称,通过它我试图使用MediaPlayer文件的create方法播放文件,但它对我来说根本不起作用,因为它显示空指针异常。
public class PlaySong {
MediaPlayer mp;
Context context;
String title;
public PlaySong(Context context,String title)
{
this.title=title;
this.context=context;
}
public void play_Song()
{
//Toast.makeText(context, "Yes", 0).show();
String [] str=title.split("-");
String name=str[0];
//Toast.makeText(context, ""+name, 0).show();
//mp = new MediaPlayer();
try
{
mp = MediaPlayer.create(context, Uri.parse(Environment.getExternalStorageDirectory().getPath()+ "/songs/"+name+".mp3"));
//mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
//mp.setLooping(true);
mp.start();
}
catch(Exception ex)
{
Toast.makeText(context, ""+ex, 0).show();
}
}
}发布于 2015-07-15 20:31:10
NullPointer只是因为Uri.parse没有获得分配的路径。尝试打印此路径-Environment.getExternalStorageDirectory().getPath()+"/songs/"+name+".mp3“我的理解是,它应该给你的路径挂载sdcord索引,可访问的路径将是”sdcard/-Environment.getExternalStorageDirectory().getPath()+“/songs/”+name+“.mp3”/“+name+”.mp3“
https://stackoverflow.com/questions/31430264
复制相似问题