zhaomingwork
2023-05-12 ddde971fd9a6a350d120ec2ffca2a6de1a810ef6
change for cpp client
1个文件已修改
20 ■■■■■ 已修改文件
funasr/runtime/websocket/websocketclient.cpp 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
  }