我正在构建一个音乐播放器应用程序。我希望它自动从我的 sdcard 加载歌曲,但它不工作。
为了使它工作,我必须声明一个特定的路径,但其他人的手机可能有不同的音乐文件夹,因此有不同的路径。
在这些手机上,如果我声明了一条路径,那么我的应用程序将无法加载他们的歌曲。
我的应用程序是否可以自动加载用户 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"));
}
}
}