刘威 преди 6 месеца
родител
ревизия
4e32e96a39
променени са 2 файла, в които са добавени 6 реда и са изтрити 4 реда
  1. 3 2
      src/core/callcenter/model.py
  2. 3 2
      src/core/voip/bot.py

+ 3 - 2
src/core/callcenter/model.py

@@ -471,14 +471,15 @@ class RouteGateway:
 #机器人外呼
 class BotChatRequest:
     def __init__(self, node_id=None, user_id=None, session_id=None, record_id=None,
-                 task_id=None, event_type=None, asr_text=None, key_input=None):
+                 task_id=None, asr_text=None, key_input=None, ext:Dict={}):
         self.node_id = node_id  # 节点id
         self.user_id = user_id  # 用户id
         self.session_id = session_id  # 会话id
         self.record_id = record_id  # 唯一标识
         self.task_id = task_id  # 机器人任务id
-        self.event_type = event_type  # 1:电话接通,2:用户语音asr结果上传,3:用户按键输入,4:用户挂断电话,5:读取外呼结果(可在外呼过程中调用,不一定在结束之后),6:用户不说话超时,7:TTS或录音文件播放完毕或被打断,8:ASR错误导致挂断电话,9:TTS错误导致挂断电话,10:其它系统错误导致挂断电话
+        # self.event_type = event_type  # 1:电话接通,2:用户语音asr结果上传,3:用户按键输入,4:用户挂断电话,5:读取外呼结果(可在外呼过程中调用,不一定在结束之后),6:用户不说话超时,7:TTS或录音文件播放完毕或被打断,8:ASR错误导致挂断电话,9:TTS错误导致挂断电话,10:其它系统错误导致挂断电话
         self.asr_text = asr_text  # asr识别的文本
+        self.ext = ext
 
     def to_json_string(self):
         return json.dumps(self.__dict__, ensure_ascii=False)

+ 3 - 2
src/core/voip/bot.py

@@ -117,7 +117,7 @@ class MyAudioMediaPlayer(pj.AudioMediaPlayer):
         self.on_complete = on_complete
 
     def onEof2(self):
-        self.stopTransmit(self.sink)
+        # self.stopTransmit(self.sink)
         if self.on_complete:
             self.on_complete(self.player_id)
 
@@ -222,7 +222,8 @@ class MyCall(pj.Call):
         player_id = murmur3_32(player_file)
         self.player_complete_dict[player_id] = False
         self.player = MyAudioMediaPlayer(player_id, self.aud_med, on_complete=self.on_media_player_complete)
-        self.player.createPlayer(player_file)
+        self.player.createPlayer(player_file, options=pj.PJMEDIA_FILE_NO_LOOP)
+        # self.player.createPlaylist(player_file, options=pj.PJMEDIA_FILE_NO_LOOP)
         self.player.startTransmit(self.aud_med)
 
     def on_receiver_asr_result(self, message, *args):