Android开发之获取本地视频和获取自拍视频

1、获取本地所有视频

    public void getLoadMedia() {
        Cursor cursor = UILApplication.instance.getApplicationContext().getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Video.Media.DEFAULT_SORT_ORDER);
        try {
            for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
                int id = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media._ID)); // id
                String displayName =cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.TITLE));
                String album = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.ALBUM)); // 专辑
                String artist = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.ARTIST)); // 艺术家
                String title = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DISPLAY_NAME)); // 显示名称
                String mimeType =cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.MIME_TYPE));
                String path = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA)); // 路径
                long duration = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATION)); // 时长
                long size = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.SIZE)); // 大小
                String resolution =cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.RESOLUTION));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            cursor.close();
        }
    }

2、获取拍照视频

public static final String[] videoCursorCols = new String[] { MediaStore.Video.Media._ID, MediaStore.Video.Media.DISPLAY_NAME, MediaStore.Video.Media.TITLE, MediaStore.Video.Media.DURATION, MediaStore.Video.Media.ARTIST, MediaStore.Video.Media.ALBUM, MediaStore.Video.Media.RESOLUTION, MediaStore.Video.Media.MIME_TYPE, MediaStore.Video.Media.SIZE, MediaStore.Video.Media.DATA };

    public static Video fileUriForVideo(Activity activity, Uri uri) {

        Cursor cursor = activity.getContentResolver().query(uri, videoCursorCols, null, null, null);

        if (cursor == null || cursor.getCount() == 0) {
            return null;
        } else {

            Video video = new Video();
            cursor.moveToFirst();
            /* file name */
            if (cursor.getString(1) != null) {
                video.setName(cursor.getString(1));
            }
            /* media name */
            if (cursor.getString(2) != null) {
               video.setDisplayName(cursor.getString(2));
            }
            /* play duration */
            if (cursor.getString(3) != null) {
                video.setTimelong((cursor.getInt(3) / 1000) + "s");
            }
            /* artist */
            if (cursor.getString(4) != null) {
                video.setSinger(cursor.getString(4));
            }
            /* album */
            if (cursor.getString(5) != null) {
                video.setAlbum(cursor.getString(5));
            }
            /* resolution */
            if (cursor.getString(6) != null) {
                video.setResolution(cursor.getString(6));
            }
            /* media type */
            if (cursor.getString(7) != null) {
                video.setMimeType(cursor.getString(7).trim());
            }
            /* media size */
            if (cursor.getString(8) != null) {
                video.setDownfilesize(new java.text.DecimalFormat("#.00").format((cursor.getInt(8) / 1024.0 / 1024.0)) + " MB");

            }
            /* media file path */
            if (cursor.getString(9) != null) {
                video.setVoiceurl(cursor.getString(9));
            }
            if (cursor != null) {
                cursor.close();
            }
            return video;
        }
    }
时间: 2024-10-07 03:22:28

Android开发之获取本地视频和获取自拍视频的相关文章

【Android开发VR实战】二.播放360°全景视频

转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53924006 本文出自[DylanAndroid的博客] [Android开发VR实战]二.播放360°全景视频 VR即Virtual Reality虚拟现实.虚拟现实技术是一种能够创建和体验虚拟世界的计算机仿真系统它利用计算机生成一种模拟环境是一种多源信息融合的交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中. 那么,怎样在Android中去开发VR功能的APP

Android 开发--CMakeList调用本地so文件

这里写代码片Android开发常常遇到Java调用so文件的情况,本文介绍一下Google最近新推出的应用在android studio中的方法–cmakelist.txt格式调用. so文件分为jni格式的和非jni格式的,java只能调用jni格式的so文件.本文介绍的是针对ndk生成的非jni格式的so文件调用. 首先是对非jni格式的so文件进行处理,声明一个.h文件,将so文件中的方法包进去,之后将.h文件和so文件放在一个目录下(之后需要对目录进行设置),在系统生成的native-l

Android开发:SharedPreferences 存储数据、获取数据

email:[email protected] 开发环境:win7 64位,Android Studio. 关于SharedPreferences.个人理解把它理解为一种轻量级的Database.存取形式和map一样:<key,value>,以xml文件存储. 我仅仅是用它来存储一下登录信息和登录状态,这样每次登录的时候就能够从本地读取信息. 一.存储 /** * 保存个人信息在本地 */ SharedPreferences sharedPreferences = getSharedPrefe

Android开发学习之路-图片颜色获取器开发(1)

系列第一篇,从简单的开始,一步一步完成这个小项目. 颜色获取就是通过分析图片中的每个像素的颜色,来分析整个图片的主调颜色,有了主调颜色,我们可以用于图片所在卡片的背景或者标题颜色,这样整体感更加强烈. 有兴趣的可以学习下使用谷歌提供的Palette,也是做同样的工作,博客地址:http://www.cnblogs.com/Fndroid/p/5201236.html 先看效果图: 分析原理比较简单,就是获取图片的所有像素的颜色,然后统计,把统计的数目排序,然后返回给用户. 但是这里要先注意几个问

Android开发教程--关于系统相机拍照获取的照片尺寸较小问题的解决

网上大部分的解决方案,都是如下方式: Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); startActivityForResult(intent,REQUEST_CODE_CAPTURE_CAMEIA); 拍照完成之后,回调: protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resul

Android开发之通过包管理器获取安装应用信息

最近在自己写一个APP,有一个模块需要获取手机应用的一些信息.坑还是有,但都基本踩过了,自己把他实现了出来,实现方法还是很需要掌握的.底部弹出的对话框中四个选项的实现不多做说明,主要讲讲如何获取这些安装的应用信息.好了,不多说,看看效果图: 获取手机安装应用信息: 1.写一个JavaBean,用于存放应用信息,生产get,set方法. public class AppBean { private Drawable appIcon; private String appName; private

android开发:jni下native代码获取毫秒级时间

#include <android/log.h> #define LOG_TAG "" #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__) struct timeval xTime; int xRet = gettimeofday(&xTime, NULL); long long xFactor = 1; long long now = (long long)(

Android开发:扫描本地音乐文件

一.前言 本来觉得so easy,真是没想到,还搞了老半天,搞的我大汗淋漓,要拍桌子摔键盘了. 本想实现的功能是: 通过网易云音乐/百度音乐/QQ音乐/酷狗音乐中一个API,通过关键词/歌手/歌词来搜索相关歌曲信息,然后在线播放.下载到本地,不过目前来看,使用API还是有一点问题.通过浏览器访问,问题不大,例如下图: 但是想通过手机访问的时候,问题就出现了,同样的参数,结果很不一样,而且基本搜不到自己想要的,后来换做通过自己的服务器去访问,还是搜不到,后来查了一下资料,暂时也没解决.于是,目前就

Android应用开发提高篇(1)-----获取本地IP

链接地址:http://www.cnblogs.com/lknlfy/archive/2012/02/21/2361802.html 一.概述 习惯了Linux下的网络编程,在还没用智能机之前就一直想知道怎么得到手机的IP地址(玩智能机之前我是不搞手机应用的).好了,得知Android是基于Linux内核的,那么不就可以利用之前学的Linux下的网络编程方法来获取IP了吗?呵呵,其实这是比较底层的方法,在Android上,完全可以利用Java的API来实现,而且实现的代码非常简单.下面的实现只可