从 android 中具有大小限制的图库中选择视频

Posted

技术标签:

【中文标题】从 android 中具有大小限制的图库中选择视频【英文标题】:Pick video from gallery with size limit in android 【发布时间】:2021-06-07 10:21:02 【问题描述】:

我的要求是从库中挑选小于 25MB 的视频并在我的 android App 布局中显示。

【问题讨论】:

【参考方案1】:

请尝试下面的代码行来获取每个视频的限制

 String[] projection = new String[] 
    MediaStore.Video.Media._ID,
    MediaStore.Video.Media.DISPLAY_NAME,
    MediaStore.Video.Media.DURATION,
    MediaStore.Video.Media.SIZE
;


 Cursor cursor = getApplicationContext().getContentResolver().query(
                    collection,
                    projection,
                    selection,
                    selectionArgs,
                    sortOrder
            )
            int sizeColumn = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.SIZE);
            while (cursor.moveToNext())                
                int size = cursor.getInt(sizeColumn);              
                videoList.add(new Video(contentUri, name, duration, size));
            

在您有意图或需要时使用的另一种方法

 File file = new File(parent,"test.mp4" );
        Uri uri=Uri.fromFile(file);
        long lengthSize = file.length();
        FileOutputStream fos = new FileOutputStream(file);
        byte[] buf = new byte[1024];
        int len;
        while ((len = fis.read(buf)) > 0) 
            fos.write(buf, 0, len);
        
        lengthSize = file.length();

【讨论】:

以上是关于从 android 中具有大小限制的图库中选择视频的主要内容,如果未能解决你的问题,请参考以下文章

如果从图库中选择图像或选择视频,则在 onActivityResult 中识别 - Android

Android Image Picker 从图库中选择多个图像,最大限制为 5

具有多个选项的 Android 意图,即从图库中选择图像并使用前置摄像头捕获图像

我需要一个意图来选择具有特定格式的视频

如何为从库中选择的视频设置持续时间限制

android-打开图库并选择图像和视频