/*文件大小/
private long size;
/*时长/
private int duration;
/*歌曲名的拼音,用于字母排序/
private String pinyin;
public Music(String name, String path, String album, String artist, long size, int duration) {
this.name = name;
this.path = path;
this.album = album;
this.artist = artist;
this.size = size;
this.duration = duration;
pinyin = PinyinUtils.getPinyin(name);
}
… //此处省略setter和getter方法
}
PinyinUtils根
据名字获取拼音,主要是用于音乐列表A-Z的排序,需要依赖pinyin4j.jar,获取拼音的方法getPinyin(String name)代码为:
public static String getPinyin(String str) {
// 设置拼音结果的格式
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.UPPERCASE);// 设置为大写形式
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不用加入声调
StringBuilder sb = new StringBuilder();
char[] charArray = str.toCharArray();
for (int i = 0; i < charArray.length; i++) {
char c = charArray[i];
if (Character.isWhitespace©) {// 如果是空格则跳过
continue;
}
if (isHanZi©) {// 如果是汉字
String s = “”;
try {
// toHanyuPinyinStringArray 返回一个字符串数组是因为该汉字可能是多音字,此处只取第一个结果
s = PinyinHelper.toHanyuPinyinStringArray(c, format)[0];
sb.append(s);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
sb.append(s);
}
} else {
// 不是汉字
if (i == 0) {
if (isEnglish©) {// 第一个属于字母,则返回该字母
return String.valueOf©.toUpperCase(Locale.ENGLISH);
}
return “#”; // 不是的话返回#号
}
}
}
return sb.toString();
}
获取视频列表
/**
- 获取本机视频列表
- @return
*/
public List getVideos() {
List videos = new ArrayList();
Cursor c = null;
try {
// String[] mediaColumns &#