yzx 1 dzień temu
rodzic
commit
7030e5db63

+ 7 - 2
src/main/java/com/telerobot/fs/ivr/IvrSession.java

@@ -257,8 +257,13 @@ public class IvrSession {
                 waitForTtsChannelOpen();
 
                 if(streamTtsChannelOpened) {
-                    logger.info("{} stream tts channel has been opened, send close tts command. ", getTraceId());
-                    EslConnectionUtil.sendExecuteCommand(ttsProvider + "_resume", "<StopSynthesis/>", sessionId);
+                    if (TtsProvider.TX_TTS1.equalsIgnoreCase(ttsProvider)) {
+                        logger.info("{} stream tts channel has been opened, send close tts command. ", getTraceId());
+                        EslConnectionUtil.sendExecuteCommand(ttsProvider + "_resume", "<StopSynthesis/>", sessionId);
+                    } else {
+                        logger.info("{} stream tts channel has been opened, skip stop mark for provider={}, rely on natural stream completion.",
+                                getTraceId(), ttsProvider);
+                    }
                 }else{
                     logger.warn("{} stream tts channel has not opened yet. ", getTraceId());
                 }

+ 4 - 2
src/main/java/com/telerobot/fs/robot/AbstractChatRobot.java

@@ -286,8 +286,10 @@ public abstract class AbstractChatRobot implements IChatRobot {
      */
     @Override
     public  void closeTts(){
-        if (TtsProvider.XFYUN.equalsIgnoreCase(ttsProvider)) {
-            logger.info("{} skip closeTts stop mark for xfyun, rely on natural stream completion.", uuid);
+        if (TtsProvider.XFYUN.equalsIgnoreCase(ttsProvider)
+                || TtsProvider.VIITOR.equalsIgnoreCase(ttsProvider)) {
+            logger.info("{} skip closeTts stop mark for provider={}, rely on natural stream completion.",
+                    uuid, ttsProvider);
             return;
         }
         String cmd = "<StopSynthesis/>";