需求:在mediaprovider数据库中加入.mov后缀格式的视频文件

能够使用工具MediaInfo_GUI_0.7.67_Windows.3243836749.exe 查看mov文件编码格式类型,能够到http://download.csdn.net/detail/deng0zhaotai/8767089下载。

概要
完整名称 : D:\好歌曲学员合.mov
文件格式 : MPEG-4
格式简单介绍 : QuickTime
编码设置ID : qt
文件大小 : 83.8 MiB
长度 : 1分 2秒
平均混合码率 : 11.3 Mbps
编码日期 : UTC 2015-04-23 06:07:05
标记日期 : UTC 2015-04-23 06:08:38
编码函数库 : Apple QuickTime
㏕IM : 00:00:00:00
㏕SC : 25
㏕SZ : 1 视频
ID : 1
文件格式 : AVC
文件格式/信息 : Advanced Video Codec
格式简单介绍 : Main@L4.0
格式设置, CABAC : 否
格式设置, ReFrames : 2 frames
格式设置, GOP : M=1, N=50
编码设置ID : avc1
编码设置ID/信息 : Advanced Video Coding
长度 : 1分 2秒
码率 : 11.2 Mbps
画面宽度 : 1 920像素
画面高度 : 1 080像素
画面比例 : 16:9
帧率模式 : 恒定
帧率 : 25.000 fps
色彩空间 : YUV
色度抽样 : 4:2:0
位深度 : 8位
扫描方式 : 逐行扫描
bits/(pixel*frame)(数据密度) : 0.216
大小 : 82.8 MiB (99%)
标题 : 苹果视频媒体处理程序 / Apple 替身数据处理程序
语言 : English
编码日期 : UTC 2015-04-23 06:07:05
标记日期 : UTC 2015-04-23 06:08:38
颜色初选 : BT.709
传输特质 : BT.709
矩阵系数 : BT.709 音频
ID : 2
文件格式 : AAC
文件格式/信息 : Advanced Audio Codec
格式简单介绍 : LC
编码设置ID : 40
长度 : 1分 2秒
Source_Duration/String : 1分 2秒
码率模式 : CBR
码率 : 120 Kbps
额定码率 : 128 Kbps
声道 : 2声道
声道位置 : Front: L R
採样率 : 48.0 KHz
压缩模式 : 有损压缩
大小 : 909 KiB (1%)
Source_StreamSize/String : 909 KiB (1%)
标题 : 苹果声频媒体处理程序 / Apple 替身数据处理程序
语言 : English
编码日期 : UTC 2015-04-23 06:07:05
标记日期 : UTC 2015-04-23 06:08:38 其他
ID : 3
Type : Time code
文件格式 : QuickTime TC
长度 : 1分 2秒
TimeCode_FirstFrame : 00:00:00:00
TimeCode_Settings : Striped
标题 : 时间码媒体处理程序 / Apple 替身数据处理程序
语言 : English
编码日期 : UTC 2015-04-23 06:08:38
标记日期 : UTC 2015-04-23 06:08:38

能够看到两个实用的信息

文件格式 : MPEG-4

格式简单介绍 : QuickTime

须要改动的文件:frameworks/base/media/java/android/media/MediaFile.java,我们能够參考已有的视频格式加入

// Video file types
public static final int FILE_TYPE_FLV = 20;
public static final int FILE_TYPE_MP4 = 21;
public static final int FILE_TYPE_M4V = 22;
public static final int FILE_TYPE_3GPP = 23;
public static final int FILE_TYPE_3GPP2 = 24;
public static final int FILE_TYPE_WMV = 25;
public static final int FILE_TYPE_ASF = 26;
public static final int FILE_TYPE_MKV = 27;
public static final int FILE_TYPE_MP2TS = 28;
public static final int FILE_TYPE_AVI = 29;
public static final int FILE_TYPE_WEBM = 30;
public static final int FILE_TYPE_MOV = 52;
private static final int FIRST_VIDEO_FILE_TYPE = FILE_TYPE_FLV;
private static final int LAST_VIDEO_FILE_TYPE = FILE_TYPE_WEBM;

加入:public static final int FILE_TYPE_MOV = 52;  这一行

