예제 #1
0
        public bool FeedbackFunction(EBD ebdsr, string BrdStateCode, string TimingTerminalState)
        {
            bool flag = false;

            try
            {
                if (string.IsNullOrEmpty(TimingTerminalState))
                {
                    bool eb = sendEBMStateResponse(ebdsr, BrdStateCode);
                    if (eb)
                    {
                        flag = true;
                    }
                }
                else
                {
                    bool eb = sendEBMStateResponse(ebdsr, BrdStateCode);
                    bool Up = UpdateState();
                    if (eb && Up)
                    {
                        flag = true;
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(flag);
        }
예제 #2
0
 public bool SendMq(EBD ebd, int Type, string ParamValue, string TsCmd_ID, string TsCmd_ValueID)
 {
     if (ebd != null)
     {
         string InfoValueStr = "insert into InfoVlaue values('" + ebd.EBDID + "')";
         mainForm.dba.UpdateDbBySQL(InfoValueStr);
     }
     m_lstProperty = Install(Type, ParamValue, TsCmd_ID, TsCmd_ValueID);
     return(m_mq.SendMQMessage(true, "Send", m_lstProperty));
 }
예제 #3
0
        /// <summary>
        /// 播发状态反馈  20181213
        /// </summary>
        /// <param name="ebdsr"></param>
        /// <param name="BrdStateDesc"></param>
        /// <param name="BrdStateCode"></param>
        /// <returns></returns>
        private bool sendEBMStateResponse(EBD ebdsr, string BrdStateCode)
        {
            //*反馈
            #region 先删除解压缩包中的文件

            bool flag = false;
            foreach (string xmlfiledel in Directory.GetFileSystemEntries(ServerForm.sEBMStateResponsePath))
            {
                if (File.Exists(xmlfiledel))
                {
                    FileInfo fi = new FileInfo(xmlfiledel);
                    if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)
                    {
                        fi.Attributes = FileAttributes.Normal;
                    }
                    File.Delete(xmlfiledel);//直接删除其中的文件
                }
            }
            #endregion End
            XmlDocument xmlHeartDoc = new XmlDocument();
            responseXML rHeart      = new responseXML();
            //rHeart.SourceAreaCode = ServerForm. strSourceAreaCode;
            //rHeart.SourceType = ServerForm.strSourceType;
            //rHeart.SourceName = ServerForm.strSourceName;
            //rHeart.SourceID = ServerForm.strSourceID;
            //rHeart.sHBRONO = SingletonInfo.GetInstance().CurrentResourcecode;



            string frdStateName        = "10" + SingletonInfo.GetInstance().CurrentResourcecode + GetSequenceCodes();
            string xmlEBMStateFileName = "\\EBDB_" + frdStateName + ".xml";
            xmlHeartDoc = rHeart.EBMStateRequestResponse(ebdsr, frdStateName, BrdStateCode);

            TarXml.AudioResponseXml.CreateXML(xmlHeartDoc, ServerForm.sEBMStateResponsePath + xmlEBMStateFileName);
            ServerForm.mainFrm.GenerateSignatureFile(ServerForm.sEBMStateResponsePath, frdStateName);
            ServerForm.tar.CreatTar(ServerForm.sEBMStateResponsePath, ServerForm.sSendTarPath, frdStateName);// "HB000000000001");//使用新TAR


            string sHeartBeatTarName = ServerForm.sSendTarPath + "\\EBDT_" + frdStateName + ".tar";
            try
            {
                string result = HttpSendFile.UploadFilesByPost(SingletonInfo.GetInstance().SendTarAddress, sHeartBeatTarName);
                if (result != "0")
                {
                    return(true);
                }
            }
            catch (Exception w)
            {
                Log.Instance.LogWrite("应急消息播发状态反馈发送平台错误:" + w.Message);
            }
            return(flag);
        }
예제 #4
0
        public bool SendMq(EBD ebd, string TsCmd_ID, string TsCmd_ValueID)
        {
            if (ebd != null)
            {
                string InfoValueStr = "insert into InfoVlaue values('" + ebd.EBDID + "')";
                mainForm.dba.UpdateDbBySQL(InfoValueStr);
            }
            if (!HttpServerFrom.MQStartFlag)
            {
                Console.WriteLine("MQ标识未启用,取消发送!");
                return(false);
            }
            List <Property> m_lstProperty = new List <Property>();

            //   m_lstProperty = Install(Type, ParamValue, TsCmd_ID, TsCmd_ValueID);
            return(m_mq.SendMQMessage(true, "Send", m_lstProperty));
        }
예제 #5
0
        public bool SendMq(EBD ebd, int Type, string ParamValue, string TsCmd_ID, string TsCmd_ValueID)
        {
            if (ebd != null)
            {
                string InfoValueStr = "insert into InfoVlaue values('" + ebd.EBDID + "')";
                mainForm.dba.UpdateDbBySQL(InfoValueStr);
            }
            if (!ServerForm.MQStartFlag)
            {
                Console.WriteLine("MQ标识未启用,取消发送!");
                return(false);
            }
            //"1~D:\\rhtest_6_1\\apache-tomcat-7.0.69\\webapps\\ch-eoc\\upload/1109.mp3~0~1000~128~0~0~0"

            m_lstProperty = Install(Type, ParamValue, TsCmd_ID, TsCmd_ValueID);//~0~1200~192~0~1~1应急

            // m_lstProperty = MQCommandPackage(Type, ParamValue, TsCmd_ID);
            return(m_mq.SendMQMessage(true, "Send", m_lstProperty));
        }
        /// <summary>
        /// 播放
        /// </summary>
        /// <returns></returns>
        public bool AudioPlay(int type, string ParamValue, string TsCmd_ID, string TsCmd_ValueID, string EBMInfoID)
        {
            try
            {
                ServerForm.SetManager("EBM开始时间: " + AudioModel.PlayingTime + "===>EBM结束时间: " + AudioModel.PlayEndTime, Color.Green);
                ServerForm.SetManager("播放开始时间: " + AudioModel.PlayingTime + "===>播放结束时间: " + AudioModel.PlayEndTime, Color.Green);
                ServerForm.SetManager("等待播放" + AudioModel.PlayingContent, Color.Green);

                EBD    ebd        = GetEBD(AudioModel.XmlFilaPath);
                string AreaString = CombinationArea();


                #region 未播放
                if (DateTime.Compare(AudioModel.PlayingTime, DateTime.Now) > 0)
                {
                    AudioPlayState = AudioMessage.AudioPlayState.NotPlay;
                    lock (ServerForm.PlayBackObject)
                    {
                        ServerForm.PlayBack = ServerForm.PlaybackStateType.NotBroadcast;
                    }

                    string strSql = string.Format("update EBMInfo set EBMState = '{0}' where id='{1}'", "1", EBMInfoID);
                    mainForm.dba.UpdateDbBySQL(strSql);


                    Task.Factory.StartNew(() =>
                    {
                        PlayStateInterface.NotPlay(TsCmd_ID, AudioModel.XmlFilaPath, "1");
                        ServerForm.SetManager("反馈未播放状态", Color.Green);
                    });
                }
                #endregion 未播放代码
                //播放中
                #region 播放中

                while (true)
                {
                    DateTime current = DateTime.Now;
                    Thread.Sleep(1000);
                    if (DateTime.Compare(current, AudioModel.PlayingTime) > 0)//当前时间大于播放开始时间
                    {
                        ServerForm.SetManager("播放开始:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Color.Green);
                        lock (ServerForm.PlayBackObject)
                        {
                            ServerForm.PlayBack = ServerForm.PlaybackStateType.Playback;
                        }
                        AudioPlayState = AudioMessage.AudioPlayState.Playing;
                        // MqSendOrder sendOrder = new MqSendOrder();
                        bool   result = SendMQ.MqSendOrder.sendOrder.SendMq(ebd, type, ParamValue, TsCmd_ID, TsCmd_ValueID);
                        string strSql = string.Format("update EBMInfo set EBMState = '{0}' where id='{1}'", "2", EBMInfoID);
                        mainForm.dba.UpdateDbBySQL(strSql);

                        Task.Factory.StartNew(() =>
                        {
                            PlayStateInterface.Playing(TsCmd_ID, AudioModel.XmlFilaPath, "2", "播发中");
                            ServerForm.SetManager("反馈播发中状态", Color.Green);
                        });

                        ServerForm.SetManager("播放中的反馈已发送", Color.Green);
                        break;
                    }
                }
                #endregion 播放中代码

                //播放完成
                #region 播放完
                ServerForm.SetManager("进入等待播放完成流程", Color.Green);
                while (true)
                {
                    Thread.Sleep(1000);
                    // ServerForm.SetManager("未到结束时间在播放过程中:"+tmp.ToString(), Color.Green);
                    if (DateTime.Compare(DateTime.Now, AudioModel.PlayEndTime) < 0)//结束时间大于当前时间
                    {
                        string MediaSql = "select TsCmd_ID,TsCmd_ExCute from  TsCmdStore where TsCmd_ID='" + TsCmd_ID + "'";
                        //  MediaSql = "select top(1)TsCmd_ID,TsCmd_XmlFile from  TsCmdStore where TsCmd_ValueID = '" + ebd.EBMStateRequest.EBM.EBMID + "' order by TsCmd_Date desc";
                        DataTable dtMedia = mainForm.dba.getQueryInfoBySQL(MediaSql);

                        if (dtMedia != null && dtMedia.Rows.Count > 0)
                        {
                            if (dtMedia.Rows[0]["TsCmd_ExCute"].ToString().Contains("播放完毕"))
                            {
                                string strSql = string.Format("update EBMInfo set EBMState = '{0}' where id='{1}'", "3", EBMInfoID);
                                mainForm.dba.UpdateDbBySQL(strSql);

                                ServerForm.SetManager("播放结束", Color.Green);
                                lock (ServerForm.PlayBackObject)
                                {
                                    ServerForm.PlayBack = ServerForm.PlaybackStateType.PlayOut;
                                }
                                AudioPlayState = AudioMessage.AudioPlayState.PlayingOver;

                                Task.Factory.StartNew(() =>
                                {
                                    PlayStateInterface.PlayOver(TsCmd_ID, AudioModel.XmlFilaPath, "3", "开机/运行中");
                                    ServerForm.SetManager("反馈播放完成状态", Color.Green);
                                });

                                if (SingletonInfo.GetInstance().DicTsCmd_ID.ContainsKey(AreaString))
                                {
                                    SingletonInfo.GetInstance().DicTsCmd_ID.Remove(AreaString);
                                }

                                if (SingletonInfo.GetInstance().DicPlayingThread.ContainsKey(AudioModel.AeraCodeReal))
                                {
                                    SingletonInfo.GetInstance().DicPlayingThread.Remove(AudioModel.AeraCodeReal);
                                    //  MessageBox.Show("文件播放完了->删除" + AudioModel.AeraCodeReal + "的字典值");
                                }

                                break;
                            }
                        }
                    }
                    else
                    {
                        lock (ServerForm.PlayBackObject)
                        {
                            ServerForm.PlayBack = ServerForm.PlaybackStateType.PlayOut;
                        }
                        ServerForm.SetManager("播放结束", Color.Green);

                        Task.Factory.StartNew(() =>
                        {
                            PlayStateInterface.PlayOver(TsCmd_ID, AudioModel.XmlFilaPath, "3", "开机/运行中");
                            ServerForm.SetManager("反馈播放完成状态", Color.Green);
                        });

                        string strSqlupdateEBMInfo = string.Format("update EBMInfo set EBMState = '{0}' where id='{1}'", "3", EBMInfoID);
                        mainForm.dba.UpdateDbBySQL(strSqlupdateEBMInfo);
                        //没播放完 但是文件时间到了
                        string strSql = "";
                        if (type == 1)
                        {
                            strSql = string.Format("update PLAYRECORD set PR_REC_STATUS = '{0}' where PR_SourceID='{1}'", "删除", TsCmd_ID);
                            mainForm.dba.UpdateDbBySQL(strSql);
                            string strSqlTsCmdStore = string.Format("update TsCmdStore set TsCmd_ExCute = '{0}' where TsCmd_ID='{1}'", "播放完毕", TsCmd_ID);
                            mainForm.dba.UpdateDbBySQL(strSqlTsCmdStore);
                        }
                        else if (type == 2)
                        {
                            strSql = string.Format("update PLAYRECORD set PR_REC_STATUS = '{0}' ", "删除");
                            mainForm.dba.UpdateDbBySQL(strSql);
                        }

                        if (SingletonInfo.GetInstance().DicTsCmd_ID.ContainsKey(AreaString))
                        {
                            SingletonInfo.GetInstance().DicTsCmd_ID.Remove(AreaString);
                        }

                        if (SingletonInfo.GetInstance().DicPlayingThread.ContainsKey(AudioModel.AeraCodeReal))
                        {
                            SingletonInfo.GetInstance().DicPlayingThread.Remove(AudioModel.AeraCodeReal);
                            // MessageBox.Show("播放时间到了->删除"+ AudioModel.AeraCodeReal+"的字典值");
                        }
                        break;
                    }
                }
                #endregion 播放完代码
                GC.Collect();

                return(true);
            }
            catch (Exception ex)
            {
                AudioPlayState = AudioMessage.AudioPlayState.error;
                //   MessageBox.Show(ex.Message + ex.StackTrace);
            }
            return(false);
        }
        public override void OnPost(HttpRequest request, HttpResponse response, string SavePath, string FileName)
        {
            string UnpackTarPath = "";
            string FileSavePath  = SavePath + "\\" + FileName;

            UnpackTarPath = sUnTarPath + "\\" + FileName.Split('.')[0];
            if (File.Exists(FileSavePath))
            {
                if (!Directory.Exists(UnpackTarPath))
                {
                    Directory.CreateDirectory(UnpackTarPath);
                }
                TarHelper tar = new TarHelper();
                tar.DeleteFolder(UnpackTarPath);

                tar.UnpackTarFiles(FileSavePath, UnpackTarPath);


                string[] xmlfilenames      = Directory.GetFiles(UnpackTarPath, "*.xml");//从解压XML文件夹下获取解压的XML文件名
                string   sTmpFile          = string.Empty;
                string   sAnalysisFileName = "";
                string   sSignFileName     = "";
                for (int i = 0; i < xmlfilenames.Length; i++)
                {
                    sTmpFile = Path.GetFileName(xmlfilenames[i]);
                    if (sTmpFile.ToUpper().IndexOf("EBDB") > -1 && sTmpFile.ToUpper().IndexOf("EBDS_EBDB") < 0)
                    {
                        sAnalysisFileName = xmlfilenames[i];
                    }
                    //else if (sTmpFile.ToUpper().IndexOf("EBDS_EBDB") > -1)//签名文件
                    //{
                    //    sSignFileName = xmlfilenames[i];//签名文件
                    //}
                }
                EBD ebd = null;
                try
                {
                    using (FileStream fstream = new FileStream(sAnalysisFileName, FileMode.Open))
                    {
                        StreamReader sr      = new StreamReader(fstream, System.Text.Encoding.UTF8);
                        String       xmlInfo = sr.ReadToEnd();
                        xmlInfo = xmlInfo.Replace("xmlns:xs", "xmlns");
                        sr.Close();
                        xmlInfo = XmlSerialize.ReplaceLowOrderASCIICharacters(xmlInfo);
                        xmlInfo = XmlSerialize.GetLowOrderASCIICharacters(xmlInfo);
                        ebd     = XmlSerialize.DeserializeXML <EBD>(xmlInfo);
                    }

                    IniFiles   serverini = new IniFiles(StartupPath + "\\Config.ini");
                    CombineXML cx        = new CombineXML(serverini);
                    string     strHBRONO = serverini.ReadValue("INFOSET", "HBRONO"); //实体编号
                    Random     rd        = new Random();
                    // string fName = "10" + rp.sHBRONO + "00000000000" + rd.Next(100, 999).ToString();
                    string      fName           = "10" + strHBRONO + "0000000000000" + rd.Next(100, 999).ToString();
                    XmlDocument xmlDoc          = cx.CombineResponse(ebd, "EBDResponse", fName);
                    string      xmlSignFileName = "\\EBDB_" + fName + ".xml";


                    string BeXmlFilesPath = serverini.ReadValue("FolderSet", "BeXmlFileMakeFolder");
                    tar.DeleteFolder(BeXmlFilesPath);//新增20180816


                    cx.CreateXML(xmlDoc, BeXmlFilesPath + xmlSignFileName);

                    //进行签名

                    string      m_UsbPwsSupport = serverini.ReadValue("USBPSW", "USBPSWSUPPART");
                    Attestation Attestation     = new Attestation();
                    // TarHelper tar = new TarHelper();
                    //     ServerForm.mainFrm.AudioGenerateSignatureFile(ServerForm.strBeSendFileMakeFolder,"EBDI",fName);
                    //   Attestation.GenerateSignatureFile(m_UsbPwsSupport, SendFilePath, fName, StartupPath + "\\Config.ini");  测试注释 20180814
                    tar.CreatTar(serverini.ReadValue("FolderSet", "BeXmlFileMakeFolder"), SendFilePath, fName);//使用新TAR
                    string sSendTarName = SendFilePath + "\\EBDT_" + fName + ".tar";


                    response.SendNew(sSendTarName);
                }
                catch (Exception ex)
                {
                    HttpModel.Log.Instance.LogWrite("异常:" + ex.Message);
                }
            }
        }
예제 #8
0
        private bool sendEBMStateResponse(EBD ebdsr, string BrdStateDesc, string BrdStateCode)
        {
            //*反馈
            #region 先删除解压缩包中的文件

            bool flag = false;
            foreach (string xmlfiledel in Directory.GetFileSystemEntries(HttpServerFrom.sEBMStateResponsePath))
            {
                if (File.Exists(xmlfiledel))
                {
                    FileInfo fi = new FileInfo(xmlfiledel);
                    if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)
                    {
                        fi.Attributes = FileAttributes.Normal;
                    }
                    File.Delete(xmlfiledel);//直接删除其中的文件
                }
            }
            #endregion End
            XmlDocument xmlHeartDoc = new XmlDocument();
            responseXML rHeart      = new responseXML();
            rHeart.SourceAreaCode = HttpServerFrom.strSourceAreaCode;
            rHeart.SourceType     = HttpServerFrom.strSourceType;
            rHeart.SourceName     = HttpServerFrom.strSourceName;
            rHeart.SourceID       = HttpServerFrom.strSourceID;
            rHeart.sHBRONO        = HttpServerFrom.strHBRONO;
            //try
            //{
            //.HeartBeatResponse();  // rState.EBMStateResponse(ebd);
            Random rd    = new Random();
            string fName = HttpServerFrom.ebd.EBDID.ToString();

            Random rdState             = new Random();
            string frdStateName        = "10" + rHeart.sHBRONO + GetSequenceCodes();
            string xmlEBMStateFileName = "\\EBDB_" + frdStateName + ".xml";


            //  string xmlEBMStateFileName = "\\EBDB_" + ebd.EBDID.ToString() + ".xml";
            // string xmlSignFileName = "\\EBDI_" + ebd.EBDID.ToString() + ".xml";
            //xmlHeartDoc = rHeart.EBMStateResponse(ebd, "EBMStateResponse", fName, BrdStateDesc, BrdStateCode);

            xmlHeartDoc = rHeart.EBMStateRequestResponse(ebdsr, fName, BrdStateDesc, BrdStateCode);
            //string xmlStateFileName = "\\EBDB_000000000001.xml";
            TarXml.AudioResponseXml.CreateXML(xmlHeartDoc, HttpServerFrom.sEBMStateResponsePath + xmlEBMStateFileName);
            //  ServerForm.mainFrm.AudioGenerateSignatureFile(sEBMStateResponsePath, "EBDI",ebd.EBDID.ToString());
            HttpServerFrom.mainFrm.GenerateSignatureFile(HttpServerFrom.sEBMStateResponsePath, frdStateName);

            //string pp= frdStateName
            HttpServerFrom.tar.CreatTar(HttpServerFrom.sEBMStateResponsePath, HttpServerFrom.sSendTarPath, frdStateName);// "HB000000000001");//使用新TAR
            //}
            //catch (Exception ec)
            //{
            //    Log.Instance.LogWrite("应急消息播发状态反馈组包错误:" + ec.Message);
            //}
            //string sHeartBeatTarName = sSendTarPath + "\\" + "HB000000000001" + ".tar";
            string sHeartBeatTarName = HttpServerFrom.sSendTarPath + "\\EBDT_" + frdStateName + ".tar";
            try
            {
                string result = HttpSendFile.UploadFilesByPost(HttpServerFrom.sZJPostUrlAddress, sHeartBeatTarName);
                if (result != "0")
                {
                    return(true);
                }
            }
            catch (Exception w)
            {
                Log.Instance.LogWrite("应急消息播发状态反馈发送平台错误:" + w.Message);
            }
            return(flag);
        }
        /// <summary>
        /// 播放
        /// </summary>
        /// <returns></returns>
        public bool AudioPlay(int type, string ParamValue, string TsCmd_ID, string TsCmd_ValueID)
        {
            try
            {
                HttpServerFrom.SetManager("EBM开始时间: " + AudioModel.PlayingTime + "===>EBM结束时间: " + AudioModel.PlayEndTime, Color.Green);
                HttpServerFrom.SetManager("播放开始时间: " + AudioModel.PlayingTime + "===>播放结束时间: " + AudioModel.PlayEndTime, Color.Green);
                HttpServerFrom.SetManager("等待播放" + AudioModel.PlayingContent, Color.Green);
                EBD ebd = GetEBD(AudioModel.XmlFilaPath);

                string AreaString = CombinationArea();

                ///未播放
                AudioPlayState = AudioMessage.AudioPlayState.NotPlay;
                lock (HttpServerFrom.PlayBackObject)
                {
                    HttpServerFrom.PlayBack = HttpServerFrom.PlaybackStateType.NotBroadcast;
                }
                #region 未播放
                PlayStateInterface.NotPlay(TsCmd_ID, AudioModel.XmlFilaPath, "未播放", "1");
                #endregion 未播放代码
                //播放中
                #region 播放中

                while (true)
                {
                    DateTime current = DateTime.Now;
                    Thread.Sleep(500);
                    if (DateTime.Compare(current, AudioModel.PlayingTime) > 0)
                    {
                        HttpServerFrom.SetManager("播放开始", Color.Green);
                        lock (HttpServerFrom.PlayBackObject)
                        {
                            HttpServerFrom.PlayBack = HttpServerFrom.PlaybackStateType.Playback;
                        }
                        AudioPlayState = AudioMessage.AudioPlayState.Playing;
                        bool result = SendMQ.MqSendOrder.sendOrder.SendMq(ebd, type, ParamValue, TsCmd_ID, TsCmd_ValueID);
                        PlayStateInterface.Playing(TsCmd_ID, AudioModel.XmlFilaPath, "播放中", "2", "播发中");
                        break;
                    }
                }
                #endregion 播放中代码
                //播放完成
                #region 播放完
                while (true)
                {
                    Thread.Sleep(500);
                    if (DateTime.Compare(DateTime.Now, AudioModel.PlayEndTime) < 0)//结束时间大于当前时间
                    {
                        string    MediaSql = "select TsCmd_ID,TsCmd_ExCute from  TsCmdStore where TsCmd_ID='" + TsCmd_ID + "'";
                        DataTable dtMedia  = mainForm.dba.getQueryInfoBySQL(MediaSql);
                        if (dtMedia.Rows[0]["TsCmd_ExCute"].ToString().Contains("播放完毕"))
                        {
                            HttpServerFrom.SetManager("播放结束", Color.Green);
                            lock (HttpServerFrom.PlayBackObject)
                            {
                                HttpServerFrom.PlayBack = HttpServerFrom.PlaybackStateType.PlayOut;
                            }
                            AudioPlayState = AudioMessage.AudioPlayState.PlayingOver;
                            PlayStateInterface.PlayOver(TsCmd_ID, AudioModel.XmlFilaPath, "播放完成", "3", "开机/运行中");
                            SingletonInfo.GetInstance().DicTsCmd_ID.Remove(AreaString);
                            break;
                        }
                    }
                    else
                    {
                        lock (HttpServerFrom.PlayBackObject)
                        {
                            HttpServerFrom.PlayBack = HttpServerFrom.PlaybackStateType.PlayOut;
                        }
                        HttpServerFrom.SetManager("播放结束", Color.Green);
                        //没播放完 但是文件时间到了
                        string strSql = "";
                        if (type == 1)
                        {
                            strSql = string.Format("update PLAYRECORD set PR_REC_STATUS = '{0}' where PR_SourceID='{1}'", "删除", TsCmd_ID);
                            mainForm.dba.UpdateDbBySQL(strSql);
                            string strSqlTsCmdStore = string.Format("update TsCmdStore set TsCmd_ExCute = '{0}' where TsCmd_ID='{1}'", "播放完毕", TsCmd_ID);
                            mainForm.dba.UpdateDbBySQL(strSqlTsCmdStore);
                        }
                        else if (type == 2)
                        {
                            strSql = string.Format("update PLAYRECORD set PR_REC_STATUS = '{0}' ", "删除");
                            mainForm.dba.UpdateDbBySQL(strSql);
                        }
                        SingletonInfo.GetInstance().DicTsCmd_ID.Remove(AreaString);
                        break;
                    }
                }
                #endregion 播放完代码
                GC.Collect();

                return(true);
            }
            catch (Exception ex)
            {
                AudioPlayState = AudioMessage.AudioPlayState.error;
                Log.Instance.LogWrite(ex.Message);
            }
            return(false);
        }