a
554325746@qq.com
2019-12-25 603cb36a5123e46656b06a5deb8d7ac7ff81307f
app/src/main/java/com/basic/security/widget/Preview.java
@@ -21,8 +21,6 @@
import com.basic.security.utils.RotateUtil;
import com.basic.security.utils.socket.RelaySocketServer;
import com.basic.security.utils.socket.outdoor.OutdoorGuestSocketServer;
import com.basic.security.utils.socket.server.TableRowReceiveSocketServer;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -65,7 +63,7 @@
    }
    public void surfaceCreated(final SurfaceHolder holder) {
//        System.out.println("Preview.surfaceCreated rgb_gray_camera="+rgb_gray_camera);
//        System1.out.println("Preview.surfaceCreated rgb_gray_camera="+rgb_gray_camera);
//        if (1 == 1) {
//            return;
//        }
@@ -101,7 +99,7 @@
                                    byte[] grayBgrData = getMostMatchGrayBgrData();
                                    if (grayBgrData != null) {
                                        try {
                                            System.out.println("Preview.surfaceCreated grayThread");
                                            System1.out.println("Preview.surfaceCreated grayThread");
                                            grayThread.onPreviewFrame(grayBgrData, camera, Constants.GRAY_CAMERA);
                                            grayExecutorService.execute(grayThread);
                                        } catch (Exception e) {
@@ -145,16 +143,17 @@
                mOrientationListener.disable();
            }
        } catch (Exception exception) {
            System.out.println("Preview.surfaceCreated " + exception.getMessage());
            System1.out.println("Preview.surfaceCreated " + exception.getMessage());
            if (mCamera != null) {
                mCamera.release();
                mCamera = null;
            }
            mFinished = true;
        }
    }
    public void updateGrayBgrData(byte[] data) {
//        System.out.println("Preview.updateGrayBgrData " + data);
//        System1.out.println("Preview.updateGrayBgrData " + data);
        grayCameraData = data;
        grayCameraDataLastTimeUpdate = System.currentTimeMillis();
    }
@@ -181,6 +180,9 @@
    }
    public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
        if (mFinished) {
            return;
        }
//        if (1 == 1) {
//            return;
//        }
@@ -212,7 +214,7 @@
            parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
            mCamera.setParameters(parameters);
        } catch (Exception ex) {
//            System.out.println("Preview.surfaceChanged " + ex.getMessage());
//            System1.out.println("Preview.surfaceChanged " + ex.getMessage());
        }
        parameters = mCamera.getParameters();
        Camera.Size previewSize = parameters.getPreviewSize();
@@ -236,7 +238,7 @@
            init1(context, rgb_gray_camera, detectListener);
            return;
        }
//        System.out.println("Preview.init " + rgb_gray_camera);
//        System1.out.println("Preview.init " + rgb_gray_camera);
        if (rgb_gray_camera == Constants.RGB_CAMERA) {
            Preview.rgbPreview = this;
            RelaySocketServer.startSocketServer();
@@ -294,14 +296,14 @@
                    if (Constants.indoorOutdoorInOne) {
//                        RotateUtil.mirror(data, mDraw.mImageWidth, mDraw.mImageHeight);
                    }
//                    System.out.println("SecondDisplayRunnable.run 0 ");
//                    System1.out.println("SecondDisplayRunnable.run 0 ");
//                    int yuvStrides[] = {mDraw.mImageWidth, mDraw.mImageWidth/2, mDraw.mImageWidth/2};
//                    VideoRenderer.I420Frame i420Frame = new VideoRenderer.I420Frame(mDraw.mImageWidth, mDraw.mImageHeight, yuvStrides,
//                            RotateUtil.nv21ToI420(data, mDraw.mImageWidth, mDraw.mImageHeight));
//                    if ( BaseApplication.getApplication().activity.secondaryDisplay != null) {
////                        System.out.println("SecondDisplayRunnable.run 1 " + BaseApplication.getApplication().activity.secondaryDisplay);
////                        System1.out.println("SecondDisplayRunnable.run 1 " + BaseApplication.getApplication().activity.secondaryDisplay);
//                        if(BaseApplication.getApplication().activity.secondaryDisplay.yuvImageRenderer != null) {
////                            System.out.println("SecondDisplayRunnable.run 2 " + BaseApplication.getApplication().activity.secondaryDisplay.yuvImageRenderer);
////                            System1.out.println("SecondDisplayRunnable.run 2 " + BaseApplication.getApplication().activity.secondaryDisplay.yuvImageRenderer);
//                            BaseApplication.getApplication().activity.secondaryDisplay.yuvImageRenderer.setSize(mDraw.mImageWidth, mDraw.mImageHeight);
//                            BaseApplication.getApplication().activity.secondaryDisplay.yuvImageRenderer.renderFrame(i420Frame);
//                        }
@@ -389,7 +391,7 @@
                long begin = System.currentTimeMillis();
//                byte[] dataBGR = new byte[640*480*3];
//                dataBGR = FaceId.instance.yuv420p2rgb24(data, dataBGR,480, 640);
//                System.out.println("MyThread.run " + (System.currentTimeMillis() - begin));
//                System1.out.println("MyThread.run " + (System.currentTimeMillis() - begin));
//                YuvImage im = new YuvImage(data, ImageFormat.NV21, mDraw.mImageWidth,
//                        mDraw.mImageHeight, null);
//                Rect r = new Rect(0, 0, mDraw.mImageWidth, mDraw.mImageHeight);
@@ -434,7 +436,7 @@
//                        bitmap = bitmapHolder.getBitmapAndFree();
//                        jpgBaos.reset();
//                        if (bitmap == null) {
//                            System.out.println("MyThread.run bitmap=" + bitmap);
//                            System1.out.println("MyThread.run bitmap=" + bitmap);
//                            isRunning = false;
//                            return;
//                        }