Пример #1
0
        /// <summary>
        /// 点播指定任务单元的视频
        /// </summary>
        /// <param name="vodInfo">点播信息</param>
        /// <param name="userData">用户数据</param>
        /// <returns>-1表示失败,其他值表示返回的点播标示值。</returns>
        public Int32 PlayBackByTaskUnit(VodInfo vodInfo, UInt32 userData)
        {
            TVDASDK_TASK_UNIT_VOD_INFO info = new TVDASDK_TASK_UNIT_VOD_INFO();

            info.bIsPlayAllFile    = vodInfo.IsPlayAllFile;
            info.dwEndTime         = ModelParser.ConvertLinuxTime(vodInfo.EndTime);
            info.dwStartTime       = ModelParser.ConvertLinuxTime(vodInfo.StartTime);
            info.dwVideoTaskUnitID = vodInfo.VideoTaskUnitID;
            info.hPlayWnd          = vodInfo.PlayWnd;
            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_PlayBackByTaskUnit dwVideoTaskUnitID:{0}"
                                                                                                       + ",hPlayWnd:{1}"
                                                                                                       + ",bIsPlayAllFile:{2}"
                                                                                                       + ",dwStartTime:{3}"
                                                                                                       + ",dwEndTime:{4}"
                                                                                                       , info.dwVideoTaskUnitID
                                                                                                       , info.hPlayWnd
                                                                                                       , info.bIsPlayAllFile
                                                                                                       , info.dwStartTime
                                                                                                       , info.dwEndTime
                                                                                                       ));

            m_TfuncPlayPosCB = TfuncPlayPosCB;

            int retVal = IVXSDKProtocol.VdaSdk_PlayBackByTaskUnit(ref info, m_TfuncPlayPosCB, userData);

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


            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXSDKProtocol VdaSdk_PlayBackByTaskUnit ret:" + retVal);
            return(retVal);
        }
Пример #2
0
        public DateTime GetPlayTime(IntPtr hWnd)
        {
            int playhandle = GetPlayHandleByhWnd(hWnd);

            if (playhandle > 0)
            {
                uint outVal = 0;
                Framework.Container.Instance.IVXProtocol.PlayBackControl(playhandle, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_GETPOS, 0, out outVal);
                return(ModelParser.ConvertLinuxTime(outVal));
            }
            return(DateTime.MinValue);
        }
Пример #3
0
        /// <summary>
        /// 设置摘要播放参数
        /// </summary>
        /// <param name="sessionId">播放标示句柄</param>
        /// <param name="param">摘要播放参数</param>
        /// <returns>成功返回TRUE,失败返回FALSE</returns>
        public bool SetBriefPlayParam(int sessionId, BriefPlayParam param)
        {
            TVDASDK_BRIEF_PLAY_PARAM tBriefPlayParam = new TVDASDK_BRIEF_PLAY_PARAM();

            tBriefPlayParam.bIsBriefAllFile = param.IsBriefAllFile;
            tBriefPlayParam.dwMoveObjColor  = param.MoveObjColor;
            tBriefPlayParam.dwMoveObjType   = (uint)param.MoveObjType;
            tBriefPlayParam.dwObjDensity    = (uint)param.ObjDensity;
            tBriefPlayParam.dwEndTime       = ModelParser.ConvertLinuxTime(param.EndTime);
            tBriefPlayParam.dwStartTime     = ModelParser.ConvertLinuxTime(param.StartTime);

            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_SetBriefPlayParam sessionId:{0}"
                                                                                                       + ",bIsBriefAllFile:{1}"
                                                                                                       + ",dwMoveObjColor:{2}"
                                                                                                       + ",dwMoveObjType:{3}"
                                                                                                       + ",dwObjDensity:{4}"
                                                                                                       + ",dwEndTime:{5}"
                                                                                                       + ",dwStartTime:{6}"
                                                                                                       , sessionId
                                                                                                       , tBriefPlayParam.bIsBriefAllFile
                                                                                                       , tBriefPlayParam.dwMoveObjColor
                                                                                                       , tBriefPlayParam.dwMoveObjType
                                                                                                       , tBriefPlayParam.dwObjDensity
                                                                                                       , tBriefPlayParam.dwEndTime
                                                                                                       , tBriefPlayParam.dwStartTime
                                                                                                       ));

            bool bRet = IVXSDKProtocol.VdaSdk_SetBriefPlayParam(sessionId, tBriefPlayParam);

            if (!bRet)
            {
                CheckError();
            }

            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_SetBriefPlayParam ret:{0}"
                                                                                                       , bRet
                                                                                                       ));
            return(bRet);
        }
