网上查了遍历媒体数据库,我也写了类似的方法,存在数组里,然后在mainactivity中打log日志,发现数组都是0,
我导入的mp3放哪有关系么?我放在sd卡中,哪个人愿意加个扣扣809145623,帮我解决一下啊。
代码如下:
main里面
我导入的mp3放哪有关系么?我放在sd卡中,哪个人愿意加个扣扣809145623,帮我解决一下啊。
代码如下:
package com.example.mymusicplayer;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.database.Cursor;
import android.provider.MediaStore;
public class MyUtil {
private Context context;
public MyUtil(Context context){
this.context=context;
}
public List<Music> ScannerMusic()
{
List<Music> listmusic=new ArrayList<Music>();
Cursor cursor=context.getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
null,
null,
null,
MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
//遍历媒体数据库
if(cursor.moveToFirst())
{
while(cursor.isAfterLast()==false)
{
//歌曲编号
int id=cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));
//歌曲ID
int tractid=cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM_ID));
//歌曲标题
String title = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE));
//歌曲的专辑名:MediaStore.Audio.Media.ALBUM
String album = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM));
//歌曲的歌手名: MediaStore.Audio.Media.ARTIST
String artist = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));
//歌曲文件的路径 :MediaStore.Audio.Media.DATA
String url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));
//歌曲的总播放时长:MediaStore.Audio.Media.DURATION
int duration = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION));
//歌曲文件的大小 :MediaStore.Audio.Media.SIZE
Long size = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.SIZE));
//歌曲文件显示名字
String disName=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME));
Music music=new Music();
music.setId(id);
music.setTractid(tractid);
music.setTitle(title);
music.setAlbum(album);
music.setArtist(artist);
music.setUrl(url);
music.setDuration(duration);
music.setSize(size);
music.setDisName(disName);
listmusic.add(music);
cursor.moveToNext();
}
cursor.close();
}
return listmusic;
}
}
main里面
MyUtil util=new MyUtil(this);
System.out.println(util.ScannerMusic().size());