获取本地数据音乐库

更多内容点击

1,从本地数据库获取音乐

完整代码:

//申明两个成员变量:

static ContentResolver resolver = null ;

static Cursor cursor = null ;

 

//获取专辑封面的Uri路径

private static final Uri albumArtUri = Uri.parse("content://media/external/audio/albumart");

 

//返回音乐集合的方法,调用这个方法就可以了

 

public static List getMusicList(Context context){

List musicList = new ArrayList();

resolver = context.getContentResolver();

cursor = resolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null,null);

if (null == cursor) {

return null;

}

cursor.moveToFirst();

if (cursor.moveToFirst()) {

do {

//创建一个音乐对象

Music m = new Music();

//音乐id

long id = cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media._ID));

// 标题

String title = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE));

// 歌手

String artist = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));

if ("".equals(artist)) {

artist = "未知艺术家";

}

//专辑名字

String album = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM));

//专辑ID

long albumId = cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID));

//大小

long size = cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media.SIZE));

//时长

int duration = cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media.DURATION));

//音乐文件的路径

String url = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA));

//音乐文件名

String name = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));

if (duration >= 1000 && duration <= 900000) {

//此处添加music音乐信息,到列表

m.setTitle(title);

m.setArtist(artist);

m.setAlbum(album);

m.setSize(size);

m.setDuration(duration);

m.setUrl(url);

m.setName(name);

m.setId(id);

m.setAlbumId(albumId);

m.setAlbum_bit( getAmbum(context,id,albumId) );

musicList.add(m);

}

}while (cursor.moveToNext());

}

if (cursor != null) {

// 结果集移动到最后一列,再下移为空;释放资源

cursor.close();

}

return musicList;

}

 

【注】

代码中的Music类是自己建的,里面的属性

要包含以上所有的音乐属性。

坤少博客

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值