【问题标题】:How to get video thumbnail along with uri from gallery in android如何从android中的画廊获取视频缩略图和uri
【发布时间】:2019-03-02 00:29:28
【问题描述】:
@ Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (data.getData()!=null) {
        videoUri = data.getData();


        if (resultCode == RESULT_OK) {
            if (requestCode == REQUEST_VIDEO) {
                Toast.makeText(this, data.getData().toString(), Toast.LENGTH_LONG).show();

            } else if (requestCode == VIDEO_RECORD_REQUEST) {
                videoUri = data.getData();
                Toast.makeText(this, data.getData().toString(), Toast.LENGTH_LONG).show();
            }
        }
    }
    else
    {
        Toast.makeText(this, "No file", Toast.LENGTH_SHORT).show();
    }

}

我已经尝试过这段代码,它工作正常,但我也想获取结果视频 URI 的缩略图。

【问题讨论】:

标签: java android


【解决方案1】:

onActivityResult

String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = context.getContentResolver().query(uri, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();

Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(picturePath, MediaStore.Video.Thumbnails.MICRO_KIND);

查看这个官方文档

developer.android

【讨论】:

  • 你可以使用这样的函数: public Uri getImageUri(Context inContext, Bitmap inImage) { ByteArrayOutputStream bytes = new ByteArrayOutputStream(); inImage.compress(Bitmap.CompressFormat.JPEG, 100, 字节);字符串路径 = Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);返回 Uri.parse(路径); }
  • 我不尝试使用以下几行,但可能对你有用,:String FILENAME = "image.png";字符串 PATH = "/mnt/sdcard/"+ 文件名;文件 f = 新文件(路径); Uri yourUri = Uri.fromFile(f);
猜你喜欢
  • 2019-12-19
  • 2017-10-21
  • 1970-01-01
  • 2014-12-04
  • 1970-01-01
  • 1970-01-01
  • 2018-11-29
  • 2015-11-09
  • 2011-10-19
相关资源
最近更新 更多