解决语音留言bug问题
authorazao <821478748@qq.com>
Wed, 19 Nov 2025 06:42:16 +0000 (14:42 +0800)
committerazao <821478748@qq.com>
Wed, 19 Nov 2025 06:42:16 +0000 (14:42 +0800)
2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/ai_VC.py
2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/main_init.py
2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/protocol.py

index 6d70edb..bd62d38 100644 (file)
@@ -4319,7 +4319,7 @@ class AI_VC(Abstract):
         EventMesh.publish("publish_AI_btnInfo",{"func":self.voice_judger_cb})  
     def voice_judger_cb(self):
         self.voice_cnt += 1
-        print("语音留言定时器cnt = {}".format(self.voice_cnt))
+        # print("语音留言定时器cnt = {}".format(self.voice_cnt))
         if self.voicerupt_flag == 1:#按键被按下
            self.AI_VC_start()
            self.voice_notice = 1
@@ -4341,7 +4341,7 @@ class AI_VC(Abstract):
         EventMesh.publish("publish_AI_btnInfo",{"func":self.revoice_judger_cb})  
     def revoice_judger_cb(self):
         self.revoice_cnt += 1
-        print("语音留言回复定时器cnt = {}".format(self.revoice_cnt))
+        # print("语音留言回复定时器cnt = {}".format(self.revoice_cnt))
         if self.revoice_cnt > 20:#10S后退出播放,10S是为了给语音提示留时间
            self.revoice_cnt = 0
            self.voice_flag=0
index 65e8505..89454cc 100644 (file)
@@ -253,6 +253,7 @@ def main_init():
             pcr.add_support(pro.IOTWeb_Nlp_ConfigProtoCol())
             pcr.add_support(pro.IOTWeb_play_trans_TTSProtoCol())#播放下发翻译音频
             pcr.add_support(pro.IOTWeb_come_transProtoCol())#接收小程序控制进入翻译
+            pcr.add_support(pro.IOTWeb_exit_transProtoCol())#接收小程序控制退出翻译
             pcr.add_support(pro.IOTWeb_appcontrol_meetProtoCol())#接收小程序控制进入会议
             sm = pro.SockMangager()
 
index 599d901..a0c282c 100644 (file)
@@ -2735,7 +2735,36 @@ class IOTWeb_come_transProtoCol(ProtoCol):
         @param msg: 接收到的下行数据
         """
         EventMesh.publish("come_trans_mode")#进入AI翻译
-        print("recv tts_audio_url{}".format(msg))
+        print("recv translate_app_enter{}".format(msg))
+
+#接收小程序控制退出翻译
+class IOTWeb_exit_transProtoCol(ProtoCol):
+    """translate_app_exit"""
+    TYPE = "translate_app_exit"
+
+    def send(self, event, msg):
+        # print("translate_app_enter{}".format(msg))
+        # 通过websocket发送到服务器端
+        date_tmp = utime.localtime()
+        time_tmp = utime.mktime(date_tmp)
+        come_trans = {
+            "msg": "退出翻译",
+            "data": None,
+            "cmd": "translate_device_exit",
+            "ts": time_tmp
+        }
+        send_data = b''
+        send_data = protocol_send_total_data(come_trans)
+        print("send_data translate_app_enter{}".format(send_data))
+        EventMesh.publish("CHANNEL_IOT_WEB_SEND", send_data)
+
+    def recv(self, event, msg):
+        """
+        @param event:上行下发translate_app_enter
+        @param msg: 接收到的下行数据
+        """
+        EventMesh.publish("exit_trans_mode")#退出AI翻译
+        print("recv translate_app_exit{}".format(msg))
 
 #接收小程序控制进入会议
 class IOTWeb_appcontrol_meetProtoCol(ProtoCol):
@@ -3605,19 +3634,15 @@ class IOTWeb_new_voice_msg_listProtoCol(ProtoCol):
         @param event:new_voice_msg_list
         @param msg: 接收到的下行数据
         """
-        new_voice = ""
+        new_voice_list = []
         if "data" in msg:
             data = msg["data"]
-            print("data = {},data_type = {}".format(data,type(data)))
             for da in data:
-                new_voice = da
-                print("new_voice = {},new_voice_type = {}".format(new_voice,type(new_voice)))
-        if len(new_voice) > 0:
+                new_voice_list.append(da)
+        if len(new_voice_list) > 0:
             pass
-
-        EventMesh.publish("set_play_new_voice_list",new_voice)
+        EventMesh.publish("set_play_new_voice_list",new_voice_list)
         EventMesh.publish("play_new_voice_list")
-
         EventMesh.publish(WEB_CMD_ENUM.NEW_VOICE_MSG_LIST_S)
         print("recv new_voice_msg_list{}".format(msg))
 class IOTWeb_put_voice_msg_stateProtoCol(ProtoCol):