簡體   English   中英

如何從外部SD卡獲取視頻和圖像的總大小

[英]How to get total video & image size from external SD card

我正在嘗試從外部SD卡計算總內存大小(視頻和圖像)。 例如,有一個方法MediaStore.Audio.Media.getContentUriForPath(String path) 從那里我可以獲取URI並計算音頻文件的大小。 通過傳遞 ..

private long getMedia(Uri uri) {
    Log.e("URI",uri+"");
    String[] proj = { MediaStore.MediaColumns.SIZE };
    Cursor cursor = ((Activity) context).getContentResolver().query(uri, proj, null, null, null);
    long size = DirectoryMediaSize.getMediaSize(cursor);
    cursor.close();
    return size;
}

沒有像MediaStore.Video.Media.getContentUriForPath()這樣的方法。 那么我如何計算(視頻和圖像)的大小呢?

試試下面的代碼:

                    Uri selectedImageURI = data.getData();
                    File imageFile = new File(getRealPathFromURI(selectedImageURI));

long check = ((imageFile.length() / 1024));
                    if (check < 5000)
                    {
                         // less then 5 mb
                    }
                    else 
                    {
                            // greater then 5 mb
                    }

函數getRealPathFromURI

String getRealPathFromURI(Uri contentURI)
    {
        String result;
        Cursor cursor = getContentResolver().query(contentURI, null, null, null, null);
        if (cursor == null)
        { // Source is Dropbox or other similar local file path
            result = contentURI.getPath();
        }
        else
        {
            cursor.moveToFirst();
            int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
            result = cursor.getString(idx);
            cursor.close();
        }
        return result;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM