コード例 #1
0
ファイル: IVX_Protocol_Brief.cs プロジェクト: jackshenbin/XD
        /// <summary>
        /// 摘要播放控制
        /// </summary>
        /// <param name="sessionId">点播标示句柄</param>
        /// <param name="dwControlCode">播放控制类型,见E_VDA_BRIEF_PLAYCTRL_TYPE定义</param>
        /// <param name="dwInValue">播放控制输入参数</param>
        /// <param name="outValue">播放控制输出参数,如获取的进度等</param>
        /// <returns>成功返回TRUE,失败返回FALSE</returns>
        public bool BriefPlayControl(int sessionId, E_VDA_BRIEF_PLAYCTRL_TYPE dwControlCode, uint dwInValue, out uint outValue)
        {
            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_BriefPlayControl sessionId:{0}"
                                                                                                       + ",dwControlCode:{1}"
                                                                                                       + ",dwInValue:{2}"
                                                                                                       , sessionId
                                                                                                       , dwControlCode
                                                                                                       , dwInValue
                                                                                                       ));
            bool bRet = IVXSDKProtocol.VdaSdk_BriefPlayControl(sessionId, (uint)dwControlCode, dwInValue, out outValue);

            if (!bRet)
            {
                CheckError();
            }
            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_BriefPlayControl ret:{0}"
                                                                                                       + "outValue:{1}"
                                                                                                       , bRet
                                                                                                       , outValue
                                                                                                       ));

            return(bRet);
        }
コード例 #2
0
        public uint VideoControl(IntPtr hWnd, E_VDA_BRIEF_PLAYCTRL_TYPE ctrlType, uint ctrlValue)
        {
            int playhandle = GetPlayHandleByhWnd(hWnd);

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


                if (ctrlType == E_VDA_BRIEF_PLAYCTRL_TYPE.E_BRIEF_PLAYCTRL_PAUSE)
                {
                    m_DTVideoStatusList[playhandle].PlayState = VideoStatusType.E_PAUSE;
                }
                else if (ctrlType == E_VDA_BRIEF_PLAYCTRL_TYPE.E_BRIEF_PLAYCTRL_RESUME)
                {
                    m_DTVideoStatusList[playhandle].PlayState = VideoStatusType.E_NORMAL;
                }
                else if (ctrlType == E_VDA_BRIEF_PLAYCTRL_TYPE.E_BRIEF_PLAYCTRL_START)
                {
                    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_BRIEF_PLAYCTRL_TYPE.E_BRIEF_PLAYCTRL_STEP)
                //    m_DTVideoStatusList[playhandle] = Model.VideoStatusType.E_STEP;
                //else if (ctrlType == E_VDA_BRIEF_PLAYCTRL_TYPE.E_BRIEF_PLAYCTRL_STEP_BACK)
                //    m_DTVideoStatusList[playhandle] = Model.VideoStatusType.E_STEP_BACK;
                else if (ctrlType == E_VDA_BRIEF_PLAYCTRL_TYPE.E_BRIEF_PLAYCTRL_STOP)
                {
                    m_DTVideoStatusList[playhandle].PlayState = VideoStatusType.E_STOP;
                }
                else if (ctrlType == E_VDA_BRIEF_PLAYCTRL_TYPE.E_BRIEF_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] = 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);
            }
        }