关于获得手机里的本地音乐

网上查了遍历媒体数据库,我也写了类似的方法,存在数组里,然后在mainactivity中打log日志,发现数组都是0,
我导入的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());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值