Esempio n. 1
0
        /// <summary>
        /// 写入本次识别的音频
        /// </summary>
        /// <param name="sessionId">由QISRSessionBegin返回的句柄</param>
        /// <param name="bytes">音频数据</param>
        /// <returns></returns>
        public bool ISRAudioWrite(string sessionId, byte[] bytes)
        {
            Log.LogHelper.GetInstance().Debug("123");

            IntPtr intPtr  = ConvertHelper.BytesToIntPtr(bytes);
            uint   dataLen = (uint)bytes.Length; //音频数据长度,单位字节
            int    aStatus = 2;                  //告知音频发送是否完成
            int    eStatus = -1;                 //端点检测器所处的状态
            int    rStatus = -1;                 //识别状态

            do
            {
                var code = ISR_DLL.QISRAudioWrite(sessionId, intPtr, dataLen, aStatus, ref eStatus, ref rStatus);
                if (code != 0)
                {
                    break;
                }
                if (eStatus == 3)
                {
                    break;
                }
                Thread.Sleep(TimeSpan.FromSeconds(0.16));
            }while (true);

            return(false);
        }