当前位置: 代码迷 >> Android >> android支持的media文件格式-MediaFile
  详细解决方案

android支持的media文件格式-MediaFile

热度:37   发布时间:2016-05-01 14:30:20.0
android支持的media文件格式--MediaFile
很久没有写文章了,今天有空看了有关android media的有关知识,把心德记录下来:

1,若你很想清楚的了解究竟android media支持哪些格式,你可以看android的源码:android\frameworks\base\media\java\android\media中的MediaFile:
 static {//Audio        addFileType("MP3", FILE_TYPE_MP3, "audio/mpeg");        addFileType("M4A", FILE_TYPE_M4A, "audio/mp4");        addFileType("WAV", FILE_TYPE_WAV, "audio/x-wav");        addFileType("AMR", FILE_TYPE_AMR, "audio/amr");        addFileType("AWB", FILE_TYPE_AWB, "audio/amr-wb");        addFileType("WMA", FILE_TYPE_WMA, "audio/x-ms-wma");            addFileType("OGG", FILE_TYPE_OGG, "application/ogg");        addFileType("OGA", FILE_TYPE_OGG, "application/ogg");         addFileType("MID", FILE_TYPE_MID, "audio/midi");        addFileType("MIDI", FILE_TYPE_MID, "audio/midi");        addFileType("XMF", FILE_TYPE_MID, "audio/midi");        addFileType("RTTTL", FILE_TYPE_MID, "audio/midi");        addFileType("SMF", FILE_TYPE_SMF, "audio/sp-midi");        addFileType("IMY", FILE_TYPE_IMY, "audio/imelody");        addFileType("RTX", FILE_TYPE_MID, "audio/midi");        addFileType("OTA", FILE_TYPE_MID, "audio/midi"); //Video              addFileType("MP4", FILE_TYPE_MP4, "video/mp4");        addFileType("M4V", FILE_TYPE_M4V, "video/mp4");        addFileType("3GP", FILE_TYPE_3GPP, "video/3gpp");        addFileType("3GPP", FILE_TYPE_3GPP, "video/3gpp");        addFileType("3G2", FILE_TYPE_3GPP2, "video/3gpp2");        addFileType("3GPP2", FILE_TYPE_3GPP2, "video/3gpp2");        addFileType("WMV", FILE_TYPE_WMV, "video/x-ms-wmv");//Iamage        addFileType("JPG", FILE_TYPE_JPEG, "image/jpeg");        addFileType("JPEG", FILE_TYPE_JPEG, "image/jpeg");        addFileType("GIF", FILE_TYPE_GIF, "image/gif");        addFileType("PNG", FILE_TYPE_PNG, "image/png");        addFileType("BMP", FILE_TYPE_BMP, "image/x-ms-bmp");        addFileType("WBMP", FILE_TYPE_WBMP, "image/vnd.wap.wbmp");         addFileType("M3U", FILE_TYPE_M3U, "audio/x-mpegurl");        addFileType("PLS", FILE_TYPE_PLS, "audio/x-scpls");        addFileType("WPL", FILE_TYPE_WPL, "application/vnd.ms-wpl");


2,从MediaFile除了获得Media 支持的格式,也可知道MediaScanner是如何扫描相对应的文件:
    public static MediaFileType getFileType(String path) {        int lastDot = path.lastIndexOf(".");        if (lastDot < 0)            return null;        return sFileTypeMap.get(path.substring(lastDot + 1).toUpperCase());    }    

从这段代码中就可以知道MediaScanner是通过后缀名来确定所需要扫描的文件,并且我还测试将后缀名驱动后就扫描到了。
  相关解决方案