为了账号安全,请及时绑定邮箱和手机立即绑定

需要帮助从录制的视频Uri获取文件

需要帮助从录制的视频Uri获取文件

牛魔王的故事 2021-05-14 10:14:03
我有两个活动。Activity1打开Activity2Intent intent = new Intent(getContext(), Activity2.class);startActivityForResult(intent, CAMERA_VIDEO_RESULT)Activity2使用MediaRecorder允许用户捕获视频。首先,我准备在File中onCreate: mRecordedFile = getOutputMediaFile(this, MEDIA_TYPE_VIDEO);这里使用的方法是从Google的示例中借来的,就像我创建文件的方式一样: private static File getOutputMediaFile(Context context, int type){        File mediaStorageDir = new File(context.getExternalFilesDir(                Environment.DIRECTORY_PICTURES), "MyCameraApp");        if (! mediaStorageDir.exists()){            if (! mediaStorageDir.mkdirs()){                Log.d("MyCameraApp", "failed to create directory");                return null;            }        }        String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());        File mediaFile;        if (type == MEDIA_TYPE_IMAGE){            mediaFile = new File(mediaStorageDir.getPath() + File.separator +                    "IMG_"+ timeStamp + ".jpg");        } else if(type == MEDIA_TYPE_VIDEO) {            mediaFile = new File(mediaStorageDir.getPath() + File.separator +                    "VID_"+ timeStamp + ".mp4");        } else {            return null;        }        return mediaFile;    }我将其设置为输出File:mMediaRecorder.setOutputFile(mRecordedFile.getAbsolutePath());所以,回到中Activity1,我Uri在onActivityResult方法中检索到了这个,data只是返回了Intent:Uri uri = data.getData();到目前为止,看起来还不错。本Uri看起来是这样的:file:///storage/emulated/0/Android/data/com.mycameraapp.demo/files/Pictures/MyCameraApp/VID_20180713_091027.mp4最终,我尝试将其检索并将其转换回a,File因为我需要将其上传到服务器。以下是相关的位: String filePath = uri.getPath(); File file = new File(filePath);在File这个创造是空白,具有长度为0的我一直在打我的头撞在墙上在这一个,但是,感觉就像我必须失去了一些东西明显。有什么建议吗?
查看完整描述

1 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

您知道,您可能应该发布所有代码。可能发生的事情甚至与您发布的代码无关。您可能在用户点击停止录制按钮之后立即再次设置输出文件,从而覆盖了他们刚刚制作的文件。



查看完整回答
反对 回复 2021-05-26
  • 1 回答
  • 0 关注
  • 168 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信