在CustomCamera.java文件中void capture(View view)方法里面写什么?

来源:3-2 Android自定义相机之Camera管理

彪悍大蓝猫

2016-03-15 13:16

在CustomCamera.java文件中void capture(View view)方法里面写什么?视频里好像没有展示这一块。

写回答 关注

1回答

  • Sandy2014
    2016-03-19 17:15:30
    已采纳

    这个是按钮的点击时间,里面主要是实现拍照功能,

      public  void capture(View view){

            Camera.Parameters param=mcamera.getParameters();

            param.setPictureFormat(ImageFormat.JPEG);

            param.setPreviewSize(800,400);

            param.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);

            mcamera.autoFocus(new Camera.AutoFocusCallback(){



                @Override

                public void onAutoFocus(boolean success, Camera camera) {

                    if (success){

                        mcamera.takePicture(null,null,mpictureCallback);

                    }

                }

            });

        }

    然后在最上面加上

     private Camera.PictureCallback mpictureCallback=new Camera.PictureCallback(){


            @Override

            public void onPictureTaken(byte[] data, Camera camera) {//将拍摄数据写入临时文件中

                File temFile=new File("/sdcard/tem.png");

                try {

                    FileOutputStream fos=new FileOutputStream(temFile);

                    fos.write(data);

                    fos.close();

                    Intent intent=new Intent(MainActivity.this, ResultActivity.class);

                    intent.putExtra("picPath",temFile.getAbsolutePath());

                    startActivity(intent);

                    MainActivity.this.finish();

                } catch (Exception e) {

                    e.printStackTrace();

                }



            }

        };


    彪悍大蓝猫

    当时看没有仔细看视频,感谢您的帮助

    2016-03-28 10:06:15

    共 1 条回复 >

Android摄像头基础

带你走进Android摄像头的秘密花园,探索Camera的奥秘

44961 学习 · 136 问题

查看课程

相似问题