Пример #4
0
        /// <summary>
        /// 获取当前选中的摘要运动目标信息
        /// </summary>
        /// <param name="sessionId">播放标示句柄</param>
        /// <returns>选中的运动目标相关信息</returns>
        public BriefMoveobjInfo GetSelectBriefMoveObjInfo(int sessionId)
        {
            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_GetSelectBriefMoveObjInfo sessionId:{0}"
                                                                                                       , sessionId
                                                                                                       ));
            TVDASDK_BRIEF_MOVEOBJ_INFO ptBriefMoveObjInfo;

            bool bRet = IVXSDKProtocol.VdaSdk_GetSelectBriefMoveObjInfo(sessionId, out ptBriefMoveObjInfo);

            if (!bRet)
            {
                CheckError();
                // 如果不抛异常, 应该是记录不存在, 返回 null
                return(null);
            }
            BriefMoveobjInfo retVal = new BriefMoveobjInfo();

            retVal.BeginTimeS   = ModelParser.ConvertLinuxTime(ptBriefMoveObjInfo.dwBeginTimeS);
            retVal.EndTimeS     = ModelParser.ConvertLinuxTime(ptBriefMoveObjInfo.dwEndTimeS);
            retVal.MoveObjColor = ptBriefMoveObjInfo.dwMoveObjColor;
            retVal.MoveObjID    = ptBriefMoveObjInfo.dwMoveObjID;
            retVal.MoveObjType  = (E_VDA_MOVEOBJ_TYPE)ptBriefMoveObjInfo.dwMoveObjType;
            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_GetSelectBriefMoveObjInfo ret:{0}"
                                                                                                       + ",BeginTimeS:{1}"
                                                                                                       + ",EndTimeS:{2}"
                                                                                                       + ",MoveObjColor:{3}"
                                                                                                       + ",MoveObjID:{4}"
                                                                                                       + ",MoveObjType:{5}"
                                                                                                       , bRet
                                                                                                       , ptBriefMoveObjInfo.dwBeginTimeS
                                                                                                       , ptBriefMoveObjInfo.dwEndTimeS
                                                                                                       , ptBriefMoveObjInfo.dwMoveObjColor
                                                                                                       , ptBriefMoveObjInfo.dwMoveObjID
                                                                                                       , ptBriefMoveObjInfo.dwMoveObjType
                                                                                                       ));

            return(retVal);
        }
Пример #5
0
        /// <summary>
        /// 下载指定任务单元的视频
        /// </summary>
        /// <param name="downloadInfo">下载信息</param>
        /// <param name="userData"></param>
        /// <returns>下载句柄</returns>
        public Int32 DownloadVideoByTaskUnit(DownloadInfo downloadInfo, UInt32 userData)
        {
            TVDASDK_TASK_UNIT_DOWNLOAD_INFO info = new TVDASDK_TASK_UNIT_DOWNLOAD_INFO();

            info.bIsDownloadAllFile  = downloadInfo.IsDownloadAllFile;
            info.dwEndTime           = ModelParser.ConvertLinuxTime(downloadInfo.EndTime);
            info.dwStartTime         = ModelParser.ConvertLinuxTime(downloadInfo.StartTime);
            info.dwVideoTaskUnitID   = downloadInfo.VideoTaskUnitID;
            info.szLocalSaveFilePath = downloadInfo.LocalSaveFilePath;

            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_DownloadVideoByTaskUnit dwVideoTaskUnitID:{0}"
                                                                                                       + ",szLocalSaveFilePath:{1}"
                                                                                                       + ",bIsDownloadAllFile:{2}"
                                                                                                       + ",dwStartTime:{3}"
                                                                                                       + ",dwEndTime:{4}"
                                                                                                       , info.dwVideoTaskUnitID
                                                                                                       , info.szLocalSaveFilePath
                                                                                                       , info.bIsDownloadAllFile
                                                                                                       , info.dwStartTime
                                                                                                       , info.dwEndTime
                                                                                                       ));

            m_TfuncDownLoadVideoPosCB    = TfuncDownLoadVideoPosCB;
            m_TfuncDownLoadVideoStatusCB = TfuncDownLoadVideoStatusCB;

            int retVal = IVXSDKProtocol.VdaSdk_DownloadVideoByTaskUnit(ref info, m_TfuncDownLoadVideoPosCB, m_TfuncDownLoadVideoStatusCB, userData);

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

            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXSDKProtocol VdaSdk_DownloadVideoByTaskUnit ret:" + retVal);

            return(retVal);
        }