1,若你很想清楚的了解究竟Androidmedia支持哪些格式,你可以看android的源码:androidframeworksasemediajavaandroidmedia中的MediaFile:

  Java代码

  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是如何扫描相对应的文件:

  Java代码

  public static MediaFileType getFileType(String path) {

  int lastDot = path.lastIndexOf(".");

  if (lastDot < 0)

  return null;

  return sFileTypeMap.get(path.substring(lastDot + 1).toUpperCase());

  }

  public static MediaFileType getFileType(String path) {

  int lastDot = path.lastIndexOf(".");

  if (lastDot < 0)

  return null;

  return sFileTypeMap.get(path.substring(lastDot + 1).toUpperCase());

  }

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


更多相关文章

  1. Eclipse+CDT+GDB调试android NDK程序 轉
  2. vlc android 代码编译
  3. Android(安卓)Pull解析xml
  4. Android开发之android_apk 在线安装(源代码分享)
  5. 系出名门Android(8)
  6. android tab上显示数字(转)
  7. 关于Android多项目依赖在Eclipse中无法关联源代码的问题解决 (an
  8. android EditText设置不可写
  9. Android锁屏控制

随机推荐

  1. 如何查看Android 中native的Service
  2. Android(安卓)Theme
  3. [AndroidTips]Android软件测试的日志文件
  4. Ubuntu下批处理转换jpg 2 png格式
  5. AIDL实例分析和讲解
  6. 翻译引用 android的按键响应
  7. 一招破解Android SDk 更新问题
  8. ListView 美化小细节
  9. Android 数据库Sqlite的使用(3)
  10. Android(安卓)Telechips89xx背光控制流程