android 怎么获取所有含有音频文件的文件夹

muximuxi525 2015-05-14 08:11:18
注意是文件夹,比如我要获取视频文件夹,就是获取整个sd卡含有视频文件的文件夹,之所以想做这个,是因为MX player就是这样设计的,感觉还不错。
现在就是怎么获取含有视频或者音乐文件的文件夹,比如:
点击音乐按钮就获取所有含有音乐的文件夹
点击视频按钮就获取所有含有视频的文件夹
PS:如果获取所有音频文件,应该是使用ContentResolver.query来解决,如果问题改为我这样的是不是只有递归扫描才能解决,这样效率是不是很低下?
...全文
873 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
muximuxi525 2015-05-20
  • 打赏
  • 举报
回复
引用 1 楼 xihuanhh 的回复:
应该是要从头扫描了 你是要获取全部的 如果只是Android系统指定的音频视频文件夹还好 就是去递归判断文件名后缀 本人愚见
恩恩,有道理
muximuxi525 2015-05-20
  • 打赏
  • 举报
回复
引用 2 楼 zhaochengsheng 的回复:
public static List<File> getSongs(String path,String keyword) { if(playList==null) { playList = new ArrayList<File>(); } File tmp = new File(path); if(tmp.isDirectory()){ File[] fs = tmp.listFiles(new MscFileFilter(keyword)); if(fs!=null){ for(File f:fs){ getSongs(f.getAbsolutePath(),keyword); } } }else if(tmp.length()>0){ playList.add(tmp); } return playList; }
你的这个是记录文件吧,不是文件夹吧,不过思路是差不多的哈,谢谢
muximuxi525 2015-05-20
  • 打赏
  • 举报
回复
谢谢上面两位,我自己写的一个,先用用看
private boolean scanPicture(String path ){
        File tmp = new File(Path);
        String name = tmp.getName();
        BaseData file = new BaseData();
        file.setPath(tmp.getAbsolutePath());
        file.setParentPath(tmp.getParent());
        file.setName(name);
        if (tmp.isDirectory()) {
            tmp.setType(Constants.FILE_TYPE_DIR);
            File[] fs = tmp.listFiles();
            if (fs!=null) {
                for(File f:fs){
                    if(scanPicture(f.getAbsolutePath())==true)
                        hasPictureFiles.add(tmp);
                }
            }
        } else {
            if (check(name, resource.getStringArray(R.array.photo_filter)))
                return true;
        }
        return false;

    }
ZHAOCHENGSHENG 2015-05-16
  • 打赏
  • 举报
回复
public static List<File> getSongs(String path,String keyword) { if(playList==null) { playList = new ArrayList<File>(); } File tmp = new File(path); if(tmp.isDirectory()){ File[] fs = tmp.listFiles(new MscFileFilter(keyword)); if(fs!=null){ for(File f:fs){ getSongs(f.getAbsolutePath(),keyword); } } }else if(tmp.length()>0){ playList.add(tmp); } return playList; }
喜欢HH 2015-05-15
  • 打赏
  • 举报
回复
应该是要从头扫描了 你是要获取全部的 如果只是Android系统指定的音频视频文件夹还好 就是去递归判断文件名后缀 本人愚见

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