返回信息流package com.example.util;
import java.util.ArrayList;
import java.util.List;
import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.provider.MediaStore;
import com.example.domain.Music;
public class MusicList {
public static List<Music> getMusicData(Context context) {
List<Music> musicList = new ArrayList<Music>();
ContentResolver cr = context.getContentResolver();
if (cr != null) {
// 获取所有歌曲
Cursor cursor = cr.query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null,
null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
if (null == cursor) {
return null;
}
if (cursor.moveToFirst()) {
do {
Music m = new Music();
String title = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.TITLE));
String singer = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.ARTIST));
if ("<unknown>".equals(singer)) {
singer = "未知艺术家";
}
String album = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.ALBUM));
long size = cursor.getLong(cursor
.getColumnIndex(MediaStore.Audio.Media.SIZE));
long time = cursor.getLong(cursor
.getColumnIndex(MediaStore.Audio.Media.DURATION));
String url = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.DATA));
String name = cursor
.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));
String sbr = name.substring(name.length() - 3,
name.length());
//Log.e("--------------", sbr);
if (sbr.equals("mp3")) {
m.setTitle(title);
m.setSinger(singer);
m.setAlbum(album);
m.setSize(size);
m.setTime(time);
m.setUrl(url);
m.setName(name);
musicList.add(m);
}
} while (cursor.moveToNext());
}
}
return musicList;
}
}
可以从sd卡读取完整MP3文件 但是if (sbr.equals("mp3"))改成if (sbr.equals("mid"))读取不到文件中的midi文件 请问这是哪里有错
这是一条镜像帖。来源:北邮人论坛 / mobile-internet / #7695同步于 2016/4/5
MobileInternet机器人发帖
sd卡读取音乐文件问题
liuyou6046
2016/4/5镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。