需求:在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");由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_MOVpublic 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原文地址:http://blog.csdn.net/deng0zhaotai/article/details/46342117