From: dxy15521469561 <1731678236@qq.com> Date: Thu, 21 Sep 2023 10:01:10 +0000 (+0800) Subject: D10: X-Git-Url: http://git.snicker.com.cn/img/static/gitweb.css?a=commitdiff_plain;h=4df53f30867237187eeedf4fe375356e07123222;p=mirrors%2FASR1603_G5.git D10: 修改播放音频用线程 --- diff --git a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/btn_device_ec800m.py b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/btn_device_ec800m.py index 4c27be38..cfdced7b 100644 --- a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/btn_device_ec800m.py +++ b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/btn_device_ec800m.py @@ -75,6 +75,11 @@ class intervManager(Abstract): _thread.start_new_thread(self.interInfo_queue_thread, ()) EventMesh.subscribe("publish_message_event_interInfo",self.publish_message_event_interInfo) + + self.audio_event_queue = Queue() + _thread.start_new_thread(self.audio_event_queue_thread, ()) + EventMesh.subscribe("publish_message_event_audio",self.publish_message_event_audio) + self.record_test = audio.Record() self.record_test.gain(4,12) @@ -181,7 +186,26 @@ class intervManager(Abstract): str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_WECHAT_RECV")) EventMesh.publish("play_audio_file",[str_data,1])#获取播放音频文件 - def play_audio_file(self,event,str_data):#msg 拼接的路径文件 + + + def audio_event_queue_thread(self): + while True: + data = self.audio_event_queue.get() + #print("interInfo_queue_thread:data = {}".format(data)) + if data != None: + try: + data["func"](data["data"]) + except Exception as e: + print("interInfo_queue_thread:ERROR:{}".format(e)) + usys.print_exception(e) + def publish_message_event_audio(self,event,msg): + self.audio_event_queue.put(msg) + + def play_audio_file(self, *args, **kwargs):#拨打电话 + # print("args",args) + EventMesh.publish("publish_message_event_audio",{"func":self.play_audio_file_do,"data":args[1]}) + + def play_audio_file_do(self,data):#msg 拼接的路径文件 open_power = EventMesh.publish("get_power_on_state")#获取开机标识 power_off = EventMesh.publish("get_power_off_state")#获取开机标识 if open_power != None: @@ -190,8 +214,8 @@ class intervManager(Abstract): if power_off != None: if power_off == 1: return - print("play_audio_file",str_data[0],str_data[1])#路径 str_data[1] 是否需要被打断 - self.aud.montage_play('U:/static/audio.bin',1,str_data[1],str_data[0]) + print("play_audio_file",data[0],data[1])#路径 str_data[1] 是否需要被打断 + self.aud.montage_play('U:/static/audio.bin',1,data[1],data[0]) @@ -206,6 +230,7 @@ class intervManager(Abstract): except Exception as e: print("interInfo_queue_thread:ERROR:{}".format(e)) usys.print_exception(e) + def publish_message_event_interInfo(self,event,msg): self.interInfo_queue.put(msg)