用同样的方法调用拍照功能可以,但是录像功能报错,大侠们帮忙看下这里是否有问题好吗?
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); String path = Environment.getExternalStorageDirectory() .getAbsolutePath() + "/hfdatabase/"; String fileName = new SimpleDateFormat("yyyyMMddHHmmss") .format(new Date()) + ".3gp";// 照片命名 File out = new File(strImgPath); if (!out.exists()) { out.mkdirs(); } out = new File(path, fileName); Uri uri = Uri.fromFile(out); intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); // 这里不改名字的话没有出错,但我想知道录制的视频名字。 intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); startActivityForResult(intent, 1);
报这个错
Caused by: java.io.IOException: setOutputFile failed.
录像Demo:
public void startRecorder() { File sdcardDir = Environment.getExternalStorageDirectory(); String path = sdcardDir.getParent() + sdcardDir.getName(); String filePath = path + java.io.File.separator + "Demo"; Intent mIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); mIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); mIntent.putExtra(MediaStore.EXTRA_OUTPUT, filePath); startActivityForResult(mIntent, CAMERA_ACTIVITY); } }
需要加入写入SD卡的权限,参考:http://edison-cool911.iteye.com/blog/724845
mIntent.putExtra(MediaStore.EXTRA_OUTPUT, filePath); 这句话 filePath 没有起作用啊,如果是照片的话直接 *.jpg 可以生成指定路径名字的图片,但是视频不知道为什么不行,放文件名的话报错
Caused by: java.io.IOException: setOutputFile failed.
放目录的话不起作用,就像现在这样。
@oldfeel: 视频的后缀应该是.3pg