`

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是通过后缀名来确定所需要扫描的文件,并且我还测试将后缀名驱动后就扫描到了。
分享到:
评论

相关推荐

    Android代码-FileExplorer

    综上所述,FileExplorer项目覆盖了Android开发的多个核心领域,是学习Android文件系统操作、UI设计、网络编程和权限管理等方面的好实践案例。通过深入研究和理解这个项目的源代码,开发者可以提升自己的Android开发...

    Android-基于googleExoPlayer播放hls的m3u8rtmpmp4文件;

    MediaItem mediaItem = MediaItem.fromUri("http://your-mp4-file-url.mp4"); ProgressiveMediaSource mediaSource = new ProgressiveMediaSource.Factory(dataSourceFactory) .createMediaSource(mediaItem); ...

    Android解析midi文件

    在Android平台上,开发MIDI(Musical Instrument Digital Interface)文件处理功能可以为音乐应用提供丰富的交互体验。MIDI是一种标准的数字音乐格式,用于电子乐器、计算机和其他设备之间的通信。本教程将深入探讨...

    Android应用源码-----调用相机拍照实现(Android).rar

    在提供的源码`AndroidCamera(jb51.net)`中,我们可以看到以上步骤的具体实现,包括权限请求、创建意图、设置输出文件、启动相机、处理回调以及图片处理等关键代码。通过对这些代码的分析和学习,开发者可以更好地...

    新版Android开发教程.rar

    这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...

    Media File XStream-开源

    Media File XStream作为XBMSP服务器,它的核心功能是使用户能够轻松地在本地网络内分享音频、视频和其他媒体文件。由于它是用C#编写的,因此需要.NET Framework v1.1环境才能运行,这是Microsoft开发的一个应用程序...

    Android开发资料合集--续

    20. 文件操作:读取、写入文件,获取文件大小,删除文件等,涉及File类和IO流。 21. BroadcastReceiver处理SD卡插拔事件:注册BroadcastReceiver监听ACTION_MEDIA_MOUNTED和ACTION_MEDIA_UNMOUNTED广播。 22. JSON...

    android 仿ES文件浏览器源码.rar

    【Android 仿ES文件浏览器源码解析】 在Android开发中,构建一个强大的文件管理器是一项挑战,而"android 仿ES文件浏览器源码"则提供了一个实现此类功能的参考实例。ES文件浏览器是一款广受欢迎的Android应用,它...

    Android上传单文件和多文件(后台使用MultipartFile)

    在Android应用开发中,文件上传是一项常见的功能,无论是图片、文档还是音频,用户可能需要将本地数据上传到服务器进行存储或处理。本知识点主要聚焦于如何在Android中实现单文件和多文件的上传,以及后台使用`...

    android崩溃日志保存SDCARD-本地阅读-并发送email

    android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /&gt; ``` 在res/xml文件夹下创建file_paths.xml,定义允许访问的日志文件路径: ```xml &lt;paths xmlns:android=...

    Android文件系统全面讲解

    公共存储在Android 6.0(API级别23)之后需要运行时权限,文件在/Android/media或/Android/obb目录下。私有存储则类似于内部存储,但位于外部存储,如/data/user/0/包名/files/,不过应用卸载后,这些文件不会自动...

    android录屏、录音并合成视频保存本地

    - 自Android 6.0(API级别23)起,官方提供了`MediaProjection` API,允许开发者实现系统级别的屏幕录制。然而,对于Android 5.0(API级别21),开发者需要利用第三方库或者自定义实现来达到屏幕录制的效果。例如,...

    MAC AndroidFileTransfer.zip

    AndroidFileTransfer是一款免费的第三方应用,它利用Media Transfer Protocol (MTP) 协议,允许Mac用户通过USB连接将Android设备与电脑相连,浏览、复制、移动或删除设备上的文件,如照片、视频、音乐、文档等。...

    Android应用源码之SDCardSample-IT计算机-毕业设计.zip

    Android提供`java.io.File`类来进行文件操作。在SDCardSample中,开发者可能创建、删除、读取或写入文件。`File`对象可以代表路径,然后使用`createNewFile()`, `exists()`, `delete()`, `renameTo()`等方法执行...

    MediaCodec-Decode-selectFile-master.zip 安卓Android 解码播放

    本项目"MediaCodec-Decode-selectFile-master"旨在实现一个功能完善的媒体解码播放器,通过用户选择本地文件直接调用MediaCodec进行解码播放。 MediaCodec是Android硬件加速框架的一部分,它允许开发者访问设备上的...

    android webview input=file 失效解决方案

    如果你需要在Android 7.0及以上版本分享文件,需要使用`FileProvider`来避免安全警告。首先在`AndroidManifest.xml`中添加`&lt;provider&gt;`标签,然后在代码中创建文件URI并传递给Webview: ```xml android:name=...

    libvlc播放本地文件、实时流、录制、停止录制

    与播放本地文件类似,我们首先创建Media对象,但这次使用libvlc_media_new_location()或libvlc_media_new_mrl(),传入流的URL。之后的步骤与播放本地文件相同,加载到MediaPlayer并启动播放。 接下来,**录制功能**...

    Android 关于Media数据库的操作

    在Android中,删除SD卡上的媒体文件通常涉及到更新Media数据库的记录,以确保文件的元数据与实际文件状态同步。然而,没有直接的方法可以完成这一操作。一种常见的实现方式是通过文件的绝对路径获取其在数据库中的ID...

    Android-Retrofit2文件上传及其进度显示

    RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"), file); MultipartBody.Part part = MultipartBody.Part.createFormData("file", file.getName(), requestBody); ``` 现在我们已经准备...

Global site tag (gtag.js) - Google Analytics