2023.02.09
1、降低音量识别阈值; 2、修改ngrok是否开启判断逻辑; 3、修改js uuid 生成方式; 4、优化android demo:破音问题、服务运行状态判断问题。
This commit is contained in:
parent
9067b05ef1
commit
cfd4a3fbbd
@ -273,6 +273,6 @@ python main.py
|
||||
|
||||
技术交流群
|
||||
|
||||
<img src="images/-1101731868-3469777.png" alt="微信群">
|
||||
<img src="images/20230209125339.jpg" alt="微信群">
|
||||
|
||||
|
||||
|
@ -99,8 +99,7 @@ public class FayConnectorService extends Service {
|
||||
int state = intent.getIntExtra(AudioManager.EXTRA_SCO_AUDIO_STATE, -1);
|
||||
if (AudioManager.SCO_AUDIO_STATE_CONNECTED == state) {
|
||||
Log.d("fay", "蓝牙sco连接成功");
|
||||
mAudioManager.setBluetoothScoOn(true);
|
||||
mAudioManager.setMode(mAudioManager.MODE_IN_CALL);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@ -133,6 +132,7 @@ public class FayConnectorService extends Service {
|
||||
Log.d("fay", "fay控制器连接成功");
|
||||
} catch (IOException e) {
|
||||
Log.d("fay", "socket连接失败");
|
||||
running = false;
|
||||
return;
|
||||
}
|
||||
byte[] data = new byte[1024];
|
||||
@ -168,7 +168,9 @@ public class FayConnectorService extends Service {
|
||||
socket.close();
|
||||
} catch (Exception e) {
|
||||
}
|
||||
Log.d("fay", "结束");
|
||||
socket = null;
|
||||
Log.d("fay", "send线程结束");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -191,9 +193,11 @@ public class FayConnectorService extends Service {
|
||||
Log.d("fay", "开始接收音频文件");
|
||||
String filedata = "";
|
||||
data = new byte[1024];
|
||||
while (data != null && data.length > 0) {
|
||||
in.read(data);
|
||||
filedata += MainActivity.bytesToHexString(data);
|
||||
int len = 0;
|
||||
while ((len = in.read(data)) != -1) {
|
||||
byte[] temp = new byte[len];
|
||||
System.arraycopy(data, 0, temp, 0, len);
|
||||
filedata += MainActivity.bytesToHexString(temp);
|
||||
int index = filedata.indexOf("080706050403020100");
|
||||
if (filedata.length() > 9 && index > 0) {//wav文件结束标记
|
||||
filedata = filedata.substring(0, index).replaceAll("F0F1F2F3F4F5F6F7F8", "");
|
||||
@ -234,6 +238,7 @@ public class FayConnectorService extends Service {
|
||||
mp.release();
|
||||
mAudioManager.startBluetoothSco();
|
||||
mAudioManager.setMode(mAudioManager.MODE_IN_CALL);
|
||||
mAudioManager.setBluetoothScoOn(true);
|
||||
|
||||
|
||||
}
|
||||
@ -268,6 +273,7 @@ public class FayConnectorService extends Service {
|
||||
} catch (Exception e) {//通过异常判断socket已经关闭,退出循环
|
||||
|
||||
} finally {
|
||||
Log.d("fay", "rece线程结束");
|
||||
|
||||
}
|
||||
}
|
||||
@ -292,7 +298,7 @@ public class FayConnectorService extends Service {
|
||||
}catch (Exception e){
|
||||
Log.e("fay", e.toString());
|
||||
}finally {
|
||||
FayConnectorService.this.stopForeground(true);
|
||||
FayConnectorService.this.stopSelf();
|
||||
}
|
||||
}
|
||||
}).start();
|
||||
|
@ -32,7 +32,7 @@ class Recorder:
|
||||
self.__processing = False
|
||||
self.__history_level = []
|
||||
self.__history_data = []
|
||||
self.__dynamic_threshold = 0.5 # 声音识别的音量阈值
|
||||
self.__dynamic_threshold = 0.35 # 声音识别的音量阈值
|
||||
|
||||
self.__MAX_LEVEL = 25000
|
||||
self.__MAX_BLOCK = 100
|
||||
@ -147,7 +147,6 @@ class Recorder:
|
||||
|
||||
|
||||
|
||||
print("接收完成:{}".format(self.total))
|
||||
|
||||
|
||||
def set_processing(self, processing):
|
||||
|
@ -94,15 +94,15 @@ class DeviceInputListener(Recorder):
|
||||
super().__init__(fei)
|
||||
self.__running = True
|
||||
self.ngrok = None
|
||||
self.streamCache = None
|
||||
self.thread = MyThread(target=self.run)
|
||||
self.thread.start() #启动远程音频输入设备监听线程
|
||||
|
||||
def run(self):
|
||||
#启动ngork
|
||||
if config_util.key_ngrok_cc_id is not None and config_util.key_ngrok_cc_id != "":
|
||||
MyThread(target=self.start_ngrok, args=[config_util.key_ngrok_cc_id]).start()
|
||||
|
||||
self.streamCache = stream_util.StreamCache(1024*1024*20)
|
||||
if config_util.key_ngrok_cc_id and config_util.key_ngrok_cc_id is not None and config_util.key_ngrok_cc_id.strip() != "":
|
||||
MyThread(target=self.start_ngrok, args=[config_util.key_ngrok_cc_id]).start()
|
||||
addr = None
|
||||
while self.__running:
|
||||
try:
|
||||
@ -125,15 +125,18 @@ class DeviceInputListener(Recorder):
|
||||
feiFei.on_interact(interact)
|
||||
time.sleep(2)
|
||||
|
||||
#recorder会等待stream不为空才开始录音
|
||||
def get_stream(self):
|
||||
while feiFei.deviceConnect is None:
|
||||
while self.streamCache is None:
|
||||
time.sleep(1)
|
||||
pass
|
||||
return self.streamCache
|
||||
|
||||
def stop(self):
|
||||
super().stop()
|
||||
self.__running = False
|
||||
self.ngrok.stop()
|
||||
if config_util.key_ngrok_cc_id and config_util.key_ngrok_cc_id is not None and config_util.key_ngrok_cc_id.strip() != "":
|
||||
self.ngrok.stop()
|
||||
|
||||
def start_ngrok(self, clientId):
|
||||
self.ngrok = ngrok_util.NgrokCilent(clientId)
|
||||
|
@ -386,16 +386,7 @@ new Vue({
|
||||
return this.isEmptyItem(this.items_data[this.items_data.length - 1])
|
||||
},
|
||||
uuid() {
|
||||
let s = []
|
||||
let hexDigits = '0123456789abcdef'
|
||||
for (let i = 0; i < 36; i++) {
|
||||
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)
|
||||
}
|
||||
s[14] = '4' // bits 12-15 of the time_hi_and_version field to 0010
|
||||
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1) // bits 6-7 of the clock_seq_hi_and_reserved to 01
|
||||
s[8] = s[13] = s[18] = s[23] = '-'
|
||||
|
||||
let uuid = s.join('')
|
||||
let uuid = Math.random().toString(36);
|
||||
return uuid
|
||||
},
|
||||
runnnable() {
|
||||
|
BIN
images/20230209125339.jpg
Normal file
BIN
images/20230209125339.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 284 KiB |
Loading…
Reference in New Issue
Block a user