|
@@ -75,10 +75,9 @@ class MyAudioMediaPort(pj.AudioMediaPort):
|
|
|
|
|
|
player_queue_size = self.call.player_queue.qsize()
|
|
|
if (player_queue_size > 0 and not self.cur_player_file) or (player_queue_size > 0 and play_complete):
|
|
|
- print('onFrameReceived:player_queu_size=', player_queue_size, 'play_complete=', play_complete)
|
|
|
+ print('onFrameReceived:player_queue_size=', player_queue_size, 'play_complete=', play_complete)
|
|
|
self.cur_player_file = self.get_player_file()
|
|
|
self.call.send_bot_speaker(self.cur_player_file)
|
|
|
-
|
|
|
except:
|
|
|
pass
|
|
|
|
|
@@ -221,6 +220,7 @@ class MyCall(pj.Call):
|
|
|
self.player.startTransmit(self.aud_med)
|
|
|
|
|
|
def on_receiver_asr_result(self, message, *args):
|
|
|
+ print(message)
|
|
|
self.user_asr_text_queue.put(message)
|
|
|
|
|
|
def on_media_player_complete(self, player_id):
|
|
@@ -241,8 +241,7 @@ class MyCall(pj.Call):
|
|
|
|
|
|
class BotAgent:
|
|
|
|
|
|
- def __init__(self, logger, user_part_range=range(1001, 1011), host="172.16.12.24", port="5060", password="slibra@#123456"):
|
|
|
- # def __init__(self, logger, user_part_range=range(1001, 1011), host="pbx.fuxicarbon.com", port="5060", password="slibra@#123456"):
|
|
|
+ def __init__(self, logger, user_part_range=range(1001, 1011), host=SERVE_HOST, port="5060", password="slibra@#123456"):
|
|
|
self.logger = logger
|
|
|
self.user_part_range, self.host, self.port, self.password = user_part_range, host, port, password
|
|
|
self.user_part_pool = queue.Queue(maxsize=len(user_part_range))
|
|
@@ -338,6 +337,10 @@ class BotAgent:
|
|
|
self.release(user_part)
|
|
|
|
|
|
def release(self, user_part):
|
|
|
+ if not user_part:
|
|
|
+ self.logger.info("release, user_part is None")
|
|
|
+ return
|
|
|
+
|
|
|
def element_in_queue(q, element):
|
|
|
with q.mutex: # 确保线程安全
|
|
|
for item in list(q.queue): # 将队列转换为列表进行遍历
|
|
@@ -346,6 +349,7 @@ class BotAgent:
|
|
|
return False
|
|
|
|
|
|
if element_in_queue(self.user_part_pool, user_part):
|
|
|
+ self.logger.info("release, already exists, user_part :%d, pool.size :%d", user_part, self.user_part_pool.qsize())
|
|
|
return
|
|
|
self.user_part_pool.put(user_part)
|
|
|
self.logger.info("release, user_part :%d, pool.size :%d", user_part, self.user_part_pool.qsize())
|