From db2c035c3406d310af30094ec2bbf55ab396bf83 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期二, 01 八月 2017 18:25:46 +0800
Subject: [PATCH]
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/thread/StartCameraThread.java | 44 ++++++++++++++++++++++
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java | 8 ++++
VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml | 1
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java | 36 +++++++-----------
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java | 8 ++++
5 files changed, 74 insertions(+), 23 deletions(-)
diff --git a/VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml b/VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml
index 11fab83..ddc924b 100644
--- a/VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml
+++ b/VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml
@@ -21,7 +21,6 @@
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
-
<application
android:name="cn.com.basic.face.base.BaseApplication"
android:allowBackup="true"
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java
index e370a78..d2eb97a 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java
@@ -112,6 +112,14 @@
private DeviceQueryItem camera1;
private DeviceQueryItem camera2;
+ public DeviceQueryItem getCamera2() {
+ return camera2;
+ }
+
+ public DeviceQueryItem getCamera1() {
+ return camera1;
+ }
+
public void clearAll() {
fragment_device_left_wifi_check_box.setChecked(false);
fragment_device_left_lan_check_box.setChecked(false);
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
index 8f85a83..d4910ea 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
@@ -22,6 +22,7 @@
import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.discern.common.CommonVariables;
import cn.com.basic.face.service.DeviceMng;
+import cn.com.basic.face.thread.StartCameraThread;
import cn.com.basic.face.util.RtspFaceNative;
import cn.com.basic.face.service.SurveillanceMng;
@@ -67,6 +68,8 @@
@ViewInject(R.id.fragment_surveillance_bottom_linear_layout)
private LinearLayout fragment_surveillance_bottom_linear_layout;
+ StartCameraThread startEnterCameraThread = null;
+ StartCameraThread startExitCameraThread = null;
static boolean useNative = false;
@@ -181,8 +184,6 @@
if (CommonVariables.FACE_SERVER) {
fragment_supervisory_enter_camera_relative_layout.addView(MainActivity.getInstance().mPreview);
fragment_supervisory_enter_camera_relative_layout.addView(MainActivity.getInstance().mDraw);
- //fragment_supervisory_exit_camera_relative_layout.setVisibility(View.GONE);
- //fragment_surveillance_bottom_linear_layout.setVisibility(View.GONE);
}
fragment_supervisory_enter_camera.getHolder().addCallback(new SurfaceHolder.Callback() {
public void surfaceCreated(SurfaceHolder holder) {
@@ -190,37 +191,28 @@
new SurveillancePhotoEmulateThread().start();
}
if (useNative) {
- RtspFaceNative.setSurface(Integer.parseInt(CommonVariables.Camera.IN), fragment_supervisory_enter_camera.getHolder().getSurface());
- RtspFaceNative.createPlayer(Integer.parseInt(CommonVariables.Camera.IN), DeviceMng.getInstance().getCamera1Address());
- RtspFaceNative.setFaceCallback(Integer.parseInt(CommonVariables.Camera.IN), "cn/com/basic/face/util/RtspFaceNative", "faceCallBack");
+ synchronized (MainActivity.getInstance()) {
+ startEnterCameraThread = new StartCameraThread(Integer.parseInt(CommonVariables.Camera.IN), fragment_supervisory_enter_camera.getHolder().getSurface());
+ startEnterCameraThread.start();
+ }
}
}
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
- public void surfaceDestroyed(SurfaceHolder holder) {
- System.out.println("surfaceDestroyed");
- }
+ public void surfaceDestroyed(SurfaceHolder holder) { }
});
fragment_supervisory_exit_camera.getHolder().addCallback(new SurfaceHolder.Callback() {
public void surfaceCreated(SurfaceHolder holder) {
if (useNative) {
- RtspFaceNative.setSurface(Integer.parseInt(CommonVariables.Camera.OUT), fragment_supervisory_exit_camera.getHolder().getSurface());
- RtspFaceNative.createPlayer(Integer.parseInt(CommonVariables.Camera.OUT), DeviceMng.getInstance().getCamera2Address());
- RtspFaceNative.setFaceCallback(Integer.parseInt(CommonVariables.Camera.OUT), "cn/com/basic/face/util/RtspFaceNative", "faceCallBack");
+ synchronized (MainActivity.getInstance()) {
+ startEnterCameraThread = new StartCameraThread(Integer.parseInt(CommonVariables.Camera.OUT), fragment_supervisory_exit_camera.getHolder().getSurface());
+ startEnterCameraThread.start();
+ }
}
}
- public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
- System.out.print("width="+width+",height="+height);
-// if (useNative) {
-// RtspFaceNative.setSurface(Integer.parseInt(CommonVariables.Camera.IN), fragment_supervisory_enter_camera.getHolder().getSurface());
-// RtspFaceNative.createPlayer(Integer.parseInt(CommonVariables.Camera.IN), DeviceMng.getInstance().getCamera1Address());
-// RtspFaceNative.setFaceCallback(Integer.parseInt(CommonVariables.Camera.IN), "cn/com/basic/face/util/RtspFaceNative", "faceCallBack");
-// }
- }
- public void surfaceDestroyed(SurfaceHolder holder) {
- System.out.println("surfaceDestroyed");
- }
+ public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { }
+ public void surfaceDestroyed(SurfaceHolder holder) { }
});
new SurveillanceMng.SurveillanceListThread().start();
}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
index 297acfa..ce58361 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
@@ -233,6 +233,10 @@
String password = "admin12345";
String ip = "192.168.1.70";
String port = "554";
+ DeviceQueryItem camera2 = DeviceFragment.getInstance().getCamera2();
+ if (camera2 != null) {
+ return "rtsp://admin:admin12345@"+camera2.getIp()+":554/h264/ch1/main/av_stream";
+ }
return "rtsp://admin:admin12345@192.168.1.202:554/h264/ch1/main/av_stream";
}
@@ -241,6 +245,10 @@
String password = "a1234567";
String ip = "192.168.1.68";
String port = "554";
+ DeviceQueryItem camera1 = DeviceFragment.getInstance().getCamera1();
+ if (camera1 != null) {
+ return "rtsp://admin:admin12345@"+camera1.getIp()+":554/h264/ch1/main/av_stream";
+ }
return "rtsp://admin:a1234567@192.168.1.201:554/h264/ch1/main/av_stream";
}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/thread/StartCameraThread.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/thread/StartCameraThread.java
new file mode 100644
index 0000000..abcf158
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/thread/StartCameraThread.java
@@ -0,0 +1,44 @@
+package cn.com.basic.face.thread;
+
+import android.view.Surface;
+
+import cn.com.basic.face.discern.common.CommonVariables;
+import cn.com.basic.face.discern.query.item.DeviceQueryItem;
+import cn.com.basic.face.fragment.DeviceFragment;
+import cn.com.basic.face.service.DeviceMng;
+import cn.com.basic.face.util.RtspFaceNative;
+
+public class StartCameraThread extends Thread {
+
+ private int inOrOutCamera;
+ private Surface surface;
+
+ public StartCameraThread(int inOrOutCamera, Surface surface) {
+ this.inOrOutCamera = inOrOutCamera;
+ this.surface = surface;
+ }
+
+ @Override
+ public void run() {
+ while (true) {
+ try {
+ DeviceQueryItem camera1 = DeviceFragment.getInstance().getCamera1();
+ DeviceQueryItem camera2 = DeviceFragment.getInstance().getCamera2();
+ if(camera1 != null && camera2 != null) {
+ RtspFaceNative.setSurface(inOrOutCamera, surface);
+ if(inOrOutCamera == Integer.parseInt(CommonVariables.Camera.IN)) {
+ RtspFaceNative.createPlayer(inOrOutCamera, DeviceMng.getInstance().getCamera1Address());
+ } else {
+ RtspFaceNative.createPlayer(inOrOutCamera, DeviceMng.getInstance().getCamera2Address());
+ }
+ RtspFaceNative.setFaceCallback(inOrOutCamera, "cn/com/basic/face/util/RtspFaceNative", "faceCallBack");
+ break;
+ }
+ Thread.sleep(10*1000);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+}
--
Gitblit v1.8.0