addFileType("MPEG", FILE_TYPE_MP4, "video/mpeg", MtpConstants.FORMAT_MPEG);
addFileType("MPG", FILE_TYPE_MP4, "video/mpeg", MtpConstants.FORMAT_MPEG);
addFileType("MP4", FILE_TYPE_MP4, "video/mp4", MtpConstants.FORMAT_MPEG);
addFileType("MOV", FILE_TYPE_MOV, "video/quicktime", MtpConstants.FORMAT_MPEG);
addFileType("M4V", FILE_TYPE_M4V, "video/mp4", MtpConstants.FORMAT_MPEG);
addFileType("3GP", FILE_TYPE_3GPP, "video/3gpp", MtpConstants.FORMAT_3GP_CONTAINER);
addFileType("3GPP", FILE_TYPE_3GPP, "video/3gpp", MtpConstants.FORMAT_3GP_CONTAINER);
addFileType("3G2", FILE_TYPE_3GPP2, "video/3gpp2", MtpConstants.FORMAT_3GP_CONTAINER);
addFileType("3GPP2", FILE_TYPE_3GPP2, "video/3gpp2", MtpConstants.FORMAT_3GP_CONTAINER);
addFileType("MKV", FILE_TYPE_MKV, "video/x-matroska");
addFileType("WEBM", FILE_TYPE_WEBM, "video/webm");
addFileType("TS", FILE_TYPE_MP2TS, "video/mp2ts");
addFileType("AVI", FILE_TYPE_AVI, "video/avi");
addFileType("FLV", FILE_TYPE_FLV, "video/flv");



文件格式 : MPEG-4

格式简单介绍 : QuickTime



信息可知。加入一行:addFileType("MOV", FILE_TYPE_MOV, "video/quicktime", MtpConstants.FORMAT_MPEG);



还要改动一个函数:

public static boolean isVideoFileType(int fileType) {
return (fileType >= FIRST_VIDEO_FILE_TYPE &&
fileType <= LAST_VIDEO_FILE_TYPE)
|| (fileType >= FIRST_VIDEO_FILE_TYPE2 &&
fileType <= LAST_VIDEO_FILE_TYPE2)
|| (fileType == FILE_TYPE_MOV);
}

加入条件:fileType == FILE_TYPE_MOV

能够把数据库删除:rm -rf /data/data/com.android.providers.media/databases/



然后重新启动手机。就能够在video视图中找到.mov的视频



当然以上代码能够作下优化,

public static final int FILE_TYPE_WEBM = 30;
public static final int FILE_TYPE_MOV = 31;
private static final int FIRST_VIDEO_FILE_TYPE = FILE_TYPE_FLV;
private static final int LAST_VIDEO_FILE_TYPE = FILE_TYPE_MOV;

那么涉及到后面就须要改动

// Image file types
public static final int FILE_TYPE_JPEG = 31;
public static final int FILE_TYPE_GIF = 32;
public static final int FILE_TYPE_PNG = 33;
public static final int FILE_TYPE_BMP = 34;
public static final int FILE_TYPE_WBMP = 35;
public static final int FILE_TYPE_WEBP = 36;
private static final int FIRST_IMAGE_FILE_TYPE = FILE_TYPE_JPEG;
private static final int LAST_IMAGE_FILE_TYPE = FILE_TYPE_WEBP; // Playlist file types
public static final int FILE_TYPE_M3U = 41;
public static final int FILE_TYPE_PLS = 42;
public static final int FILE_TYPE_WPL = 43;
public static final int FILE_TYPE_HTTPLIVE = 44;
public static final int FILE_TYPE_DASH = 45; private static final int FIRST_PLAYLIST_FILE_TYPE = FILE_TYPE_M3U;
private static final int LAST_PLAYLIST_FILE_TYPE = FILE_TYPE_DASH; // Drm file types
public static final int FILE_TYPE_FL = 51;

改动后的文件:http://download.csdn.net/detail/deng0zhaotai/8767221

