我正在开发一个 mp3 播放器应用程序,它可以播放内部 SD 卡内任何位置的 .mp3 文件。
我使用以下代码来获取内部存储中存在的 .mp3 文件。
ArrayList<File> inFiles = new ArrayList<File>();
File list[] = file.listFiles();
//Log.i("DIR", "PATH" +file.getPath());
for (int i = 0; i < list.length; i++)
{
// myList.add( list[i].getName() );
File temp_file = new File(file.getAbsolutePath(),list[i].getName());
//Log.i("DIR", "PATH" +temp_file.getAbsolutePath());
if (temp_file.listFiles() != null)
{
//Log.i("inside", "call fn");
listfiles(temp_file);
}
else
{
if (list[i].getName().toLowerCase().contains(".mp3"))
{
inFiles.add(list[i]);
//Log.e("Music", list[i].getName());
}
}
}
我如何同样从外部 SD 卡获取 .mp3 文件?
您可以使用以下代码行获取外部SD卡的根目录
File root = Environment.getExternalStorageDirectory();
现在您可以执行与内部操作相同的操作
ArrayList<File> inFiles = new ArrayList<File>();
File list[] = root.listFiles(); // here use the root object of File class to the list of files and directory from the external storage
//Log.i("DIR", "PATH" +file.getPath());
for (int i = 0; i < list.length; i++)
{
// myList.add( list[i].getName() );
File temp_file = new File(file.getAbsolutePath(),list[i].getName());
//Log.i("DIR", "PATH" +temp_file.getAbsolutePath());
if (temp_file.listFiles() != null)
{
//Log.i("inside", "call fn");
listfiles(temp_file);
}
else
{
if (list[i].getName().toLowerCase().contains(".mp3"))
{
inFiles.add(list[i]);
//Log.e("Music", list[i].getName());
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)