我正在尝试将 mp3 播放器创建为一个 android 应用程序,我希望它能够自动在我的文件文件夹中找到任何 .mp3 文件。我不想有指向音乐文件夹的直接路径,因为我将包含一个指向 Dropbox 的链接,我可以在其中下载已经存在的 .mp3 文件。这将转到一个下载文件夹,我希望我的 MP3 播放器为我提取它。
我怎么能这样做?任何帮助将非常感激。
我正在尝试将 mp3 播放器创建为一个 android 应用程序,我希望它能够自动在我的文件文件夹中找到任何 .mp3 文件。我不想有指向音乐文件夹的直接路径,因为我将包含一个指向 Dropbox 的链接,我可以在其中下载已经存在的 .mp3 文件。这将转到一个下载文件夹,我希望我的 MP3 播放器为我提取它。
我怎么能这样做?任何帮助将非常感激。
这种方法应该有效
private void searchMusic() {
int count = 0;
ArrayList<String> musicFiles;
LinkedList<File> stack = new LinkedList<File>();
File directory = new File(Environment.getExternalStorageDirectory()
.getAbsolutePath());
stack.add(directory);
while (!stack.isEmpty()) {
File fmusic = stack.removeLast();
File[] files = null;
try {
files = fmusic.listFiles();
} catch (Exception e) {
}
musicFiles = new ArrayList<String>();
if (files != null) {
for (File folder : files) {
if (folder.getName().endsWith(".mp3")
|| folder.getName().endsWith(".ogg")
|| folder.getName().endsWith(".wav")
&& folder.isFile() && folder.canRead()
&& !folder.getName().startsWith("._")) {
count++;
musicFiles.add(folder.getPath());
}
try {
if (folder.isDirectory()
&& !FileUtils.isSymlink(folder)) {
stack.addFirst(folder);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
return;
}