package com.jwzhangjie.videoplayer.videofile;
import java.util.ArrayList;
import java.util.List;
import com.jwzhangjie.videoplayer.util.AppLog;
import com.jwzhangjie.videoplayer.util.PinyinUtils;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
import android.content.Context;
import android.database.Cursor;
import android.provider.MediaStore;
public class VideoProvider implements AbstructProvider {
private Context context;
public VideoProvider(Context context) {
this.context = context;
}
@Override
public List<Video> getList() {
List<Video> list = null;
if (context != null) {
Cursor cursor = context.getContentResolver().query(
MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null, null,
null, null);
if (cursor != null) {
list = new ArrayList<Video>();
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media._ID));
String title = cursor
.getString(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.TITLE));
String album = cursor
.getString(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.ALBUM));
String artist = cursor
.getString(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.ARTIST));
String displayName = cursor
.getString(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.DISPLAY_NAME));
String mimeType = cursor
.getString(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.MIME_TYPE));
String path = cursor
.getString(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.DATA));
long duration = cursor
.getInt(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.DURATION));
long size = cursor
.getLong(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.SIZE));
String title_key = "A";
if (title != null && title.length() > 0) {
try {
title_key = PinyinUtils.chineneToSpell(title.charAt(0) + "");
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
}
AppLog.e("dd",title_key);
Video video = new Video(id, title, album, artist, displayName, mimeType, path, size, duration, title_key);
list.add(video);
}
cursor.close();
}
}
return list;
}
}