Exemple #1
0
    private string getRet;      //获取返回字符串

    /// <summary>
    ///  处理语音
    /// </summary>
    private IEnumerator DealWithSound()
    {
        regRet  = string.Empty;
        sendRet = string.Empty;
        string sn = _curSn;

        yield return(StartCoroutine(SendHttpToSoundServer(sn, _phoneInput.idx, Convert.ToBase64String(_phoneInput.GetFinalClipData()).Replace("+", "%2B"))));

        //yield return StartCoroutine(SoundRecognitionWWW(data));
        //{"corpus_no":"6141520439644542158","err_msg":"success.","err_no":0,"result":["彭老师,"],"sn":"590051594681429934156"}
        Hashtable tbl = MiniJSON.Json.Deserialize(regRet) as Hashtable;

        //yield return StartCoroutine(SendHttpToSoundServer(sn, _phoneInput.idx, Convert.ToBase64String(_phoneInput.GetFinalClipData()).Replace("+", "%2B")));
        if (!string.IsNullOrEmpty(sendRet))
        {
            string[] retArr = sendRet.Split('@');
            if (retArr != null && retArr.Length == 2 && retArr[0].Equals("1"))
            {
                if (tbl != null && tbl["err_msg"].ToString().Contains("success"))
                {
                    string resultStr = (tbl["result"] as ArrayList)[0].ToString();
                    resultStr = resultStr.Substring(0, resultStr.Length - 1);
                    Util.CallMethod("CHATLOGIC", "SendVoiceMsg", resultStr, retArr[1], _curSoundTime);
                }
                else
                {
                    Util.CallMethod("CHATLOGIC", "SendVoiceMsg", "", retArr[1], _curSoundTime);
                }
            }
            else
            {
                Debugger.Log("上传语音服务器失败!!!sendRet = {0}", sendRet);
                Util.CallMethod("CHATLOGIC", "PopUploadError");
            }
        }
    }