//asr引擎websocket obj
public static WebSocket wss_viki;
//asr地址
string str_wss_viki_address;
private void loadAsr() {
//try
//{
wss_viki = new WebSocket(str_wss_viki_address);
wss_viki.OnMessage += ws_OnMessage;
wss_viki.OnClose += ws_OnClose;
wss_viki.OnOpen += ws_OnOpen;
wss_viki.Connect();
FileStream fs = new FileStream(audioFile, FileMode.Open);
//把文件读取到字节数组
byte[] zipdata = new byte[fs.Length];
fs.Read(zipdata, 0, zipdata.Length);
fs.Close();
wss_viki.Send(zipdata);
wss_viki.Send("{ 'endOfStream': True }");
//}
//catch
//{
// MessageBox.Show("ASR 引擎错误");
//}
}
// 开启事件
private static void ws_OnOpen(object sender, EventArgs e)
{
wss_viki.Send("{ 'sampleRate' : 8000, 'addPunctuation' : True, 'convertNumbers' : True, 'oral2written' : False, 'needTimeinfo' : False , 'pauseTime' : 150 }");
}
// 信息事件
private static void ws_OnMessage(object sender, MessageEventArgs e)
{
JObject jo = (JObject)JsonConvert.DeserializeObject(e.Data.ToString());
string transcript_ = jo["alternatives_"][0]["transcript_"].ToString();
form1.lab_filename.Text = transcript_;
}
// 与服务器连接中断
private static void ws_OnClose(object sender, CloseEventArgs e)
{
}
发表评论