首页 新闻 会员 周边 捐助

android 调用自带录像功能保存报错

0
悬赏园豆:30 [已解决问题] 解决于 2012-12-04 16:26

用同样的方法调用拍照功能可以,但是录像功能报错,大侠们帮忙看下这里是否有问题好吗?

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.
oldfeel的主页 oldfeel | 初学一级 | 园豆:91
提问于:2012-05-14 12:55
< >
分享
最佳答案
0

录像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

收获园豆:30
artwl | 专家六级 |园豆:16736 | 2012-05-14 13:41
mIntent.putExtra(MediaStore.EXTRA_OUTPUT, filePath);  这句话 filePath 没有起作用啊,如果是照片的话直接 *.jpg 可以生成指定路径名字的图片,但是视频不知道为什么不行,放文件名的话报错
Caused by: java.io.IOException: setOutputFile failed.

放目录的话不起作用,就像现在这样。
oldfeel | 园豆:91 (初学一级) | 2012-05-14 13:49

@oldfeel: 视频的后缀应该是.3pg

artwl | 园豆:16736 (专家六级) | 2012-05-14 13:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册