2012-03-17 3 views
0

음악 플레이어 응용 프로그램을 만들려고 노력했습니다. 이제 막 Android를 시작 했으므로 내 sdcard에서 음악 파일을 어떻게 알 수 있는지 말해 줄 수 있습니까? 내 문자열 변수 MEDIA_PATH에서 "\ sdcard \"로 sdcard의 위치가 주어 지지만 그 후에는 무엇이 있을까요? 시스템에서 음악 파일에 액세스하는 방법은 .mp3 형식으로 끝나는 파일을 더 간단하게 넣어야하며 어떤 기능을 사용해야할지 모르겠습니다. 고마워요, 고마워요.sdcard에서 .mp3 파일을 검색하는 데 도움이 필요합니다.

+1

당신이 ([이]와 같은 유효한 많은 데모 ..there있는 질문을 게시하기 전에 인터넷에서 검색을 수행해야 http://androidsamples.blogspot.in/2009/06/displaying-list-of-music-files -stored.html) 및 [this] (http://www.helloandroid.com/tutorials/musicdroid-audio-player-part-i) – MKJParekh

답변

1

FileFilter을 사용하여 sdcard에서 .mp3 파일을 검색합니다. like :

//Check media mounted or not 
    if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) 
{ 
File sdCardDir=new File("/sdcard"); 
File sdCardDir=Environment.getExternalStorageDirectory(); 
ArrayList<File>files=getFiles(file); 
private ArrayList<File> getFiles(Filefile){ 
File files[]=sdCardDir.listFiles(filter); 
for(File f:files){ 
if(f.isDirectory()&&f.canRead()){ 
    getFiles(f); 
}else if(f.isFile()){ 
    videlList.add(f); 
} 
} 
//USE FileFilter 
FileFilter filter=new FileFilter(){ 
@Override 
public boolean accept(File f){ 
returnf.isDirectory()||f.getName().matches("^.*?//.(mp3)$"); 
} 
} 
+0

감사합니다. – user47

3

다음 코드로 루핑 된 sdcard에서 모든 mp3 파일을 가져올 수 있습니다.

File home = Environment.getExternalStorageDirectory(); 

if (home.listFiles(new Mp3Filter()).length > 0) { 
    for (File file : home.listFiles(new Mp3Filter())) { 
     songs.add(file.getAbsolutePath()); 
    } 
    ArrayAdapter<String> songList = new ArrayAdapter<String> 
      (this,R.layout.song_item,songs); 
    setListAdapter(songList); 
} 

class Mp3Filter implements FilenameFilter 
{ 
    public boolean accept(File dir, String name) 
    { 
     return (name.endsWith(".mp3")); 
    } 
} 

Here songs is a ArrayList which stores the actual path of the song. 
+0

좋은 답변 .... – MKJParekh

+0

시간이 있으시면 여기로 오시기 바랍니다 http://chat.stackoverflow.com/rooms/1531/casual-chat – MKJParekh

+0

@MKJParekh : 저는 정말로 기쁠 것입니다. – user47

관련 문제