2011-04-08 89 views
1

在我的应用我想设置ringtone当我收到来电......如何打开SDCARD并获得音频文件并列出它..如何获得URI为所选的audio file ..我想获得SD卡音频文件

+0

请清除它你想'sdcard'或'sdcard'中的文件。 – 2011-04-08 05:01:20

回答

5

MediaScanner为您找到音乐,填充MediaStore数据库。以下是查找音乐条目的代码:

final Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; 
    final String[] cursor_cols = { 
      MediaStore.Audio.Media._ID, 
      MediaStore.Audio.Media.ARTIST, 
      MediaStore.Audio.Media.ALBUM, 
      MediaStore.Audio.Media.TITLE, 
    }; 
    final String where = MediaStore.Audio.Media.IS_MUSIC + "=1"; 
    final Cursor cursor = getContentResolver().query(uri, cursor_cols, where, null, null); 
    cursor.moveToNext(); 
    final String artist = cursor.getString(_cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST)); 
    final String album = cursor.getString(_cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM)); 
    final String track = cursor.getString(_cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE)); 
    doSomethingHere(artist, album, track); 

“数据”字段包含可与MediaPlayer一起使用的句柄。在首次执行此媒体文件扫描和索引时,请使用AsyncTask对其进行扫描,但稍后在接收到意图时使用服务进行扫描。