Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从SD卡加载歌曲_Android_Android Mediaplayer - Fatal编程技术网

Android 如何从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 =

我正在构建一个音乐播放器应用程序。我想让它自动从SD卡加载歌曲,但它不工作

为了让它工作,我必须声明一个特定的路径,但其他人的手机可能有不同的音乐文件夹,因此有不同的路径

在这些手机上,如果我声明路径,我的应用程序将无法加载他们的歌曲

我的应用程序是否可以自动加载用户SD卡上的所有歌曲

我的密码在这里

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”);
}
}
}