Android获取内存卡MP3信息

来源:互联网 发布:照片合成软件 编辑:程序博客网 时间:2024/05/19 13:10
public List<Map<String, Object>> getMusic(Context context){        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();        Cursor cursor = context.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);        //遍历媒体数据库        if(cursor.moveToFirst()){            int i=1;            while (!cursor.isAfterLast()) {                //歌曲编号                int id = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));                //歌曲标题                String title = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE));                //歌曲的专辑名:MediaStore.Audio.Media.ALBUM                String album = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM));                //歌曲的歌手名: MediaStore.Audio.Media.ARTIST                String artist = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));                //歌曲文件的路径 :MediaStore.Audio.Media.DATA                String url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));                //歌曲的总播放时长 :MediaStore.Audio.Media.DURATION                int duration = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION));                //歌曲文件的大小 :MediaStore.Audio.Media.SIZE                Long size = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.SIZE));                if(size>1024*800){//大于800K                    HashMap<String, Object> map = new HashMap<String, Object>();                    map.put("musicId", i);                    map.put("musicTitle", title);                    map.put("musicFileUrl", url);                    map.put("music_file_name", title);                    list.add(map);                }                i++;                cursor.moveToNext();            }        }        return list;    }
0 0
原创粉丝点击