From d58ec39fa1d7bc3fe24afde8b53921d5eaed8ee0 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 13 四月 2017 13:53:09 +0800
Subject: [PATCH]
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java | 128 +++++++++++++++++++++++++++++++++++-------
1 files changed, 105 insertions(+), 23 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 0746e56..ddb98d0 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,33 +1,115 @@
package cn.com.basic.face.util;
+import android.util.Base64;
import android.view.Surface;
-/**
- * Created by xiuxi on 2017/3/21.
- */
+import org.xutils.http.RequestParams;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.util.ArrayList;
+
+import cn.com.basic.face.base.BaseApplication;
+import cn.com.basic.face.service.RegisterMng;
public class RtspFaceNative {
-// public static native void init();
-// 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);
-// // typedef void (* Java_com_example_nativecodec_NativeCodec_FaceCallback_func)(int cameraIdx, int count);
-// public static native boolean setFaceCallback(int cameraIdx, String func);
-// public static native void lockFace(int cameraIdx);
-// public static native void releaseFace(int cameraIdx);
-// public static native boolean getFaceList(int cameraIdx, byte[] faceListPb);
-// public static native boolean getFaceImages(int cameraIdx, byte[] faceImagesIdx, byte[] faceImages);
-
- 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){};
+ public static native void init();
+ 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);
// 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;};//鍥剧墖
+ public static native boolean setFaceCallback(int cameraIdx, String className, String funcName);
+ public static native void lockFace(int cameraIdx);
+ public static native void releaseFace(int cameraIdx);
+ public static native int getFaceList(int cameraIdx, byte[] faceListPb);
+ public static native ArrayList<NativeImgIdx> getFaceImages(int cameraIdx, byte[] faceImages);
+
+ public static void faceCallBack(int cameraIdx, int count)
+ {
+
+ lockFace(cameraIdx);
+
+ byte[] faceListPb = new byte[1024 * 1024 * 1];
+ int s = getFaceList(cameraIdx, faceListPb);
+
+ byte[] faceImages = new byte[1024 * 1024 * 1];
+ ArrayList<NativeImgIdx> faceImagesIdx = getFaceImages(cameraIdx, faceImages);
+ int c = 0;
+ if (faceImagesIdx != null)
+ c = faceImagesIdx.size();
+
+ for (int i = 0; i < c; i++) {
+ System.out.println(i);
+// faceImagesIdx.get(i).offset, faceImagesIdx.get(i).size;
+ 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, faceImagesIdx.get(i).offset, faceImagesIdx.get(i).size);
+ f.close();
+
+
+ RequestParams params = new RequestParams();
+// String encodedImage = Base64.encodeToString(faceImages, Base64.DEFAULT);
+ params.addBodyParameter("choosePhoto", f1);
+ RegisterMng.getInstance().add(params);
+ } 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;};//鍥剧墖
}
--
Gitblit v1.8.0