From: TrillGates Date: Sun, 25 Apr 2021 08:18:06 +0000 (+0800) Subject: completed voice upload of anan protocol. X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=50c2b171a56c10751dcc8c04d1d91c27c10f1af0;p=protocol_srv.git completed voice upload of anan protocol. --- diff --git a/app/src/main/java/com/ic/protocols/protocolAPIHelper.java b/app/src/main/java/com/ic/protocols/protocolAPIHelper.java index 5f5f365f..63c1824e 100644 --- a/app/src/main/java/com/ic/protocols/protocolAPIHelper.java +++ b/app/src/main/java/com/ic/protocols/protocolAPIHelper.java @@ -230,6 +230,9 @@ public class protocolAPIHelper { break; case Config.PROTOCOL_MQTT: break; + case PROTOCOL_ANAN: + ret = protocol_anan.APCH(charging); + break; } return ret; } @@ -390,6 +393,9 @@ public class protocolAPIHelper { case Config.PROTOCOL_MQTT: ret = null;//protocol_fzd.AP07(packetTime,count,index,datalen,amrdata); break; + case PROTOCOL_ANAN: + ret = protocol_anan.AP07(packetTime, count, index, datalen, amrdata); + break; } return ret; } diff --git a/app/src/main/java/com/ic/protocols/protocol_anan.java b/app/src/main/java/com/ic/protocols/protocol_anan.java index a96a4382..bef5663b 100644 --- a/app/src/main/java/com/ic/protocols/protocol_anan.java +++ b/app/src/main/java/com/ic/protocols/protocol_anan.java @@ -204,6 +204,50 @@ public class protocol_anan { } + + /** + * 交好友 + * + * @return + */ + public static StringMessage APFD() { + //TODO: + return null; + } + + public static byte[] AP07(String packetTime, int count, int index, int datalen, byte[] amrdata) { +//IWAP07,20140818064408,6,1,1024,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX# +//说明: +//IW:标识符 +//AP07 : 命令字符 +//20140818064408 :yyyyMMddHHmmss 格式的年月日时分秒,设备录音时间 +//6:语音包分包总数 +//1 :当前包数,第一包为1,第二包为2,。。。。。。同一个语音包的语音时间相同 +//1024 :语音包长度 +//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:当前音频数据, 每个音频数据包大小为1024字节,最后一包不足1024的取实际字节数 +//语音包上传规则: +//按包次序依次上传,上传后如果没有收到服务器的响应包,则继续上传该语音包。 +//收到设备回复确认数据包接收成功状态后,继续开始依次上传下一个数据包。。。。。。 +//如果设备回复确认数据包接收失败状态,则重复发送上一个数据包 + + + String sb = new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.AP07)) + .append(CMDSPLIT).append(packetTime) + .append(CMDSPLIT).append(count) + .append(CMDSPLIT).append(index) + .append(CMDSPLIT).append(datalen) + .append(CMDSPLIT).toString(); + + byte[] sentbuf = new byte[sb.length() + datalen + 1]; + System.arraycopy(sb.getBytes(), 0, sentbuf, 0, sb.length()); + System.arraycopy(amrdata, 0, sentbuf, sb.length(), datalen); + sentbuf[sb.length() + datalen] = '#'; + + return sentbuf; + + } + + /*登录*/ public static StringMessage AP00(Runtime runTime) { //示例数据:IWAP00102002020001871,898600A7189443197156,9460077731997156# @@ -216,13 +260,20 @@ public class protocol_anan { .append(CMDEND).toString()); } + public static StringMessage APCH(int charging) { + return genStringMessage(cmdMap.get(CMD_TYPE.APCH), + new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APCH)) + .append(CMDSPLIT).append(charging) + .append(CMDEND).toString()); + } + + //佩戴状态上传,这个监听到广播以后,去上传即可 //1表示佩戴 //0表示未佩戴 - //TODO: public static StringMessage APWA(String state) { return genStringMessage(cmdMap.get(CMD_TYPE.APWA), - new StringBuilder().append(cmdMap.get(CMD_TYPE.APWA)) + new StringBuilder().append(CMDHEADER).append(cmdMap.get(CMD_TYPE.APWA)) .append(CMDSPLIT).append(state).append(CMDEND).toString()); } diff --git a/app/src/main/java/com/ic/protocols/protocol_ic.java b/app/src/main/java/com/ic/protocols/protocol_ic.java index c58f4155..5fbfb747 100644 --- a/app/src/main/java/com/ic/protocols/protocol_ic.java +++ b/app/src/main/java/com/ic/protocols/protocol_ic.java @@ -2398,10 +2398,11 @@ public class protocol_ic { public static StringMessage APDH(String id, String cmd) { - return genStringMessage("APDH", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APDH)) - .append(CMDSPLIT).append(id) - .append(CMDSPLIT).append(cmd) - .append(CMDEND).toString()); + return genStringMessage(cmdMap.get(CMD_TYPE.APDH), + new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APDH)) + .append(CMDSPLIT).append(id) + .append(CMDSPLIT).append(cmd) + .append(CMDEND).toString()); } @@ -2659,9 +2660,10 @@ public class protocol_ic { public static StringMessage APCH(int charging) { - return genStringMessage("APCH", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APCH)) - .append(CMDSPLIT).append(charging) - .append(CMDEND).toString()); + return genStringMessage(cmdMap.get(CMD_TYPE.APCH), + new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APCH)) + .append(CMDSPLIT).append(charging) + .append(CMDEND).toString()); }