首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扫描SD卡中的.mp3文件需要帮助

扫描SD卡中的.mp3文件需要帮助
EN

Stack Overflow用户
提问于 2012-03-17 13:58:29
回答 2查看 2.3K关注 0票数 0

我一直在尝试制作一个音乐播放器应用程序,因为我刚刚启动android,有人能告诉我如何访问我的sdcard中的音乐文件吗?我在我的字符串变量MEDIA_PATH中给出了sdcard的位置为"\sdcard\“,但在那之后呢?系统应该如何访问音乐文件,更简单的说是以.mp3格式结尾的文件,我不知道该使用哪个函数。非常感谢你的建议,谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-03-17 14:12:53

您可以通过以下代码从根SD卡中获取所有mp3文件。

代码语言:javascript
复制
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.
票数 3
EN

Stack Overflow用户

发布于 2012-03-17 14:08:54

使用FileFilter扫描SD卡中的.mp3文件。像这样:

代码语言:javascript
复制
 //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)$");
}
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9747670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档