Android加入新的视频格式--媒体库扫描的更多相关文章

  1. Android 插入图片到媒体库

    今天介绍一下在Android中怎么插入图片到媒体库,下面看代码: final String titleName = Function.md5(imageUri.toLowerCase()) + &qu ...

  2. 【FFMPEG】各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式

    目录(?)[-] 编解码学习笔记二codec类型 编解码学习笔记三Mpeg系列Mpeg 1和Mpeg 2 编解码学习笔记四Mpeg系列Mpeg 4 编解码学习笔记五Mpeg系列AAC音频 编解码学习笔 ...

  3. 如何扫描出Android系统媒体库中视频文件

    Android系统启动时会去扫描系统文件,并将系统支持的视频文件(mp4,3gp,wmv)扫描到媒体库(MediaStore)中,下面代码演示如何获得这些文件的信息: publicstatic Lis ...

  4. Android 获取视频照片与刷新媒体库

    1.获取本地所有视频 public void getLoadMedia() { Cursor cursor = UILApplication.instance.getApplicationContex ...

  5. Android media媒体库分析之:MediaProvider

    在做Android媒体应用程序时(Audio.Image.Video)需要对Android的媒体提供者(MediaProvider)做详细的分析,下面记录一下我的收获: 一.获取MediaProvid ...

  6. Android——媒体库 相关知识总结贴

    Android媒体库 http://www.apkbus.com/android-19283-1-1.html Android本地图片选择打开媒体库,选择图片 http://www.apkbus.co ...

  7. 最简单的基于FFmpeg的移动端样例:Android 视频解码器-单个库版

    ===================================================== 最简单的基于FFmpeg的移动端样例系列文章列表: 最简单的基于FFmpeg的移动端样例:A ...

  8. 主攻互动娱乐和视频自媒体,新浪SHOW是不是桩好生意?

        对互联网互动服务平台而言,近期几年会是空前重要的发展阶段,首先,互联网行业的持续发展.网民数量的持续激增必定带动网络互动朝更普及的方向迈进.其市场规模也必定会呈极数增长.其次,互动娱乐.视频自 ...

  9. Android官方新推的DI库 Hilt

    Android官方新推的DI库 Hilt Hilt是Google Android官方新推荐的依赖注入工具. 已加入到官方文档: Dependency injection with Hilt. 目前是a ...

随机推荐

  1. [BZOJ1017][JSOI2008]魔兽地图DotR 树形dp

    1017: [JSOI2008]魔兽地图DotR Time Limit: 30 Sec  Memory Limit: 162 MBSubmit: 2597  Solved: 1010[Submit][ ...

  2. Codeforces 954I Yet Another String Matching Problem(并查集 + FFT)

    题目链接  Educational Codeforces Round 40  Problem I 题意  定义两个长度相等的字符串之间的距离为:   把两个字符串中所有同一种字符变成另外一种,使得两个 ...

  3. URl 传参时+号变成空格

    前端用base64加密后的数据,传递到后台时发现一个问题: 比如 韩飞 这个名字,base64加密后的字符串为 6Z+p6aOe 但是后端接受到参数为: 6Z p6aOe +号变成了空格,导致后台解密 ...

  4. 洛谷——P1614 爱与愁的心痛

    题目背景 (本道题目隐藏了两首歌名,找找看哪~~~) <爱与愁的故事第一弹·heartache>第一章 <我为歌狂>当中伍思凯神曲<舞月光>居然没赢给萨顶顶,爱与愁 ...

  5. Redis数据类型、两种模型、事务、内部命令

    1.redis数据类型 a.字符串,使用场景:常规key-value缓存应用 set name lixiang get name append name 123 # 字符串追加 mset key va ...

  6. 线程同步工具之CountDownLatch

    CountDownLatch,一个同步辅助类,在完成一组其他线程汇总执行的操作前,它允许一个或多个线程一直等待 主要方法:      public CountDownLatch(int count); ...

  7. sourceinsight tab 空格 对齐 等宽字体

    参考:http://bbs.chinaunix.net/thread-587409-1-1.html 1. SMART TAB的用法. 解决自动缩进. 新开一个PROJECT后,点Options-&g ...

  8. vsftp 服务配置篇

    在CentOS或者RedHat Linux上有自带的ftp软件叫做vsftpd (very serure ftp) 搭建vsftpd 服务 yum 安装需要用两个包:vsftpd 和 db4-util ...

  9. Linux内核实践之工作队列

    工作队列(work queue)是另外一种将工作推后执行的形式,它和tasklet有所不同.工作队列可以把工作推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行.这样,通过工作 ...

  10. ES6中Set集合(与java里类似)

    一.引入背景 Set集合是一种无重复元素的列表,开发者们一般不会逐一读取数组中的元素,也不太可能逐一访问Set集合中的每个元素,通常的做法是检测给定的值在某个集合中是否存在 Map集合内含多组键值对, ...