您的位置:首页 > 移动开发 > Android开发

android-从音频数据库获取音乐数据

2017-05-09 21:08 225 查看
android-从音频数据库获取音乐数据在android中,手机开机或者有SD卡插拔等事件发生时,系统将会自动扫描SD卡和手机内存上的媒体文件,如音频,视频,图片等,将相应的信息放到定义好的数据库表格中。在这个程序中,我们不需要关心如何去扫描手机中的文件,只要了解如何查询和使用这些信息就可以了。在android在的data/data下有一个数据库,专门用于存放媒体数据。此数据库的具体路径位于data/data/com.android.providers.media/databases下:java代码-拿到audio数据表中的数据拿到ContentResolver对象ContentResolver contentResolver = getContentResolver();//获得内容解析者
查到audio数据表,得到一个CursorCursor cursor = contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, null);          参数一:   MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,//uri,这里的uri是外置存储          参数二:   null,// 字段 没有字段 就是查询所有信息 相当于SQL语句中的 “ * ”          参数三:   null, // 查询条件          参数四:    null, // 条件的对应?的参数          参数五:   null;// 排序方式将查到的各字段数据存入集合中/*private String _data, title, artist, album;//路径,歌名,歌手,专辑private int _size, duration;//大小,时长*/String music_data = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA));//歌曲路径String musictitle = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE));//歌曲名字String musicartist = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));//歌曲歌手String musicalbum = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM));//歌曲专辑String music_size = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.SIZE));//歌曲大小String musicduration = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DURATION));//歌曲时长arrayList.add(new MusicData(music_data, musictitle, musicartist, musicalbum, Long.parseLong(music_size), Long.parseLong(musicduration)));
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息