public static string CloudRecogFreeTalk(byte[] data, int data_len) { byte[] data1 = new byte[data_len]; Array.Copy((Array)data, (Array)data1, data_len); string str = ""; AsrVoiceCheckResult check_result = new AsrVoiceCheckResult(); string config1 = "vadhead=10000,vadtail=500,audioFormat=pcm16k16bit"; ASR_Recog.VoiceCheck(ASR_Recog.session_id_novad, data1, data_len, ref check_result, config1); if (check_result.eStatus != AsrVoiceCheckStatus.VAD_VOICE_END) { return(str); } byte[] voice_data1 = new byte[ASR_Recog.cur_len]; Array.Copy((Array)ASR_Recog.vad_check_audiodata, (Array)voice_data1, ASR_Recog.cur_len); ASR_Recog.cur_len = 0; string config2 = "addPunc=yes,realtime=yes,vadhead=20000,vadtail=600,"; AsrRecogResult result = new AsrRecogResult(); HciErrorCode hciErrorCode1 = HciCloudAsr.HciAsrRecog(ASR_Recog.session_id_novad, ref voice_data1, config2, (string)null, ref result); if (hciErrorCode1 == HciErrorCode.HCI_ERR_NONE) { Console.WriteLine("HciCloudAsr HciAsrRecog Success"); Console.WriteLine("psResultItemList count " + (object)result.psResultItemList.Count); foreach (AsrRecogResultItem asrRecogResultItem in (IEnumerable <AsrRecogResultItem>)result.psResultItemList) { Console.WriteLine("pszResult: " + asrRecogResultItem.pszResult); str = str + asrRecogResultItem.pszResult; } } else { Console.WriteLine("HciCloudAsr HciAsrRecog 出错: " + (object)hciErrorCode1); } byte[] voice_data2 = (byte[])null; HciErrorCode hciErrorCode2 = HciCloudAsr.HciAsrRecog(ASR_Recog.session_id_novad, ref voice_data2, config2, (string)null, ref result); if (hciErrorCode2 == HciErrorCode.HCI_ERR_NONE) { Console.WriteLine("HciCloudAsr HciAsrRecog Success"); Console.WriteLine("psResultItemList count " + (object)result.psResultItemList.Count); foreach (AsrRecogResultItem asrRecogResultItem in (IEnumerable <AsrRecogResultItem>)result.psResultItemList) { Console.WriteLine("pszResult: " + asrRecogResultItem.pszResult); str = str + asrRecogResultItem.pszResult; } return(str); } else { Console.WriteLine("HciCloudAsr HciAsrRecog 出错: " + (object)hciErrorCode2); return(str); } }
public static int Init() { string str1 = "conf/AccountInfo.txt"; string capkeyFromFile = AccountInfo.GetCapkeyFromFile(str1); if (capkeyFromFile == null || capkeyFromFile.Length == 0) { Console.WriteLine("是不是忘记了在" + str1 + "中填写capkey了?"); return(-1); } else { string config1 = ASR_Recog.GetConfig(str1); if (config1 == null || config1.Length == 0) { Console.WriteLine("获取配置失败"); return(-1); } else { HciErrorCode hciErrorCode1 = HciCloudSys.HciInit(config1); if (hciErrorCode1 == HciErrorCode.HCI_ERR_NONE) { Console.WriteLine("HciCloudSys HciInit Success"); if (!ASR_Recog.CheckAndUpdataAuth()) { int num = (int)HciCloudSys.HciRelease(); return(-1); } else if (!ASR_Recog.IsCapkeyEnable(capkeyFromFile)) { Console.WriteLine("capkey " + capkeyFromFile + " is not enable\n"); int num = (int)HciCloudSys.HciRelease(); return(-1); } else { HciErrorCode hciErrorCode2 = HciCloudAsr.HciAsrInit("dataPath=data" + ",initCapkeys=" + capkeyFromFile); if ((uint)hciErrorCode2 > 0U) { Console.WriteLine("HciAsrInit failed return " + (object)hciErrorCode2); int num = (int)HciCloudSys.HciRelease(); return(-1); } else { Console.WriteLine("HciAsrInit success"); ASR_Recog.addpunc_ = AccountInfo.GetkAddPuncFromFile(str1); ASR_Recog.capkey_ = capkeyFromFile; string str2 = "capkey=" + capkeyFromFile + ",realtime="; ASR_Recog.realtime_ = AccountInfo.GetRealTimeFromFile(str1); if (ASR_Recog.realtime_ != "no") { string config2 = str2 + ASR_Recog.realtime_ + ",audioformat=pcm16k16bit,vadThreshold=10"; if (ASR_Recog.realtime_ == "yes") { config2 = config2 + ",encode=speex,vadHead=0,vadTail=500,vadSeg=500"; } HciErrorCode hciErrorCode3 = HciCloudAsr.HciAsrSessionStart(config2, ref ASR_Recog.session_id_); if (hciErrorCode3 == HciErrorCode.HCI_ERR_NONE) { Console.WriteLine("HciCloudAsr HciAsrSessionStart Success"); } else { Console.WriteLine("HciCloudAsr HciAsrSessionStart 出错: " + (object)hciErrorCode3); return(-1); } } return(0); } } } else { Console.WriteLine("HciCloudSys HciInit 出错: " + (object)hciErrorCode1); return(-1); } } } }