Android 如何从SD卡加载歌曲
我正在构建一个音乐播放器应用程序。我想让它自动从SD卡加载歌曲,但它不工作 为了让它工作,我必须声明一个特定的路径,但其他人的手机可能有不同的音乐文件夹,因此有不同的路径 在这些手机上,如果我声明路径,我的应用程序将无法加载他们的歌曲 我的应用程序是否可以自动加载用户SD卡上的所有歌曲 我的密码在这里Android 如何从SD卡加载歌曲,android,android-mediaplayer,Android,Android Mediaplayer,我正在构建一个音乐播放器应用程序。我想让它自动从SD卡加载歌曲,但它不工作 为了让它工作,我必须声明一个特定的路径,但其他人的手机可能有不同的音乐文件夹,因此有不同的路径 在这些手机上,如果我声明路径,我的应用程序将无法加载他们的歌曲 我的应用程序是否可以自动加载用户SD卡上的所有歌曲 我的密码在这里 public class SongManager { //khai bao duong dan toi sdcard public static final String MEDIA_PATH =
public class SongManager {
//khai bao duong dan toi sdcard
public static final String MEDIA_PATH = new String("sdcard/ZingMP3");
private ArrayList<HashMap<String, String>> songList = new ArrayList<HashMap<String,String>>();
// khai bao contructor
public SongManager()
{
}
public ArrayList<HashMap<String, String>> getPlayList()
{
File home = new File(MEDIA_PATH);
if (home.listFiles(new FileExtensionFilter()).length > 0)
for (File file : home.listFiles(new FileExtensionFilter()))
{
HashMap<String, String> song = new HashMap<String, String>();
song.put("songTitle", file.getName().substring(0,(file.getName().length()-4)));
song.put("songPath", file.getPath());
songList.add(song);
}
return songList;
}
class FileExtensionFilter implements FilenameFilter {
public boolean accept(File dir, String name) {
return (name.endsWith(".mp3") || name.endsWith(".MP3"));
}
}
}
公共类管理器{
//凯宝多丹台SD卡
公共静态最终字符串媒体路径=新字符串(“SD卡/ZingMP3”);
private ArrayList songList=new ArrayList();
//凯保建筑公司
公共音乐经理()
{
}
公共阵列列表getPlayList()
{
文件主目录=新文件(媒体路径);
if(home.listFiles(新文件扩展筛选器()).length>0)
对于(文件:home.listFiles(新的FileExtensionFilter()))
{
HashMap宋=新HashMap();
song.put(“songTitle”,file.getName().substring(0,(file.getName().length()-4));
put(“songPath”,file.getPath());
歌曲列表。添加(歌曲);
}
返回歌曲列表;
}
类FileExtensionFilter实现FilenameFilter{
公共布尔接受(文件目录,字符串名称){
return(name.endsWith(“.mp3”)| name.endsWith(“.mp3”);
}
}
}