|
TW8智能执法仪项目第三方适配接口说明
一、按键说明
下面表格TW8终端framework层键值对应表:
Kernel key code Framework key code Fun define
KEY_F14 = 184 KEYCODE_T8_VID= 284 短按录像
如果在执法仪界面则执法仪录像
如果在其他界面,则进入执法仪录像
KEY_F17 = 187 KEYCODE_T8_CAM = 285 短按拍照
如果在执法仪界面则执法仪抓拍
如果在其他界面,则进入执法仪抓拍
KEY_F13 = 183 KEYCODE_T8_SOUND = 286 短按录音
KEY_F15 = 185 KEYCODE_T8_PTT = 288 短按对讲
KEY_F16 = 186 KEYCODE_T8_STAR = 289 短按标星
如果正在执法仪录像、录音,则录制过程中对当前录制文件进行标星操作,文件名前追加IMP_
KEY_F18 = 188 KEYCODE_T8_SOS = 287 短按SOS 给第三方发消息
二、LED及闪光灯说明
LED三色灯对应结点如下
RED_LED_DEV = "/sys/class/leds/red/brightness";
GREEN_LED_DEV = "/sys/class/leds/green/brightness";
YELLOW_LED_DEV = "/sys/class/leds/blue/brightness"; //复用蓝灯节点为黄灯
说明:
执法仪摄像头由于带有红外滤光片,因此没有支持闪光灯!
对于红绿黄三色灯的调用,目前我们定义如下,
灯光颜色 场景 方式
红 正在录像(包含延录) 常亮
正在充电 连续闪烁
黄 正在录音 常亮
绿 待机状态 常亮
拍照 闪烁单次
调用Action
1. filter.addAction("tangwei.intent.action.leds.charge.off"); //第三方无需调用
2. filter.addAction("tangwei.intent.action.leds.charge.on"); //第三方无需调用
3. filter.addAction("tangwei.intent.action.leds.video.start"); //开始录像
4. filter.addAction("tangwei.intent.action.leds.video.end"); //录像停止
5. filter.addAction("tangwei.intent.action.leds.voice.start"); //开始录音
6. filter.addAction("tangwei.intent.action.leds.voice.end"); //录音停止
7. filter.addAction("tangwei.intent.action.leds.picture"); //绿灯闪一下
三、IRCUT
监听光线传感器,设置双阈值。
当传感器上报值下降到5则切换到红外滤光
当传感器上报值上升到30则关闭红外滤光
示例代码如下
1. @Override
2. public void onSensorChanged(SensorEvent event) {
3. if (event.sensor.getType() == Sensor.TYPE_LIGHT) {
4. float distance = event.values[0];
5. if (isNativeCamera && camera != null && parameters != null) {
6. try {
7. if(distance<5 && EFFECT==1) {
8. EFFECT = 0;
9. parameters.setColorEffect(Camera.Parameters.EFFECT_MONO);
10. camera.setParameters(parameters);
11. }
12. if(distance>30 && EFFECT==0){
13. EFFECT = 1;
14. parameters.setColorEffect(Camera.Parameters.EFFECT_NONE);
15. camera.setParameters(parameters);
16. }
17. } catch (Exception e) {
18. return;
19. }
20. }
21. }
22. }
说明:
1 EFFECT 代表变化前的滤光片状态
Camera.Parameters.EFFECT_MONO 代表滤光片打开,EFFECT=0
Camera.Parameters.EFFECT_MONE 代表滤光片关闭,EFFECT=1
2 执法仪相机获取
1. try {
2. int cameraCount = Camera.getNumberOfCameras();
3.
4. cameraId = cameraCount-1;//use the last one
5. camera = Camera.open(cameraId);
6.
7. } catch (Exception e) {
8. Log.d(TAG, "open native Camera fail! id:"+cameraId);
9. e.printStackTrace();
10.
11. }
3 需要注意传感器在屏幕休眠的时候取消注册监听,否则影响电流
四、日志模块
第三方请通过广播方式发出日志整体的String
Action:uniscope.intent.action.log.update
Etra:String log_info = 整个日志行的string 包括下表所有字段
intent.putExtra("log_info", log_info);
每一条信息的格式定义如下:
“I 2017-12-14 16:00:00 SYSTEM: POWER_ON BOOT_COMPLETE” 这是开机的例子
概括起来就是下面的统一定义
LEVEL YYYY-MM-DD HH:MM:SS MODE_NAME: EXTRA_STR
关键字段状态信息定义如下:
字段 含义 值定义
YYYY 年 2017- 四位
MM 月 01-12 两位
DD 日 01-31 两位
HH 时 00-23 两位
MM 分 00-59 两位
SS 秒 00-59 两位
MODE_NAME 模块名称 SYSTEM、DC、SRC、EFC、STORAGE
LOG_LEVEL 异常信息 E(暂保留)
警报、告警信息 为W
系统信息 为 I
Debug信息 为D(调试留用)
|
|