如何获取视频的第一帧,并显示在ImageView上

需求:
app需要上传视频的功能,当选择本地视频后,之前的Image显示视频的第一帧,表示选择的视频成功。

如何获取视频的第一帧,并显示在ImageView上_第1张图片
上传之前截图.png

点击图片进入选择本地视频页面:

                val intent = Intent()
                intent.type = "video/*"
                intent.action = Intent.ACTION_GET_CONTENT
                intent.addCategory(Intent.CATEGORY_OPENABLE)
                startActivityForResult(intent, TAKE_VIDO_LOCAL)

处理返回的数据:

 override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {
        super.onActivityResult(requestCode, resultCode, resultData)

        when (requestCode) {
           TAKE_VIDO_LOCAL -> {
                mPopWindow!!.dismiss()
                val uri = resultData!!.getData()
                val media = MediaMetadataRetriever()
                media.setDataSource(context,uri)
               val bitmap = media.getFrameAtTime()

                mUploading_void_iv!!.setImageBitmap(bitmap)

            }
         }
    }

如何获取视频的第一帧,并显示在ImageView上_第2张图片
上传视频和图片之后的截图.png
//java imageView 显示视频的第一帧
String path  = Environment.getExternalStorageDirectory().getPath();
MediaMetadataRetriever media = new MediaMetadataRetriever();
media.setDataSource(path+"/123.rmvb");
Bitmap bitmap = media.getFrameAtTime();
image = (ImageView)this.findViewById(R.id.imageView1);
image.setImageBitmap(bitmap);

你可能感兴趣的:(如何获取视频的第一帧,并显示在ImageView上)