android 媒体库扫描,如何扫描出Android系统媒体库中视频文件
Android系统启动时会去扫描系统文件,并将系统支持的视频文件(mp4,3gp,wmv)扫描到媒体库(MediaStore)中,下面代码演示如何获得这些文件的信息:
publicstatic List sysVideoList = null;// 视频信息集合
sysVideoList = new ArrayList();
setVideoList();
privatevoid setVideoList() {
// MediaStore.Video.Thumbnails.DATA:视频缩略图的文件路径
String[] thumbColumns = { MediaStore.Video.Thumbnails.DATA,
MediaStore.Video.Thumbnails.VIDEO_ID };
// MediaStore.Video.Media.DATA:视频文件路径;
// MediaStore.Video.Media.DISPLAY_NAME : 视频文件名,如 testVideo.mp4
// MediaStore.Video.Media.TITLE: 视频标题 : testVideo
String[] mediaColumns = { MediaStore.Video.Media._ID,
MediaStore.Video.Media.DATA, MediaStore.Video.Media.TITLE,
MediaStore.Video.Media.MIME_TYPE,
MediaStore.Video.Media.DISPLAY_NAME };
cursor = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
mediaColumns, null, null, null);
if(cursor==null){
Toast.makeText(SystemVideoChooseActivity.this, "没有找到可播放视频文件", 1).show();
return;
}
if (cursor.moveToFirst()) {
do {
VideoInfo info = new VideoInfo();
int id = cursor.getInt(cursor
.getColumnIndex(MediaStore.Video.Media._ID));
Cursor thumbCursor = managedQuery(
MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI,
thumbColumns, MediaStore.Video.Thumbnails.VIDEO_ID
+ "=" + id, null, null);
if (thumbCursor.moveToFirst()) {
info.setThumbPath(thumbCursor.getString(thumbCursor
.getColumnIndex(MediaStore.Video.Thumbnails.DATA)));
}
info.setPath(cursor.getString(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.DATA)));
info.setTitle(cursor.getString(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.TITLE)));
info.setDisplayName(cursor.getString(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.DISPLAY_NAME)));
LogUtil.log(TAG, "DisplayName:"+info.getDisplayName());
info.setMimeType(cursor
.getString(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.MIME_TYPE)));
sysVideoList.add(info);
} while (cursor.moveToNext());
}
}
有一点需要注意的是:系统的媒体库并不会在我们添加视频文件后自动更新,我们如何去手动扫描媒体库,或者重启系统才能从媒体库中得到更新的视频文件:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"
+ Environment.getExternalStorageDirectory())));
原文:http://www.cnblogs.com/wangfeng520/p/5089726.html
android 媒体库扫描,如何扫描出Android系统媒体库中视频文件相关推荐
- android+geturl+方法,浅入浅出Android(014):HTTP GET获取文本内容
1.建立android项目MyApplication 2.修改布局文件activity_my.xml xmlns:tools="http://schemas.android.com/tool ...
- Android中视频文件的下载和播放
String path = "http:.........."; // 下载地址// 创建文件夹,在存储卡下String dirName = Environment.getExte ...
- php一库多站,杰奇CMS小说系统 一库多站完整实现教程
最近收集的 适用于伪静态或者动态模式,且如果杰奇内核或者数据库已经被二次开发或者魔改,可能就会失败. 测试环境:php5.3+zend+mysql 测试程序:杰奇1.8及杰奇2.2 数据库连接 首先安 ...
- c语言考试系统题库判断和选择,C考试系统题库判断和选择.doc
一.判断题(正确的填A,错误的填B) 第一章 C语言基础知识 (C语言概述.算法.数据类型 运算符 表达式.位运算) 1.在C语言中,逗号运算符的优先级最低.(A) 2.在C语言可执行程序的开始执行点 ...
- Android RecyclerView复杂布局 实现多Item,item中含视频文件播放
效果(随手画的啊,哈哈哈) 主要就是Adapter里面的内容 import android.content.Context; import android.content.SharedPreferen ...
- 静态库、动态库、静态链接、动态链接、系统运行库混合、MD MT默认库冲突问题
一.静态库项目 静态库lib:(注意和"静态运行库"区分) 就是.lib文件,一个.c或.cpp会编译成一个.obj,多个.obj可以组合成一个.lib库.lib=多个obj. ...
- BIM族库下载——项目安保系统族库
[资源介绍] 资源名称:BIM族库下载--项目安保系统族库 资源分类: BIM族库.Revit族库 其他简介:项目安保系统族库 [资源下载] 链接:https://pan.baidu.com/s/13 ...
- Android实现扫一扫识别图像数字(使用训练的库拍照查看扫描结果)(下)
Android实现扫一扫识别图像数字(使用训练的库拍照查看扫描结果)(下) 关于 效果图 第一步,添加我们的训练库 编写扫描框控件 新建扫码界面ScannerActivity.java 关于二维码拍照 ...
- Luch简介— Android上的BLE信标扫描新库
Bluetooth Beacons are the small devices that transmit small packages of data according to the BLE pr ...
最新文章
- 我的Java开发学习之旅------Java经典排序算法之希尔排序
- 【机器学习】集成学习与模型融合方法举例
- Leetcode 373. 查找和最小的K对数字 解题思路及C++实现
- 制作html5谭木记页面,北斗区域地理配套练习答案
- ARM7寄存器分布图
- member selection 运算符是什么
- 韦东山《嵌入式Linux应用开发完全手册》配套视频教程
- [FFMPEG播放器]结合FFMPEG使用SDL2渲染ASS字幕
- 在ZYNQ7000嵌入式操作系统Debian8下源代码编译安装并配置Ros环境(Kinetic版本)
- Maven到底是个啥?——Maven深入理解
- 循环日程表(递归、分治)
- 高级程序员到底长什么样子?
- 【小萝莉说Crash】第二期:Unrecognized selector xxx 之 ForwardInvocation
- python下载酷狗音乐源码
- 《数字图像处理》自学笔记(一)
- matlab矩阵除法、左除、求逆,这三者有什么区别
- Opencv+Zbar二维码识别(一维码校正)
- adb 读取短信,通话记录、日历、通讯录等的方法
- 代码实现:根据输入的年份,打印该年的年历
- 机票预订信息系统——数据库系统设计
热门文章
- 时光手帐如何打印 时光手帐打印的方法
- matlab矢量角度,MATLAB矢量,角度,图
- 学习Spring Boot:(二十四)多数据源配置与使用
- 修改TOMCAT的JVM虚拟机内存大小几种方式
- java实现简单二叉树
- php默认语法,php基本语法
- nginx 上传 文件超时设置_nginx限制上传大小和超时时间设置说明/php限制上传大小...
- windows分屏_windows内到底藏了多少好东西?
- matlab用高斯消元法解线性方程组,用matlab利用高斯消元法求解线性方程组
- red6.4 mysql_rhel6.4 yum本地yum源配置