Android相机Camera相关问题

项目中有用到相机功能,相关问题做个备忘记录。

1、启动提示:java.lang.runtimeException:setparameters failed..... 
    因为parameters.setPictureSize(320, 480)(设置分辨率)的参数有误, 
    如果不清楚分辨率可以却掉这句话,再运行就OK 了。 
    如果真的想看分辨率可以看logcat日志上面有写:getParameters(....)里面就是一些相关的参数。

2、连续拍照,会出现异常:java.lang.RuntimeException:fail to connect to camera service。

    首先,确认下权限:在AndroidManifest.xml文件中添加权限允许语句:

             <uses-permission android:name="android.permission.CAMERA" /> 
    其次检查,有没有对camera进行释放,或者说系统有自动释放功能但是还没有被处理。可以通过手动释放:

  1. public void surfaceDestroyed(SurfaceHolder holder) {  
  2.     try {  
  3.     stopPreview();  
  4. catch (Exception e) {  
  5.     e.printStackTrace();  
  6. }  
  7.     try {  
  8.     closeCamera();  
  9.     mSurfaceHolder = null;  
  10. catch (Exception e) {  
  11.     e.printStackTrace();  
  12. }  

3、调用相机并指定相片路径,保存在/sdcard/下面。

  1. Intent ti = new Intent();  
  2. ti.setAction("android.media.action.IMAGE_CAPTURE");  
  3. File out = new File(Environment.getExternalStorageDirectory(), "ziyouku.jpg");  
  4. Uri uri = Uri.fromFile(out);  
  5. ti.putExtra(MediaStore.EXTRA_OUTPUT, uri);  
  6. startActivityForResult(ti, 1); 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值