From ddde971fd9a6a350d120ec2ffca2a6de1a810ef6 Mon Sep 17 00:00:00 2001
From: zhaomingwork <zhaomingwork@qq.com>
Date: 星期五, 12 五月 2023 16:55:42 +0800
Subject: [PATCH] change for cpp client

---
 funasr/runtime/websocket/websocketclient.cpp |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/funasr/runtime/websocket/websocketclient.cpp b/funasr/runtime/websocket/websocketclient.cpp
index 3ab4e99..078fc5a 100644
--- a/funasr/runtime/websocket/websocketclient.cpp
+++ b/funasr/runtime/websocket/websocketclient.cpp
@@ -13,6 +13,7 @@
 #include <websocketpp/config/asio_no_tls_client.hpp>
 
 #include "audio.h"
+#include "nlohmann/json.hpp"
 
 /**
  * Define a semi-cross platform helper method that waits/sleeps for a bit.
@@ -156,6 +157,19 @@
       }
     }
     websocketpp::lib::error_code ec;
+
+    nlohmann::json jsonbegin;
+    nlohmann::json chunk_size = nlohmann::json::array();
+    chunk_size.push_back(5);
+    chunk_size.push_back(0);
+    chunk_size.push_back(5);
+    jsonbegin["chunk_size"] = chunk_size;
+    jsonbegin["chunk_interval"] = 10;
+    jsonbegin["wav_name"] = "damo";
+    jsonbegin["is_speaking"] = true;
+    m_client.send(m_hdl, jsonbegin.dump(), websocketpp::frame::opcode::text,
+                  ec);
+
     // fetch wav data use asr engine api
     while (audio.Fetch(buff, len, flag) > 0) {
       short iArray[len];
@@ -181,8 +195,10 @@
 
       wait_a_bit();
     }
-
-    m_client.send(m_hdl, "Done", websocketpp::frame::opcode::text, ec);
+    nlohmann::json jsonresult;
+    jsonresult["is_speaking"] = false;
+    m_client.send(m_hdl, jsonresult.dump(), websocketpp::frame::opcode::text,
+                  ec);
     wait_a_bit();
   }
 

--
Gitblit v1.9.1