0

我正在使用 Flurgle Camerakit 制作相机应用程序,我有一个 camerapreview 和所有功能,我可以调用 cameraalistener,但在那之后我该怎么办?

该手册说在我的快门按钮的点击中包含以下内容

cameraView.captureImage();

            cameraView.setCameraListener(new CameraListener() {
                @Override
                public void onPictureTaken(byte[] picture) {
                    super.onPictureTaken(picture);

                    Bitmap result = BitmapFactory.decodeByteArray(picture, 0, picture.length);
                    ByteArrayOutputStream stream = new ByteArrayOutputStream();
                    result.compress(Bitmap.CompressFormat.PNG, 50, stream);
                    byte [] picArray = stream.toByteArray();


                }
            });

当我这样做时,当我单击快门按钮时,我的应用程序会冻结并崩溃。我也不知道如何保存我在手机上任何地方拍摄的照片。

视频功能也是如此。他们说包括:

cameraView.startRecordingVideo();

                    cameraView.setCameraListener(new CameraListener() {
                    @Override
                    public void onVideoTaken(File video) {
                        super.onVideoTaken(video);
                        // The File parameter is an MP4 file.
                    }
                });

                    cameraView.startRecordingVideo();
                    cameraView.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            cameraView.stopRecordingVideo();
                        }
                    }, 2500);

但是当我这样做时,我得到与以前相同的错误,应用程序冻结并崩溃。

有人可以告诉我如何将创建的文件保存到手机上吗?

提前致谢!

编辑 1:这是我按下视频按钮时出现的 logcat 错误。事实证明,当我按下快门按钮拍照时没有错误,将手机中的 13MP 数据转换为数组需要很长时间。

08-04 18:14:13.794 25959-26024/com.example.mayankthakur.myapplication E/Surface: getSlotFromBufferLocked: unknown buffer: 0x7f92bda9a0
08-04 18:16:42.314 25959-25959/com.example.mayankthakur.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                        Process: com.example.mayankthakur.myapplication, PID: 25959
                                                                                        java.lang.RuntimeException: unlock failed
                                                                                            at android.hardware.Camera.unlock(Native Method)
                                                                                            at com.flurgle.camerakit.Camera1.initMediaRecorder(Camera1.java:406)
                                                                                            at com.flurgle.camerakit.Camera1.startVideo(Camera1.java:233)
                                                                                            at com.flurgle.camerakit.CameraView.startRecordingVideo(CameraView.java:322)
                                                                                            at com.example.mayankthakur.myapplication.Activity2.onClick(Activity2.java:180)
                                                                                            at android.view.View.performClick(View.java:5269)
                                                                                            at android.view.View$PerformClick.run(View.java:21548)
                                                                                            at android.os.Handler.handleCallback(Handler.java:815)
                                                                                            at android.os.Handler.dispatchMessage(Handler.java:104)
                                                                                            at android.os.Looper.loop(Looper.java:207)
                                                                                            at android.app.ActivityThread.main(ActivityThread.java:5740)
                                                                                            at java.lang.reflect.Method.invoke(Native Method)
                                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
                                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:766)

我仍然想知道如何保存我拍摄的照片,以及如何保存我将拍摄的视频

4

1 回答 1

0

检查CameraKit的这一部分

ckPermissions

严格懒惰图片

严格的

cameraView.setPermissions(CameraKit.Constants.PERMISSIONS_STRICT);

懒惰的

cameraView.setPermissions(CameraKit.Constants.PERMISSIONS_LAZY);

图片

cameraView.setPermissions(CameraKit.Constants.PERMISSIONS_PICTURE);
于 2017-08-04T13:19:33.717 回答