0
의 음악 만 나열하므로 내 음악 재생 기능을 구축하고 마침내 작동합니다. 여기 몇몇 특별한 사람들 덕분에. 하지만 처음에는 앱을 실행했지만 음악이 표시되지 않았습니다. 그래서 나는 내 코드를 살펴 보았다. 마지막 String MEDIA_PATH = ("/ sdcard"); - 알아, 하드 코딩하지 마라.하지만 헤이. 그래서 나는 내 장치에 가서 어떤 음악을 내 SD 카드의 뿌리로 옮겼습니다. 앱을 열었고 "Woohoo"라는 음악이 나열되었습니다.음악 플레이어는 "/ sdcard"
내 질문은 지금 내 SD 카드의 모든 음악을 나열하도록 앱을 가져올 수 있습니까? 그리고 단 하나의 디렉토리가 아닙니다. :) 감사. 여기
내 장치에서 음악을 찾는 내 코드입니다 - 고급에서package com.ascendapps.nexplay;
import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.HashMap;
import android.os.Environment;
public class SongsManager {
// SDCard Path
final String MEDIA_PATH = ("/sdcard");
private ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();
// Constructor
public SongsManager(){
}
/*
* Function to read all mp3 files from sdcard
* and store the details in ArrayList
*/
public ArrayList<HashMap<String, String>> getPlayList(){
File home = new File(MEDIA_PATH);
if (home.listFiles(new FileExtensionFilter())!=null && 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());
// Adding each song to SongList
songsList.add(song);
}
}
// return songs list array
return songsList;
}
/*
* The following class filters all files that have an extension of .mp3||.MP3
*/
class FileExtensionFilter implements FilenameFilter {
public boolean accept(File dir, String name) {
return (name.endsWith(".mp3") || name.endsWith(".MP3"));
}
}
}
감사합니다, 나는이에 대한 몇 가지 연구를 한 것입니다하지만 내 인터넷 슈퍼 슬로우 내가 유래의 캐시 때문에이 다운로드 한 웹 사이트가 더 빨리로드됩니다. 어떤 도움을 주시면 감사하겠습니다.
http://stackoverflow.com/questions/17210519/how-to-access-all-mp3-files-from-all-the-subfolders-in-the-sdcard. 더 나은 http://www.androidside.com/docs/resources/samples/RandomMusicPlayer/src/com/example/android/musicplayer/MusicRetriever.html – Raghunandan
윗도리 시도, 아무것도 바뀌지 않았습니다. –