Android 获取sdcard音乐文件

view plain
  1. Cursor  query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder);    

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

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

 

view plain
  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));    


你可能感兴趣的:(android,媒体)