获取手机中的视频

本文介绍了一种在Android设备上获取手机中视频的方法。通过在AndroidManifest.xml中添加权限,利用MediaStore API查询手机内外存中的视频信息,包括视频名称、大小、时长及路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近需要做一个上传手机中的视频到服务器的程序,就涉及到了怎么获取手机中的视频的问题,为了防止我忘记,我就写在这里吧。
首先要获取到手机中的视频,是需要访问sdCard的,所以需要在androidmanifest文件中注册访问sdCard的权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

然后要获取手机中的视频,就需要用到android提供的媒体数据库,所以就和查询数据库一样。

String progress[] = {

                MediaStore.Video.Media.DISPLAY_NAME,//视频的名字
                MediaStore.Video.Media.SIZE,//大小
                MediaStore.Video.Media.DURATION,//长度
                MediaStore.Video.Media.DATA,//播放地址
        };

        Cursor cursor = getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,progress,null,null,null);
        cursor.getCount();

        if (cursor.getCount()>0){

            while (cursor.moveToNext()){

                String name = cursor.getString(0);//得到视频的名字
                long size = cursor.getLong(1);//得到视频的大小
                long durantion = cursor.getLong(2);//得到视频的长度
                String data = cursor.getString(3);//得到视频的uri

                ItemDate itemDate = new ItemDate(null,name);
                list.add(itemDate);
            }

        }
        else{
            Toast.makeText(MainActivity.this,"没有找到视频",Toast.LENGTH_SHORT).show();
        }




        adapter = new MyAdapter(list, this);
        gridView.setAdapter(adapter);

cursor 是数据 库中查询返回的result是差不多的意思,。。。
是返回一个查询的结果。
在query()中有五个参数,分别表示查询的uri也就是相当于需要查询的表名,我们这里用的是android系统提供的多媒体的库,后面是指把i结果放在一个字符串数组中,方便后面查询使用getString方法,后面几个分别是查询条件,和排序方式,在这里都是不需要的。之后在这里最重要的。。
是data了,这个是视频的路径,只有得到它才可以用播放器播放出来。这通过cursor的循环就可以把手机里所有的视频都找出来了,如果是没有sdCard的就只需要把查询的query()的第一个参数MediaStore.Video.Media.EXTERNAL_CONTENT_URI改成MediaStore.Video.Media.INTERNAL_CONTENT_URI就可以查询手机内存中的视频了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值