安卓获取多媒体(包括 视频音频图片)数据

Posted JsAko飞得更远

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓获取多媒体(包括 视频音频图片)数据相关的知识,希望对你有一定的参考价值。

1.android中所有的多媒体文件除了存储在物理硬盘上,还会将文件信息(路径、id、类型、)保存到数据库中,这样当我们想要获取这些文件的信息时,就不需要耗时的扫描硬盘,只需要读数据库就可以了。Android平台中称手机终端内存为内部存储空间,称SD卡为外部存储空间。针对内部和外部存储空间中的媒体文件信息是分开管理的,各自有独立的数据库管理。外部存储空间和内部存储空间对应的卷标为”external”和”internal”。
2.数据库的数据都会由相应的内容提供者暴露出来,根据预先定义的URI,可以轻松获取这些数据
3.安卓有一个服务专门用于将文件信息扫描添加到数据库中,该服务开机自启动(监听了开机广播),也可以由开发人员在特定的时机主动发送广播更新数据库的信息,比如刚刚保存了一张图片希望立刻在图库中看到。

 

 下面代码演示如何获取手机视频文件的一些数据
 ContentResolver contentResolver=context.getContentResolver();
                Uri uri= MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
                String[] projection={
                        MediaStore.Video.Media.DISPLAY_NAME,//视频在sd卡中的名称
                        MediaStore.Video.Media.DURATION,//视频时长
                        MediaStore.Video.Media.SIZE,//视频文件的大小
                        MediaStore.Video.Media.DATA,//视频的绝对路径
                        MediaStore.Video.Media.ARTIST//艺术家
                };
                Cursor cursor=contentResolver.query(uri,projection,null,null,null);

遍历cursor即可获取手机视频文件的数据

 

如果要获取音频文件,用MediaStore.Audio.Media.EXTERNAL_CONTENT_URI

如果要获取图片文件,用MediaStore.Images.Media.EXTERNAL_CONTENT_URI

以上是关于安卓获取多媒体(包括 视频音频图片)数据的主要内容,如果未能解决你的问题,请参考以下文章

安卓获取手机视频和图片

安卓获取视频语音文件时间长度

前端上传数据-图片和视频格式校验

音视频处理 ffmpeg中级开发 视频转图片

iOS:无法将 Facebook 个人资料公开数据作为媒体(图片和视频)

Android多媒体信息获取