From 21e08324c323d0c5d1e7cedc36323c554857a239 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期二, 01 八月 2017 17:55:09 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java | 53 +++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 39 insertions(+), 14 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java index 6ed3406..deb6992 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java @@ -1,27 +1,28 @@ package cn.com.basic.face.util; -import android.graphics.Bitmap; -import android.util.Base64; import android.util.Log; import android.view.Surface; +import android.graphics.Bitmap; -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.nio.ByteBuffer; -import java.util.ArrayList; +import java.util.Date; import java.util.List; import cn.com.basic.face.base.BaseApplication; -import cn.com.basic.face.base.MainActivity; +import cn.com.basic.face.discern.common.CommonVariables; import cn.com.basic.face.discern.query.item.SurveillanceQueryItem; -import cn.com.basic.face.fragment.RegisterFragment; import cn.com.basic.face.service.SurveillanceMng; +import cn.com.basic.face.service.sqlite.SurveillanceDao; + +import java.nio.ByteBuffer; + +import java.util.ArrayList; /** * Created by houxiao on 2017/3/21 0021. */ class NativeImgIdx { + public int st_track_id; public int offset; public int size; public int type; @@ -42,7 +43,7 @@ public static native void init(); public static native void setLocalIP(String ipaddr); - public static native void setSurface(int cameraIdx, Surface surface); + public static native void setSurface(int cameraIdx, Surface surfaceRender); public static native boolean createPlayer(int cameraIdx, String uri); public static native void shutdown(int cameraIdx); // typedef void (* Java_com_example_nativecodec_NativeCodec_FaceCallback_func)(int cameraIdx, int count); @@ -56,6 +57,17 @@ public static native void dbgFaceAdd(NativeImg faceImage); public static native String dbgGetLog(); public static native void dbgSetStfaceLicense(String lic); + + //public static native void dbgReadTexture(); + + public static native void setCaptureSurface(Surface surfaceCapture); + public static native void startCapturePlayer(String uri); + public static native void stopCapturePlayer(); + public static native ArrayList<NativeImg> getCaptureImages(); + public static native void teleCall(String phoneNumber); + public static native void teleHang(); + + public static native void setFaceLabel(int cameraIdx, int stTrackId, String label); public static int COMPANY_ID = 1001; @@ -71,11 +83,13 @@ RefByteArray faceListPb = new RefByteArray(); + try { - COMPANY_ID = Integer.parseInt(BaseApplication.getInstance().getDevice().getCompanyId()); + COMPANY_ID = Integer.parseInt(BaseApplication.getInstance().getAndroidDevice().getCompanyId()); } catch (Exception e) { COMPANY_ID = 0; } + int s = getFaceList(cameraIdx, COMPANY_ID, faceListPb); Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceList, cameraIdx=" + cameraIdx + ", size=" + s); @@ -97,6 +111,7 @@ { Log.i("@@@", "cameraIdx=" + cameraIdx + ", i=" + i + + ", st_track_id=" + faceImages.get(i).st_track_id+ ", size=" + faceImages.get(i).size+ ", w=" + faceImages.get(i).width + ", h=" + faceImages.get(i).height + @@ -120,22 +135,32 @@ for (int i = 0; i < faceImages.size(); i++) { NativeImg item = faceImages.get(i); SurveillanceQueryItem surveillanceQueryItem = new SurveillanceQueryItem(); + surveillanceQueryItem.setStTrackId(item.st_track_id); int offset = 0; int size = item.size; - Bitmap bitmap = Bitmap.createBitmap(item.width,item.height, Bitmap.Config.ARGB_8888); + Bitmap bitmap = Bitmap.createBitmap(item.width,item.height, Bitmap.Config.RGB_565); ByteBuffer byteBuffer = ByteBuffer.wrap(item.image, offset, size); + //byteBuffer.rewind(); bitmap.copyPixelsFromBuffer(byteBuffer); // String str = Base64.encodeToString(item.image, offset, size, Base64.DEFAULT); -// System.out.println(str.length()); -// System.out.println(str); // surveillanceQueryItem.setBase64Image(str); surveillanceQueryItem.setNativeImg(item); surveillanceQueryItem.setBitmap(bitmap); surveillanceQueryItem.setWidth(item.width+""); surveillanceQueryItem.setHeight(item.height+""); + surveillanceQueryItem.setCreateTime(new Date()); + surveillanceQueryItem.setInOrOutCamera(cameraIdx+""); + if (!BaseApplication.getInstance().networkAvailable()) { + surveillanceQueryItem.setRegisterOrCheckIn(CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_ITEM_TYPE); + } bitmapList.add(surveillanceQueryItem); } - SurveillanceMng.getInstance().addBitmap(bitmapList, faceListPb.arr, s, cameraIdx+""); + if (BaseApplication.getInstance().networkAvailable()) { + SurveillanceMng.getInstance().addBitmap(bitmapList, faceListPb.arr, s, cameraIdx+"", new byte[]{}); + } else { + SurveillanceMng.getInstance().addOfflineBitmap(bitmapList,faceListPb.arr,cameraIdx+""); +// SurveillanceDao.getInstance().saveOfflineUnknownToLocal(bitmapList, faceListPb.arr, cameraIdx+""); + } }catch(Exception e){ e.printStackTrace(); -- Gitblit v1.8.0