Ejemplo n.º 1
0
        bool ocx_VodSdk_PlayBackControl(E_VDA_PLAYCTRL_TYPE lCtrlCode, int lCtrlValue, out int outVal)
        {
            MyLog4Net.Container.Instance.Log.DebugFormat("ocx_VodSdk_PlayBackControl lCtrlCode:{0},lCtrlValue:{1}", lCtrlCode, lCtrlValue);
            string xml = Framework.Environment.VODPlayControler.ocx_VodSdk_PlayBackControl(m_playHandle, (int)lCtrlCode, lCtrlValue);

            /*
             * <?xml version="1.0"?>
             *  <result>
             *          <retcode>1</retcode>
             *          <outvalue>0</outvalue>
             *  </result>
             */

            System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
            doc.LoadXml(xml);
            int retVal = Convert.ToInt32(doc.SelectSingleNode("//result/retcode").InnerText);

            if (retVal != 0)
            {
                GetError();
            }

            outVal = Convert.ToInt32(doc.SelectSingleNode("//result/outvalue").InnerText);
            MyLog4Net.Container.Instance.Log.DebugFormat("ocx_VodSdk_PlayBackControl retVal:" + retVal + ",outVal:" + outVal);
            return(retVal == 0);
        }
Ejemplo n.º 2
0
        void InvokePlayBackControl(E_VDA_PLAYCTRL_TYPE type, int inval)
        {
            if (InvokeRequired)
            {
                Invoke(new Action <E_VDA_PLAYCTRL_TYPE, int>(InvokePlayBackControl), type, inval);
            }
            else
            {
                int outval = 0;

                ocx_VodSdk_PlayBackControl(type, inval, out outval);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 播放控制
        /// </summary>
        /// <param name="vodHandle">点播标示句柄</param>
        /// <param name="controlCode">播放控制类型,见E_VDA_PLAYCTRL_TYPE定义</param>
        /// <param name="inValue">播放控制输入参数</param>
        /// <param name="outValue">播放控制输出参数,如获取的进度等</param>
        /// <returns>成功返回TRUE,失败返回FALSE</returns>
        public bool PlayBackControl(Int32 vodHandle, E_VDA_PLAYCTRL_TYPE controlCode, UInt32 inValue, out UInt32 outValue)
        {
            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_PlayBackControl vodHandle:{0}"
                                                                                                       + ",controlCode:{1}"
                                                                                                       + ",inValue:{2}"
                                                                                                       , vodHandle
                                                                                                       , controlCode
                                                                                                       , inValue
                                                                                                       ));

            bool retVal = IVXSDKProtocol.VdaSdk_PlayBackControl(vodHandle, (uint)controlCode, inValue, out outValue);

            if (!retVal)
            {
                // 调用失败,抛异常
                CheckError();
            }


            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXSDKProtocol VdaSdk_PlayBackControl ret:" + retVal + ",outValue:" + outValue);
            return(retVal);
        }
Ejemplo n.º 4
0
        public uint VideoControl(IntPtr hWnd, E_VDA_PLAYCTRL_TYPE ctrlType, uint ctrlValue)
        {
            int playhandle = GetPlayHandleByhWnd(hWnd);

            if (playhandle > 0)
            {
                uint outVal = 0;
                Framework.Container.Instance.IVXProtocol.PlayBackControl(playhandle, ctrlType, ctrlValue, out outVal);


                if (ctrlType == E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_PAUSE)
                {
                    m_DTVideoStatusList[playhandle].PlayState = VideoStatusType.E_PAUSE;
                }
                else if (ctrlType == E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_RESUME)
                {
                    m_DTVideoStatusList[playhandle].PlayState = VideoStatusType.E_NORMAL;
                }
                else if (ctrlType == E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_START)
                {
                    m_DTVideoStatusList[playhandle].PlayState = VideoStatusType.E_NORMAL;
                }
                //{

                //    VideoStatusInfo statinfo = m_DTVideoStatusList[playhandle];
                //    statinfo.PlayState = VideoStatusType.E_READY;
                //    statinfo.CurrPlayTime = 0;
                //    //uint val = 0;
                //    //Framework.Container.Instance.IVXProtocol.BriefPlayControl(playhandle, E_VDA_BRIEF_PLAYCTRL_TYPE.E_BRIEF_PLAYCTRL_GETTIME_RANGE, 0, out val);
                //    //statinfo.TotlePlayTime = val;

                //}
                else if (ctrlType == E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_STEP)
                {
                    m_DTVideoStatusList[playhandle].PlayState = VideoStatusType.E_STEP;
                }
                else if (ctrlType == E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_STEP_BACK)
                {
                    m_DTVideoStatusList[playhandle].PlayState = VideoStatusType.E_STEP_BACK;
                }
                else if (ctrlType == E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_STOP)
                {
                    m_DTVideoStatusList[playhandle].PlayState = VideoStatusType.E_STOP;
                }
                else if (ctrlType == E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_SETSPEED)
                {
                    m_DTVideoStatusList[playhandle].PlayState = VideoStatusType.E_SPEED;
                    m_DTVideoStatusList[playhandle].PlaySpeed = (E_VDA_PLAY_SPEED)ctrlValue;
                    //switch ((E_VDA_PLAY_SPEED)ctrlValue)
                    //{
                    //    case E_VDA_PLAY_SPEED.E_PLAYSPEED_NORMALSPEED:
                    //        m_DTVideoStatusList[playhandle].PlaySpeed = Model.VideoStatusType.E_NORMAL;
                    //        break;
                    //    case E_VDA_PLAY_SPEED.E_PLAYSPEED_FAST2:
                    //    case E_VDA_PLAY_SPEED.E_PLAYSPEED_FAST4:
                    //    case E_VDA_PLAY_SPEED.E_PLAYSPEED_FAST8:
                    //    case E_VDA_PLAY_SPEED.E_PLAYSPEED_FAST16:
                    //        m_DTVideoStatusList[playhandle] = Model.VideoStatusType.E_FAST;
                    //        break;
                    //    case E_VDA_PLAY_SPEED.E_PLAYSPEED_SLOW2:
                    //    case E_VDA_PLAY_SPEED.E_PLAYSPEED_SLOW4:
                    //    case E_VDA_PLAY_SPEED.E_PLAYSPEED_SLOW8:
                    //    case E_VDA_PLAY_SPEED.E_PLAYSPEED_SLOW16:
                    //        m_DTVideoStatusList[playhandle] = Model.VideoStatusType.E_SLOW;
                    //        break;
                    //    default:
                    //        m_DTVideoStatusList[playhandle] = Model.VideoStatusType.E_NORMAL;
                    //        break;
                    //}
                }

                return(outVal);
            }
            else
            {
                return(0);
            }
        }