我想在android中获取所有视频信息,我尝试过使用
Cursor cursor = context.getContentResolver().query(
MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null, null,
null, null);
但是,这只能获取我拍摄的视频。我想获取手机中的所有视频,不仅包括我拍摄的视频,还包括我从互联网上下载的视频。
答案 0 :(得分:0)
试试这个
public void eachAllMedias(File f) {
if (f != null && f.exists() && f.isDirectory()) {
File[] files = f.listFiles();
if (files != null) {
for (File file : f.listFiles()) {
if (file.isDirectory()) {
eachAllMedias(file);
} else if (file.exists() && file.canRead()
&& FileUtils.isVideoOrAudio(file)) {
list.add(file.getName());
}
}
}
}
}
这是FileUtils
public class FileUtils {
/**
* @throws Exception */
public static boolean isVideoOrAudio(File f) {
final String ext = getFileExtension(f);
ArrayList<String> list = new ArrayList<String>();
list.add("avi");
list.add("rmvb");
list.add("wmv");
list.add("mkv");
list.add("mp4");
return list.contains(ext);
}
/**
* @throws Exception */
public static String getFileExtension(File f) {
if (f != null) {
String filename = f.getName();
int i = filename.lastIndexOf('.');
if (i > 0 && i < filename.length() - 1) {
return filename.substring(i + 1).toLowerCase();
}
}
return null;
}