public string GetAnswer() { uint resultLen = 0; while (recStatus != (int)RecStatus.MSP_REC_STATUS_COMPLETE) { Thread.Sleep(500);//要等到服务端生成结果,避免重复调用,因此建议异步使用 IntPtr result = ISEDLL.QISEGetResult(SessionID, ref resultLen, ref _recstatus, ref errorCode); if (recStatus == (int)RecStatus.MSP_REC_STATUS_COMPLETE) { return(UnmanagedManager.GetStringFromUnmanagedMemory(result)); } } return("null"); }
public void Login(string appid) { string lgi_param = "appid = {0}"; lgi_param = string.Format(lgi_param, appid); errorCode = ISEDLL.MSPLogin(null, null, lgi_param); if (errorCode == (int)ErrorCode.MSP_SUCCESS) { string ise_ssb_param = "sub=ise,category=read_sentence,language=en_us,aue=speex-wb;7,auf=audio/L16;rate=16000"; var hSessionID = ISEDLL.QISESessionBegin(ise_ssb_param, null, ref errorCode); if (errorCode == (int)ErrorCode.MSP_SUCCESS) { SessionID = UnmanagedManager.GetStringFromUnmanagedMemory(hSessionID); } } }