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. Android开发之android_apk 在线安装(源代码分享)
  2. vlc android 代码编译
  3. 关于Android多项目依赖在Eclipse中无法关联源代码的问题解决 (an
  4. Android 格式化日期
  5. [转] android 日期时间格式转换
  6. Android 7.1 触摸事件代码跟踪
  7. android 开发中将十六进制 颜色代码 转换为int类型数值 方法 :
  8. TextView --- 内容设置成上下滑动 和 代码设置字体颜色
  9. android 使用Okhttp封装上传JSON格式数据的工具类

随机推荐

  1. Android中View的绘制过程 onMeasure方法
  2. 【Android 初学者】开发工具介绍:studio
  3. 基于android的远程视频监控系统
  4. Android API Guides---USB Host and Acce
  5. android下载手动下载Android SDK
  6. 【Android 界面效果29】研究一下Android
  7. android 一个SQLite数据库多个数据表的基
  8. Android中的Searchview以及SearchableDic
  9. windows 8环境—android studio初步体验(
  10. 谷歌将大改Android用户体验 欲取消自定义