【发布时间】:2023-03-22 08:50:01
【问题描述】:
好的,我已用尽所有链接,但似乎找不到答案。
我已关注this guide 创建摄像机应用程序,但我似乎无法保存文件。
在谈到保存到外部存储器的教程中,我正在开发的手机是 Google Nexus 4,没有外部存储器!所以我试图保存到内部存储器,但我不知道如何用视频做到这一点。我也阅读了storage options 指南,但我再次发现这没什么用......
理想情况下,我想这样做,以便将录制的视频显示在画廊中,这样任何帮助/指向正确的方向都会很棒!我当前的保存方法如下所示,复制了 android 教程中的方法。我知道这里需要编辑代码,但我也不确定是什么。
/** Create a file Uri for saving an image or video */
private static Uri getOutputMediaFileUri(int type){
return Uri.fromFile(getOutputMediaFile(type));
}
/** Create a File for saving an image or video */
private static File getOutputMediaFile(int type){
// To be safe, you should check that the SDCard is mounted
// using Environment.getExternalStorageState() before doing this.
File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), "MyCameraApp");
// This location works best if you want the created images to be shared
// between applications and persist after your app has been uninstalled.
// Create the storage directory if it does not exist
if (! mediaStorageDir.exists()){
if (! mediaStorageDir.mkdirs()){
Log.d("MyCameraApp", "failed to create directory");
return null;
}
}
// Create a media file name
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;
}
也许我遗漏了一些明显的东西,但我已经花了六个小时研究这个现在尝试不同的东西。提前致谢!
【问题讨论】:
标签: android video save gallery media