需求:在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                                       : 3Type                                     : Time code文件格式                                     : QuickTime TC长度                                       : 1分 2秒TimeCode_FirstFrame                      : 00:00:00:00TimeCode_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

更多相关文章

  1. Android(安卓)pcm文件播放方法(AudioTrack)
  2. [置顶] S5PV210 Android(安卓)fimc驱动分析 - fimc_regs.c
  3. iOS url 编码 解码
  4. 【Android(安卓)开发教程】编码实现获取与修改预设信息中的值
  5. Android第三十课 Jni 返回jstring字符串
  6. 【Android(安卓)开发教程】纯编码实现UI
  7. Flutter String格式化
  8. Android(安卓)TTS实现简单阅读器(二)
  9. Android(安卓)4.2官方文档chm格式下载

随机推荐

  1. 如何使用ruby编程连接和访问mysqldb
  2. Open edX数据结构Mysql edxapp
  3. PHPMyWind教程:如何把本地测试好的程序发
  4. MySQL常用的函数
  5. 源码方式安装mysql5.5
  6. 数据库连接“Mysql”丢失,缺少mysql.sock
  7. MySQL查询优化技术讲座
  8. MYSQL简单的binlog恢复测试
  9. 如何从php中的数据库表创建表单下拉列表?
  10. 深入浅出MySQL读书笔记(一)