VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
@@ -350,4 +350,8 @@ fragment_register_choose_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE + item.getImagePath())); } public ImageView get_fragment_register_choose_photo() { return fragment_register_choose_photo; } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
@@ -1,5 +1,6 @@ package cn.com.basic.face.fragment; import android.graphics.Bitmap; import android.os.Bundle; import android.view.Surface; import android.view.SurfaceView; @@ -49,6 +50,7 @@ System.loadLibrary("protoc"); System.loadLibrary("rtspface"); RtspFaceNative.init(); RtspFaceNative.setLocalIP("192.168.1.10"); } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
@@ -1,12 +1,17 @@ package cn.com.basic.face.service; import android.graphics.Bitmap; import android.util.Base64; import org.xutils.http.RequestParams; import org.xutils.x; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; import cn.com.basic.face.discern.common.BaseCommonCallBack; import cn.com.basic.face.discern.common.CommonVariables; import cn.com.basic.face.discern.query.item.SurveillanceQueryItem; import cn.com.basic.face.fragment.SurveillanceFragment; import cn.com.basic.face.util.AppApi; @@ -21,9 +26,9 @@ } public void findSurveillanceBottomList(final boolean isVisit) { RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.SURVEILLANCE_QUERY); // params.addBodyParameter(VisitorQueryCondition.FieldNames.notCompanyId, BaseApplication.getInstance().getDevice().getCompanyId()); params.addBodyParameter(CommonVariables.Page.PAGE_NUM, "1"); params.addBodyParameter(CommonVariables.Page.PAGE_SIZE, "10"); x.http().post(params, new BaseCommonCallBack() { public void success() { List<SurveillanceQueryItem> list = getList(SurveillanceQueryItem.class); @@ -47,13 +52,46 @@ } } }); } public List getRegisterList() { return new ArrayList(); } public List getCheckInList() { return new ArrayList(); } public void getList() { List registerList = new ArrayList(); List checkInList = new ArrayList(); List blendInList = blendIn(registerList, checkInList); SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visit_list_view().show(null, true); } public List blendIn(List registerList, List checkInList) { return null; } public void addBitmap(final List<Bitmap> bitmapList, byte[] byteArray, int len) { RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.SURVEILLANCE_QUERY); params.addBodyParameter("base64Photo", Base64.encodeToString(byteArray, 0, len, Base64.DEFAULT)); x.http().post(params, new BaseCommonCallBack() { public void success() { String result = ""; List list = new ArrayList(); if (result.equals("visit")) { list.add(0, ""); } else if (result.equals("register")) { list.add(0, ""); } } }); } private void fillBlank(List<SurveillanceQueryItem> list, List<SurveillanceQueryItem> doubleList) { List<SurveillanceQueryItem> registerList = new ArrayList<SurveillanceQueryItem>(); List<SurveillanceQueryItem> checkInList = new ArrayList<SurveillanceQueryItem>(); for (SurveillanceQueryItem item : list) { if (item.getType() == Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE) { registerList.add(item); VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
@@ -1,12 +1,18 @@ package cn.com.basic.face.util; import android.graphics.Bitmap; import android.util.Log; import android.view.Surface; import java.util.ArrayList; /** * Created by houxiao on 2017/3/21 0021. */ import java.io.ByteArrayInputStream; import java.io.InputStream; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.fragment.RegisterFragment; import cn.com.basic.face.service.SurveillanceMng; class NativeImgIdx { public int offset; @@ -26,6 +32,7 @@ //cn.com.basic.face.util.RtspFaceNative public static native void init(); public static native void setLocalIP(String ipaddr); public static native void setSurface(int cameraIdx, Surface surface); public static native boolean createPlayer(int cameraIdx, String uri); public static native void shutdown(int cameraIdx); @@ -57,54 +64,24 @@ c = faceImagesIdx.size(); Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceImages, cameraIdx=" + cameraIdx + ", count=" + c); try{ List<Bitmap> bitmapList = new ArrayList(); for (int i = 0; i < faceImagesIdx.size(); i++) { NativeImgIdx item = faceImagesIdx.get(i); int offset = item.offset; int size = item.size; Bitmap bitmap = Bitmap.createBitmap(item.width,item.height, Bitmap.Config.RGB_565); ByteBuffer byteBuffer = ByteBuffer.wrap(faceImages.arr, offset, size); bitmap.copyPixelsFromBuffer(byteBuffer); bitmapList.add(bitmap); } SurveillanceMng.getInstance().addBitmap(bitmapList, faceListPb.arr, s); }catch(Exception e){ e.printStackTrace(); } releaseFace(cameraIdx); } } // static int i = 1; // public static void faceCallBack(int cameraIdx, int count) // { // lockFace(cameraIdx); // // byte[] faceListPb = new byte[1024 * 1024 * 1]; // int s = getFaceList(cameraIdx, faceListPb); // // //;byte(faceListPb,s) // // // int[] faceImagesIdx = new int[10]; // byte[] faceImages = new byte[1024 * 1024 * 1]; // int c = getFaceImages(cameraIdx, faceImagesIdx, faceImages); // // try { // File path = BaseApplication.getInstance().getFilesDir(); // File f1 = new File(path, ""+i); // if (!f1.exists()) { // f1.createNewFile(); // } // FileOutputStream f = new FileOutputStream(f1); // f.write(faceImages); // f.close(); // RequestParams params = new RequestParams(); // String encodedImage = Base64.encodeToString(faceImages, Base64.DEFAULT); // params.addBodyParameter("choosePhoto", encodedImage); // RegisterMng.getInstance().add(params); // } catch (Exception e) { // e.printStackTrace(); // } // // releaseFace(cameraIdx); // } // public static void init() {}; // public static void setSurface(int cameraIdx, Surface surface){}; // public static boolean createPlayer(int cameraIdx, String uri){return true;}; // public static void shutdown(int cameraIdx){}; // // typedef void (* Java_com_example_nativecodec_NativeCodec_FaceCallback_func)(int cameraIdx, int count); // public static boolean setFaceCallback(int cameraIdx, String func){return true;}; // public static void lockFace(int cameraIdx){}; // public static void releaseFace(int cameraIdx){}; // public static boolean getFaceList(int cameraIdx, byte[] faceListPb){return true;};//二进制 // public static boolean getFaceImages(int cameraIdx, byte[] faceImagesIdx, byte[] faceImages){return true;};//图片