From: p15692025051 <846603105@qq.com> Date: Mon, 18 Aug 2025 03:54:32 +0000 (+0800) Subject: 更新静默录音 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=99ea44874316ca6e5895c1686ff64f4e0413b1b1;p=mirrors%2FASR1603_G5.git 更新静默录音 --- diff --git a/2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/voice_record.py b/2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/voice_record.py index df074b3e..368a49f5 100644 --- a/2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/voice_record.py +++ b/2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/voice_record.py @@ -51,6 +51,7 @@ class VOICE_RECORD(Abstract): #静默录音 self.open_start = 0 #是否需要超时关闭静默录音 self.voice_timer_out = osTimer() self.voice_mode = 0 + self.record_fd = None def post_processor_after_instantiation(self): EventMesh.subscribe("start_voice_record", self.start_voice_record)#开始静默录音 @@ -139,6 +140,10 @@ class VOICE_RECORD(Abstract): #静默录音 #获取录音数据 def Voice_record_thread(self): + EventMesh.publish(constants.EVENT.SYSTEM_UP)#唤醒休眠 + EventMesh.publish("wakeup_BT") + self.record_len_tmp = 0 + self.record_fd_len = 0 while True: try: @@ -148,11 +153,35 @@ class VOICE_RECORD(Abstract): #静默录音 Record_len = self.record.stream_read(Record_read_buf, self.Audio_buf_size) if Record_len > 0: read_buf = bytes(Record_read_buf[:Record_len]) + + # if self.record_fd == None and self.record_fd_len <300*1024: + # try: + # uos.remove('/usr/record_data1.pcm') + # except Exception as e: + # usys.print_exception(e) + # self.record_fd = open('/usr/record_data1.pcm','w') + # self.record_fd_len = 0 + # if self.record_fd != None: + # try: + # if self.record_fd_len <300*1024: + # self.record_fd.write(read_buf) + # print("write record:{}".format(len(read_buf))) + # self.record_fd_len = self.record_fd_len+len(read_buf) + # if self.record_fd_len >=300*1024: + # self.record_fd.close() + # self.record_fd = None + # except Exception as e: + # usys.print_exception(e) + # self.record_len_tmp = self.record_len_tmp+len(read_buf) + # print("write record_len:{} len{}".format(len(read_buf),self.record_len_tmp)) + # #print("前10个字节:{} 后10个字节{}".format(Record_read_buf[0:10],Record_read_buf[len(read_buf)-10:len(read_buf)])) + EventMesh.publish("system_sleep_rest")#防止黑屏 + #EventMesh.publish("wakeup_BT") try: #发送静默录音数据到iot平台 if self.voice_mode == 1: #静默录音开始发送 EventMesh.publish("SEND_JINMOAUDIO_TO_IOT",[read_buf,self.msgid_int,self.start_voice_record_flag]) - + pass elif self.voice_mode == 2: #语音留言开始 EventMesh.publish("SEND_YUYINAUDIO_TO_IOT",[read_buf,self.msgid_int,self.start_voice_record_flag]) @@ -163,9 +192,14 @@ class VOICE_RECORD(Abstract): #静默录音 # print("voice Record_len:{}".format(Record_len)) except Exception as e: usys.print_exception(e) - utime.sleep_ms(100) + if self.record_fd != None: + utime.sleep_ms(1) + else: + utime.sleep_ms(100) self.start_voice_record_flag = 0 print("Voice_record_thread:exit") self.voice_record_thread_id = 0 - + if self.record_fd != None: + self.record_fd.close() + self.record_fd = None