private object GetRefText(BaseEngineStartUpParameter parameter) { object refText = null; //switch (parameter.EType) //{ // case EngineType.OPEN: // { // var multiParameter = (EngineStartUpQsOpenParameter)parameter; // refText = multiParameter.RefText; // //((oesyrefText)refText).lm = multiParameter.RefText.Select(item => new oesyanswer() // //{ // // answer = 2, // // text = item // //}).ToArray(); // } // break; // case EngineType.SENT: // { // var singleParameter = (EngineStartUpQsOpenParameter)parameter; // refText = singleParameter.RefText; // } // break; // case EngineType.CHOICE: // { // var singleParameter = (EngineStartUpQsOpenParameter)parameter; // refText = singleParameter.RefText; // } // break; // default: // throw new Exception("Undefined"); //} return(refText); }
private InnerParameter WrapParameter(BaseEngineStartUpParameter innerParameter, string userID = null) { if (innerParameter == null) { throw new Exception("Parameter is illegal."); } var paramter = new InnerParameter() { app = new app() { userId = string.IsNullOrEmpty(userID) ? DefaultUserId : userID, }, audio = new audio() { audioType = innerParameter.audioType, //"wav", channel = 1, sampleBytes = 2, sampleRate = innerParameter.sampleRate, //16000, quality = 8, complexity = 2, compress = innerParameter.compress //"raw" }, coreProvideType = "cloud", }; paramter.request = GetRecRequest(innerParameter); //if (innerParameter.EType == EngineType.OPEN) //{ // paramter.request = new recRequest // { // coreType = innerParameter.EType, // refText = GetRefText(innerParameter), // keywords = "", // qClass = innerParameter.QsClass, // qType = innerParameter.QsType // }; //} //else //{ // paramter.request = new commonRequest() // { // coreType = innerParameter.EType, // precision = 0.5, // rank = innerParameter.Rank, // refText = GetRefText(innerParameter) // }; //} return(paramter); }
public virtual int Start(BaseEngineStartUpParameter parameter, ref string recId, EngineDelegete.EngineCallback callback, IntPtr userdata, string userID = null) { var engineParameter = WrapParameter(parameter, userID); var param = JsonConvert.SerializeObject(engineParameter, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); var id = new byte[64]; var result = skegn_start(EngineInstance, param, id, callback, userdata); recId = Encoding.ASCII.GetString(id).Replace("\0", string.Empty); //Log4NetHelper.Info($"ID:{recId},param:{param}"); recId = $"ID:{recId},param:{param}"; return(result); }
private BaseRequest GetRecRequest(BaseEngineStartUpParameter parameter) { BaseRequest rec = null; switch (parameter.EType) { case EngineType.PARA: case EngineType.OPEN: { var openParameter = (EngineStartUpQsOpenParameter)parameter; rec = new recRequest() { coreType = openParameter.EType, refText = openParameter.RefText, keywords = openParameter.KeyWords, qClass = openParameter.QsClass, qType = openParameter.QsType, precision = openParameter.Precision, scale = parameter.Scale, getParam = parameter.getParam, attachAudioUrl = parameter.attachAudioUrl, paragraph_need_word_score = parameter.paragraph_need_word_score, }; } break; case EngineType.WORD: { var openParameter = (EngineStartUpSingleParameter)parameter; rec = new commonRequest() { coreType = openParameter.EType, precision = openParameter.Precision, scale = parameter.Scale, refText = openParameter.RefText, attachAudioUrl = parameter.attachAudioUrl, getParam = parameter.getParam, }; } break; case EngineType.SENT: case EngineType.CHOICE: { var openParameter = (EngineStartUpSingleParameter)parameter; rec = new commonRequest() { coreType = openParameter.EType, precision = openParameter.Precision, scale = parameter.Scale, refText = openParameter.RefText, attachAudioUrl = parameter.attachAudioUrl, getParam = parameter.getParam, }; } break; default: throw new Exception("Undefined"); } return(rec); }