Android 获取sdcard音乐文件

本文介绍如何使用ContentResolver和MediaStore查询Android设备上外部存储卡中的音乐文件信息,包括歌曲ID、名称、专辑名、歌手名、文件路径及大小等。
  1. Cursor  query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder);    

  Uri:指明要查询的数据库名称加上表的名称,从MediaStore中我们可以找到相应信息的参数,具体请参考开发文档。 
        Projection: 指定查询数据库表中的哪几列,返回的游标中将包括相应的信息。Null则返回所有信息。
        selection: 指定查询条件
        selectionArgs:参数selection里有 ?这个符号是,这里可以以实际值代替这个问号。如果selection这个没有?的话,那么这个String数组可以为null。
        SortOrder:指定查询结果的排列顺序
下面的命令将返回所有在外部存储卡上的音乐文件的信息:

  1. Cursor cursor = context.getContentResolver().query(  
  2.                 MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, nullnullnull,  
  3.                 MediaStore.Audio.Media.DEFAULT_SORT_ORDER);  

 

  1. 歌曲ID:MediaStore.Audio.Media._ID  
  2. Int id = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));   
  3.    
  4. 歌曲的名称 :MediaStore.Audio.Media.TITLE  
  5. String tilte = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE));   
  6.    
  7. 歌曲的专辑名:MediaStore.Audio.Media.ALBUM  
  8. String album = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM));   
  9.    
  10.    
  11. 歌曲的歌手名: MediaStore.Audio.Media.ARTIST  
  12. String artist = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));   
  13.    
  14. 歌曲文件的路径 :MediaStore.Audio.Media.DATA  
  15. String url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));   
  16.    
  17. 歌曲的总播放时长 :MediaStore.Audio.Media.DURATION  
  18. Int duration = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION));   
  19.    
  20. 歌曲文件的大小 :MediaStore.Audio.Media.SIZE  
  21. Int size = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.SIZE));    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值