Beispiel #1
0
        public void PlayVideo(DateTime dtStart, DateTime dtEnd)
        {
            //if (!CheckPlayStatus(m_player.HWnd))
            //{
            //    return;
            //}
            VideoStatusInfo last_e = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);

            m_player.PlayVideoName = CurrFile.TaskUnitName;
            m_player.IsSuitWnd     = false;
            m_player.EnabledEx     = false;
            m_player.SetStatusText("");
            try
            {
                // Framework.Container.Instance.GraphicDrawService.HPlayWnd = m_player.HWnd;
                Framework.Container.Instance.VideoPlayService.OpenVideo(m_player.HWnd, CurrFile.TaskUnitID);
                uint w = 0;
                uint h = 0;
                Framework.Container.Instance.VideoPlayService.GetPlayResolution(m_player.HWnd, out w, out h);
                m_player.SetPlayResolution(w, h);

                Framework.Container.Instance.VideoPlayService.PlayVideoPartialFile(m_player.HWnd, CurrFile.TaskUnitID, dtStart, dtEnd);
            }
            catch (SDKCallException ex)
            {
                m_player.PlayVideoName = "";
                m_player.EnabledEx     = false;
                Common.SDKCallExceptionHandler.Handle(ex, "播放视频");
            }
            UpdateButtonStatus(m_player.HWnd);
        }
        public void EditVideo()
        {
            VideoStatusInfo videoStatusInfo = Framework.Container.Instance.VideoPlayService.GetPlayStatus(CurrPlayer.HWnd);

            if (videoStatusInfo != null)
            {
                if (videoStatusInfo.PlayState != VideoStatusType.E_STOP)
                {
                    StopVideo();
                }

                TaskUnitInfo taskunit = Framework.Container.Instance.TaskManagerService.GetTaskUnitById(videoStatusInfo.VideoTaskUnitID);

                try
                {
                    FormVideoEdit edit = new FormVideoEdit(taskunit
                                                           , taskunit.StartTime
                                                           , taskunit.StartTime.AddSeconds(videoStatusInfo.TotlePlayTime));
                    edit.ShowDialog();
                }
                catch (Exception ex)
                {
                    SDKCallExceptionHandler.Handle(ex, "导出视频", true);
                }
            }
        }
        private void OnPlayReady(VideoStatusInfo info)
        {
            bool             isFind = false;
            XtraSinglePlayer player = null;

            foreach (KeyValuePair <int, XtraSinglePlayer> pair in m_playerList)
            {
                if (pair.Value.HWnd == info.HWnd)
                {
                    player = pair.Value;
                    isFind = true;
                    break;
                }
            }


            if (!isFind)
            {
                return;
            }

            player.EnabledEx = true;
            player.SetStatusText("");
            UpdateButtonStatus(info.HWnd);
        }
        public void PosVideo(uint pos, uint max)
        {
            try
            {
                if (max != 1000)
                {
                    VideoStatusInfo e
                        = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);

                    uint newpos = (e.StartPlayTime + pos) * 1000 / e.TotlePlayTime;
                    newpos = Math.Min(newpos, 1000);
                    Framework.Container.Instance.VideoPlayService.SetPlayPos(m_player.HWnd, newpos);
                }
                else
                {
                    Framework.Container.Instance.VideoPlayService.SetPlayPos(m_player.HWnd, pos);
                }

                //VideoStatusInfo e
                //    = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);
                //uint newpos = (e.StartPlayTime + pos) * 1000 / e.TotlePlayTime;
                //newpos = Math.Min(newpos, 1000);
                //Framework.Container.Instance.VideoPlayService.SetPlayPos(m_player.HWnd, newpos);
            }
            catch (SDKCallException ex)
            {
                Common.SDKCallExceptionHandler.Handle(ex, "定位播放");
            }
        }
        private void OnPlayReady(VideoStatusInfo info)
        {
            bool             isFind = false;
            XtraSinglePlayer player = null;

            if (m_player.HWnd == info.HWnd)
            {
                player = m_player;
                isFind = true;
            }


            if (!isFind)
            {
                return;
            }
            player.EnabledEx = true;
            player.SetStatusText("");
            try
            {
                player.PlayVideoName = Framework.Container.Instance.TaskManagerService.GetTaskUnitById(info.VideoTaskUnitID).TaskUnitName;
                UpdateButtonStatus(info.HWnd);
                //Framework.Container.Instance.GraphicDrawService.SetPlayDrawType(m_drawMode);
            }
            catch (SDKCallException ex)
            {
                Common.SDKCallExceptionHandler.Handle(ex, "根据编号获取任务单元");
            }
        }
Beispiel #6
0
        public void PlayVideo(IntPtr hWnd, uint taskUnitID, DateTime startTime = new DateTime(), DateTime endTime = new DateTime())
        {
            int playhandle = OpenVideo(hWnd, taskUnitID, startTime, endTime);

            if (playhandle > 0)
            {
                uint outval = 0;
                Framework.Container.Instance.IVXProtocol.PlayBackControl(playhandle, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_START, 0, out outval);
                VideoStatusInfo statinfo = new VideoStatusInfo();
                statinfo.VideoTaskUnitID = taskUnitID;
                statinfo.CurrPlayTime    = 0;
                statinfo.HWnd            = hWnd;
                statinfo.PlaySpeed       = E_VDA_PLAY_SPEED.E_PLAYSPEED_NORMALSPEED;
                statinfo.PlayState       = VideoStatusType.E_NORMAL;
                statinfo.PlayVideoHandle = playhandle;
                //Framework.Container.Instance.IVXProtocol.PlayBackControl(playhandle, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_GETTIME_RANGE, 0, out outval);
                //statinfo.TotlePlayTime = outval;
                //statinfo.StartPlayTime = Protocol.Model.ModelParser.ConvertLinuxTime(startTime);
                //statinfo.EndPlayTime = Protocol.Model.ModelParser.ConvertLinuxTime(endTime);

                m_DTVideoStatusList[playhandle] = statinfo;
                m_DTVideoHandleList[playhandle] = hWnd;
                PlayReady(playhandle);
            }
        }
        private static bool CheckPlayStatus(IntPtr hWnd)
        {
            bool bRet = false;

            VideoStatusInfo statusinfo = null;

            try
            {
                statusinfo = Framework.Container.Instance.BriefVideoPlayService.GetPlayStatus(hWnd);
            }
            catch (SDKCallException ex)
            {
                SDKCallExceptionHandler.Handle(ex, "获取摘要播放状态");
                statusinfo = null;
            }

            if (statusinfo != null && statusinfo.PlayState != VideoStatusType.E_READY)
            {
                bRet = true;
            }
            else
            {
                Framework.Container.Instance.InteractionService.ShowMessageBox("摘要播放服务正忙,请稍后再试。", Framework.Environment.PROGRAM_NAME, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Asterisk);
            }

            return(bRet);
        }
        public void PlayOrPauseVideo()
        {
            try
            {
                VideoStatusInfo e
                    = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);

                if (e.PlayState == VideoStatusType.E_NORMAL)
                {
                    Framework.Container.Instance.VideoPlayService.VideoControl(m_player.HWnd, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_PAUSE, 0);
                    m_player.SetStatusText("暂停");
                }
                else if (e.PlayState == VideoStatusType.E_PAUSE)
                {
                    Framework.Container.Instance.VideoPlayService.VideoControl(m_player.HWnd, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_RESUME, 0);
                    m_player.SetStatusText("");
                }
                else if (e.PlayState == VideoStatusType.E_STOP)
                {
                    ReplayBackVideo();
                }
            }
            catch (SDKCallException ex)
            {
                Common.SDKCallExceptionHandler.Handle(ex, "播放或暂停视频");
            }

            UpdateButtonStatus(m_player.HWnd);
        }
Beispiel #9
0
        /// <summary>
        ///
        /// </summary>
        public void FinishBriefEdit()
        {
            try
            {
                Framework.Container.Instance.BriefVideoPlayService.FinishBriefEdit(
                    m_player.HWnd,
                    m_briefDensityFilter,
                    BriefMoveObjTypeFilter,
                    (uint)Framework.Container.Instance.ColorService.GetObjectColorIndex(Color.FromArgb(BriefdwMoveObjColorFilter)),
                    StartTime,
                    EndTime);
                Framework.Container.Instance.BriefVideoPlayService.VideoControl(m_player.HWnd, E_VDA_BRIEF_PLAYCTRL_TYPE.E_BRIEF_PLAYCTRL_START, 0);
                AreaOverlayer   = lastAreaOverlayer;
                AvtionOverlayer = lastActionOverlayer;

                m_player.SetStatusText("");
                VideoStatusInfo e
                    = Framework.Container.Instance.BriefVideoPlayService.GetPlayStatus(m_player.HWnd);
                SetPlayVideoBtnStatus(e);
            }
            catch (SDKCallException ex)
            {
                Common.SDKCallExceptionHandler.Handle(ex, "摘要视频完成设置");
            }
        }
Beispiel #10
0
        private void OnPlaySynthFailed(VideoStatusInfo info)
        {
            bool isFind = false;

            if (m_player.HWnd == info.HWnd)
            {
                isFind = true;
            }


            if (!isFind)
            {
                return;
            }

            CloseBriefVideo();
            //StopBriefVideo();
            if (info.ErrorCode == DataModel.Common.APPERR_BVODS_BRIEF_OBJECT_NULL)
            {
                Common.SDKCallExceptionHandler.Handle(new SDKCallException(info.ErrorCode, IVXProtocol.GetErrorMsg(info.ErrorCode)), "摘要合成", false);
                string msg = string.Format("您设置的条件下无摘要目标,请重新设置。");
                Framework.Container.Instance.InteractionService.ShowMessageBox(msg, Framework.Environment.PROGRAM_NAME,
                                                                               System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
                PlayBriefVideo();
            }
            else
            {
                Common.SDKCallExceptionHandler.Handle(new SDKCallException(info.ErrorCode, IVXProtocol.GetErrorMsg(info.ErrorCode)), "摘要合成");
            }
            //Framework.Container.Instance.InteractionService.ShowMessageBox("摘要合成失败。", Framework.Environment.PROGRAM_NAME);
        }
Beispiel #11
0
        public void CloseBriefVideo()
        {
            if (!CheckPlayStatus(m_player.HWnd))
            {
                return;
            }

            try
            {
                Framework.Container.Instance.BriefVideoPlayService.StopVideo(m_player.HWnd);
                m_player.SetStatusText("");
                m_player.EnabledEx     = false;
                m_player.PlayVideoName = "";
                TimeInfo = "00:00:00/00:00:00";

                m_currBriefTaskUnitID = 0;
                VideoStatusInfo e
                    = Framework.Container.Instance.BriefVideoPlayService.GetPlayStatus(m_player.HWnd);
                SetPlayVideoBtnStatus(e);
            }
            catch (SDKCallException ex)
            {
                Common.SDKCallExceptionHandler.Handle(ex, "关闭播放摘要视频");
            }
        }
        public void EditVideo()
        {
            VideoStatusInfo videoStatusInfo = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);

            if (videoStatusInfo != null)
            {
                if (videoStatusInfo.PlayState != VideoStatusType.E_STOP)
                {
                    StopVideo();
                }

                TaskUnitInfo taskunit = Framework.Container.Instance.TaskManagerService.GetTaskUnitById(videoStatusInfo.VideoTaskUnitID);

                try
                {
                    FormVideoEdit edit = new FormVideoEdit(taskunit
                                                           , m_currStartTime
                                                           , m_currEndTime);
                    edit.ShowDialog();
                }
                catch (Exception ex)
                {
                    BOCOM.IVX.Common.SDKCallExceptionHandler.Handle(ex, "导出视频", true);
                }

                //return;
            }
        }
Beispiel #13
0
        private void OnPlayPosChanged(VideoStatusInfo info)
        {
            bool             isFind = false;
            XtraSinglePlayer player = null;

            if (m_player.HWnd == info.HWnd)
            {
                player = m_player;
                isFind = true;
            }


            if (!isFind)
            {
                return;
            }

            UpdateButtonStatus(info.HWnd);
            TimeInfo = string.Format("{0}/{1}", new DateTime().AddSeconds(info.CurrPlayTime).ToString("HH:mm:ss"), new DateTime().AddSeconds(info.TotlePlayTime).ToString("HH:mm:ss"));
            RaisePropertyChangedEvent("TimeInfo");

            if (info.PlayState == VideoStatusType.E_STOP)
            {
                //player.PlayVideoName = "";
                player.EnabledEx = false;
                player.SetStatusText("");
            }
            else
            {
                if (PlayPosChange != null)
                {
                    PlayPosChange(player, info.CurrPlayTime, info.TotlePlayTime);
                }
            }
        }
Beispiel #14
0
        /// <summary>
        /// 用本地播放定位实现播放文件中一段时间视频的功能
        /// </summary>
        /// <param name="hWnd"></param>
        /// <param name="taskUnitID"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        public void PlayVideoPartialFile(IntPtr hWnd, uint taskUnitID, DateTime startTime = new DateTime(), DateTime endTime = new DateTime())
        {
            int playhandle = OpenVideo(hWnd, taskUnitID, startTime, endTime, false);

            try
            {
                uint outval = 0;
                Framework.Container.Instance.IVXProtocol.PlayBackControl(playhandle, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_STOP, 0, out outval);
            }
            catch (SDKCallException)
            { }
            if (playhandle > 0)
            {
                uint            outval   = 0;
                VideoStatusInfo statinfo = new VideoStatusInfo();
                statinfo.CurrPlayTime      = 0;
                statinfo.VideoTaskUnitID   = taskUnitID;
                statinfo.HWnd              = hWnd;
                statinfo.PlaySpeed         = E_VDA_PLAY_SPEED.E_PLAYSPEED_NORMALSPEED;
                statinfo.OriginalPlayState = E_VDA_PLAY_STATUS.E_PLAY_STATUS_NORMAL;
                statinfo.PlayStatePriv     = VideoStatusType.E_NULL;
                statinfo.PlayState         = VideoStatusType.E_NORMAL;
                statinfo.PlayVideoHandle   = playhandle;
                Framework.Container.Instance.IVXProtocol.PlayBackControl(playhandle, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_GETTIME_RANGE, 0, out outval);
                statinfo.TotlePlayTime = outval;

                TaskUnitInfo taskunitinfo = Framework.Container.Instance.TaskManagerService.GetTaskUnitById(taskUnitID);
                if (startTime > DataModel.Common.ZEROTIME)
                {
                    statinfo.StartPlayTime = (uint)Math.Max(startTime.Subtract(taskunitinfo.StartTime).TotalSeconds, 0);
                }
                else
                {
                    statinfo.StartPlayTime = (uint)Math.Max(startTime.Subtract(new DateTime()).TotalSeconds, 0);
                }

                if (endTime > DataModel.Common.ZEROTIME)
                {
                    statinfo.EndPlayTime = (uint)endTime.Subtract(taskunitinfo.StartTime).TotalSeconds;
                }
                else
                {
                    statinfo.EndPlayTime = (uint)endTime.Subtract(new DateTime()).TotalSeconds;
                }


                Debug.Assert(statinfo.StartPlayTime <= statinfo.TotlePlayTime && statinfo.EndPlayTime <= statinfo.TotlePlayTime);

                uint startpos = 1000 * statinfo.StartPlayTime / statinfo.TotlePlayTime;
                Framework.Container.Instance.IVXProtocol.PlayBackControl(playhandle, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_PLAY_BY_SEEK, startpos, out outval);


                m_DTVideoStatusList[playhandle] = statinfo;
                m_DTVideoHandleList[playhandle] = hWnd;

                PlayReady(playhandle);
            }
        }
        private void OnTaskUnitDeleted(uint taskUnitId)
        {
            VideoStatusInfo e = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);

            if (e.VideoTaskUnitID == taskUnitId)
            {
                CloseVideo();
            }
        }
Beispiel #16
0
        public void PlayVideo()
        {
            int startIndex = -1;

            foreach (KeyValuePair <int, XtraSinglePlayer> pair in m_playerList)
            {
                if (pair.Value == CurrPlayer)
                {
                    startIndex = pair.Key;
                }
            }
            if (startIndex < 0)
            {
                return;
            }


            foreach (TaskUnitInfo info in SelectedFiles)
            {
                //if (!CheckPlayStatus(m_playerList[startIndex].HWnd))
                //{
                //    continue;
                //}

                m_playerList[startIndex].PlayVideoName = info.TaskUnitName;
                m_playerList[startIndex].IsSuitWnd     = false;
                m_playerList[startIndex].EnabledEx     = false;
                m_playerList[startIndex].SetStatusText("");
                try
                {
                    Framework.Container.Instance.VideoPlayService.OpenVideo(m_playerList[startIndex].HWnd, info.TaskUnitID);
                    uint w = 0;
                    uint h = 0;
                    Framework.Container.Instance.VideoPlayService.GetPlayResolution(m_playerList[startIndex].HWnd, out w, out h);
                    m_playerList[startIndex].SetPlayResolution(w, h);

                    Framework.Container.Instance.VideoPlayService.PlayVideo(m_playerList[startIndex].HWnd, info.TaskUnitID);

                    VideoStatusInfo e
                        = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_playerList[startIndex].HWnd);
                    SetPlayVideoBtnStatus(e);
                }
                catch (SDKCallException ex)
                {
                    m_playerList[startIndex].PlayVideoName = "";
                    m_playerList[startIndex].EnabledEx     = false;
                    SDKCallExceptionHandler.Handle(ex, "播放视频");
                }
                startIndex++;
                if (startIndex >= MAX_WINDOW_COUNT)
                {
                    startIndex = 1;
                }
            }
        }
Beispiel #17
0
 private void OnTaskUnitDeleted(uint taskunitid)
 {
     foreach (KeyValuePair <int, XtraSinglePlayer> pair in m_playerList)
     {
         VideoStatusInfo e
             = Framework.Container.Instance.VideoPlayService.GetPlayStatus(pair.Value.HWnd);
         if (e.VideoTaskUnitID == taskunitid)
         {
             CloseVideo(pair.Value);
         }
     }
 }
 private void UpdateButtonStatus(IntPtr hWnd)
 {
     try
     {
         VideoStatusInfo e = Framework.Container.Instance.VideoPlayService.GetPlayStatus(hWnd);
         SetPlayVideoBtnStatus(e);
     }
     catch (SDKCallException ex)
     {
         Common.SDKCallExceptionHandler.Handle(ex, "获取播放状态");
     }
 }
Beispiel #19
0
        void IVXProtocol_EventPlayPos(int vodHandle, E_VDA_PLAY_STATUS playState, uint playPercent, uint curPlayTime, uint userData)
        {
            if (m_DTVideoHandleList.ContainsKey(vodHandle))
            {
                //BOCOM.IVX.Model.VideoProgressInfo info = new Model.VideoProgressInfo();

                VideoStatusInfo info = m_DTVideoStatusList[vodHandle];
                info.CurrPlayTime      = curPlayTime;
                info.OriginalPlayState = playState;
                info.PlayPercent       = playPercent;
                info.UserData          = userData;

                if (playState == E_VDA_PLAY_STATUS.E_PLAY_STATUS_FAILED)
                {
                    info.PlayStatePriv = info.PlayState;
                    info.PlayState     = VideoStatusType.E_NULL;
                    Framework.Container.Instance.EvtAggregator.GetEvent <PlayFailedEvent>().Publish(info);
                    return;
                }
                else if (playState == E_VDA_PLAY_STATUS.E_PLAY_STATUS_FINISH)
                {
                    info.PlayStatePriv = info.PlayState;
                    info.PlayState     = VideoStatusType.E_STOP;
                }
                //else if (playState == E_VDA_PLAY_STATUS.E_PLAY_STATUS_STARTPLAY_READY)
                //{
                //    info.PlayStatePriv = info.PlayState;
                //    info.PlayState = VideoStatusType.E_NORMAL;
                //    uint val = 0;
                //    Framework.Container.Instance.IVXProtocol.PlayBackControl(vodHandle, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_GETTIME_RANGE, 0, out val);
                //    info.TotlePlayTime = val;
                //    Framework.Container.Instance.EvtAggregator.GetEvent<PlayReadyEvent>().Publish(info);
                //    return;

                //}

                if (info.TotlePlayTime != 0)
                {
                    uint endpos = 1000 * info.EndPlayTime / info.TotlePlayTime;

                    if (endpos > 0 && playPercent > endpos)
                    {
                        uint outval = 0;
                        Framework.Container.Instance.IVXProtocol.PlayBackControl(vodHandle, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_STOP, 0, out outval);
                        info.PlayStatePriv = info.PlayState;
                        info.PlayState     = VideoStatusType.E_STOP;
                    }
                }

                Framework.Container.Instance.EvtAggregator.GetEvent <PlayPosChangedEvent>().Publish(info);
            }
        }
        public void PlayOrPauseVideo()
        {
            try
            {
                VideoStatusInfo e
                    = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);

                if (e.PlayState == VideoStatusType.E_NORMAL)
                {
                    Framework.Container.Instance.VideoPlayService.VideoControl(m_player.HWnd, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_PAUSE, 0);
                    m_player.SetStatusText("暂停");
                }
                else if (e.PlayState == VideoStatusType.E_PAUSE)
                {
                    Framework.Container.Instance.VideoPlayService.VideoControl(m_player.HWnd, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_RESUME, 0);
                    m_player.SetStatusText(GetSpeedText((int)e.PlaySpeed));
                }
                else if (e.PlayState == VideoStatusType.E_STOP)
                {
                    if (e.StartPlayTime == 0 && e.EndPlayTime == 0)
                    {
                        Framework.Container.Instance.VideoPlayService.VideoControl(m_player.HWnd, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_START, 0);
                        m_player.EnabledEx = true;
                        m_player.SetStatusText("");
                    }
                    else
                    {
                        ReplayBackVideo();
                    }
                }
                else if (e.PlayState == VideoStatusType.E_SPEED)
                {
                    Framework.Container.Instance.VideoPlayService.VideoControl(m_player.HWnd, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_PAUSE, 0);
                    m_player.SetStatusText("暂停");
                }
                else if (e.PlayState == VideoStatusType.E_STEP || e.PlayState == VideoStatusType.E_STEP_BACK)
                {
                    Framework.Container.Instance.VideoPlayService.VideoControl(m_player.HWnd, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_RESUME, 0);
                    m_player.SetStatusText(GetSpeedText((int)e.PlaySpeed));
                }

                VideoStatusInfo e1
                    = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);
                SetPlayVideoBtnStatus(e1);
            }
            catch (SDKCallException ex)
            {
                Common.SDKCallExceptionHandler.Handle(ex, "播放或暂停视频");
            }
        }
Beispiel #21
0
        private void PlayReady(int vodHandle)
        {
            if (m_DTVideoHandleList.ContainsKey(vodHandle))
            {
                VideoStatusInfo info = m_DTVideoStatusList[vodHandle];

                info.PlayStatePriv = info.PlayState;
                info.PlayState     = VideoStatusType.E_NORMAL;
                uint val = 0;
                Framework.Container.Instance.IVXProtocol.PlayBackControl(vodHandle, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_GETTIME_RANGE, 0, out val);
                info.TotlePlayTime = val;
                Framework.Container.Instance.EvtAggregator.GetEvent <PlayReadyEvent>().Publish(info);
            }
        }
Beispiel #22
0
 public void ContinueVideo()
 {
     try
     {
         VideoStatusInfo e = Framework.Container.Instance.VideoPlayService.GetPlayStatus(CurrPlayer.HWnd);
         Framework.Container.Instance.VideoPlayService.VideoControl(CurrPlayer.HWnd, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_RESUME, 0);
         CurrPlayer.SetStatusText(GetSpeedText((int)e.PlaySpeed));
         UpdateButtonStatus(CurrPlayer.HWnd);
     }
     catch (SDKCallException ex)
     {
         Common.SDKCallExceptionHandler.Handle(ex, "恢复播放视频");
     }
 }
        public void PlayVideo()
        {
            //if (!CheckPlayStatus(m_player.HWnd))
            //{
            //    return;
            //}
            bool            needResetDrawType = true;
            VideoStatusInfo last_e            = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);

            if (last_e != null && last_e.VideoTaskUnitID == CurrFile.TaskUnitID && SearchType != SearchResourceResultType.Normal)
            {
                needResetDrawType = false;
            }


            m_player.PlayVideoName = CurrFile.TaskUnitName;
            m_player.IsSuitWnd     = false;
            m_player.EnabledEx     = false;
            m_player.SetStatusText("");
            try
            {
                if (SearchType == SearchResourceResultType.Normal)
                {
                    Framework.Container.Instance.GraphicDrawService.HPlayWnd = m_player.HWnd;
                }
                Framework.Container.Instance.VideoPlayService.OpenVideo(m_player.HWnd, CurrFile.TaskUnitID);
                uint w = 0;
                uint h = 0;
                Framework.Container.Instance.VideoPlayService.GetPlayResolution(m_player.HWnd, out w, out h);
                m_player.SetPlayResolution(w, h);

                m_currStartTime = CurrFile.StartTime;
                m_currEndTime   = CurrFile.EndTime;

                Framework.Container.Instance.VideoPlayService.PlayVideo(m_player.HWnd, CurrFile.TaskUnitID);

                if (needResetDrawType)
                {
                    Framework.Container.Instance.GraphicDrawService.SetPlayDrawType(m_drawMode);
                }
            }
            catch (SDKCallException ex)
            {
                m_player.PlayVideoName = "";
                m_player.EnabledEx     = false;
                Common.SDKCallExceptionHandler.Handle(ex, "播放视频");
            }
            UpdateButtonStatus(m_player.HWnd);
        }
 public void StopVideo()
 {
     try
     {
         Framework.Container.Instance.VideoPlayService.VideoControl(m_player.HWnd, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_STOP, 0);
         m_player.SetStatusText("停止");
         m_player.EnabledEx = false;
         VideoStatusInfo e = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);
         SetPlayVideoBtnStatus(e);
     }
     catch (SDKCallException ex)
     {
         Common.SDKCallExceptionHandler.Handle(ex, "停止视频");
     }
 }
Beispiel #25
0
 public void FastBriefVideo()
 {
     try
     {
         int speed = Framework.Container.Instance.BriefVideoPlayService.SetPlaySpeedAdd(m_player.HWnd);
         m_player.SetStatusText(GetSpeedText(speed));
         VideoStatusInfo e
             = Framework.Container.Instance.BriefVideoPlayService.GetPlayStatus(m_player.HWnd);
         SetPlayVideoBtnStatus(e);
     }
     catch (SDKCallException ex)
     {
         Common.SDKCallExceptionHandler.Handle(ex, "摘要视频快放");
     }
 }
Beispiel #26
0
 public void CloseVideo()
 {
     try
     {
         Framework.Container.Instance.VideoPlayService.StopVideo(m_player.HWnd);
         m_player.PlayVideoName = "";
         m_player.EnabledEx     = false;
         m_player.SetStatusText("");
         VideoStatusInfo e = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);
         SetPlayVideoBtnStatus(e);
     }
     catch (SDKCallException ex)
     {
         Common.SDKCallExceptionHandler.Handle(ex, "关闭视频");
     }
 }
 public void PauseVideo()
 {
     try
     {
         Framework.Container.Instance.VideoPlayService.VideoControl(m_player.HWnd, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_PAUSE, 0);
         m_player.SetStatusText("暂停");
         VideoStatusInfo e = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);
         SetPlayVideoBtnStatus(e);
     }
     catch (SDKCallException ex)
     {
         m_player.PlayVideoName = "";
         m_player.EnabledEx     = false;
         Common.SDKCallExceptionHandler.Handle(ex, "暂停视频");
     }
 }
        private void OnPlayFailed(VideoStatusInfo info)
        {
            bool isFind = false;

            if (m_player.HWnd == info.HWnd)
            {
                isFind = true;
            }

            if (!isFind)
            {
                return;
            }

            CloseVideo();
        }
        public void ReplayBackVideo()
        {
            VideoStatusInfo e = null;

            try
            {
                e = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);
            }
            catch (SDKCallException ex)
            {
                BOCOM.IVX.Common.SDKCallExceptionHandler.Handle(ex, "获取播放状态");
            }
            if (e != null)
            {
                PlayVideo(m_currStartTime, m_currEndTime);
            }
        }
 public void ContinueVideo()
 {
     try
     {
         VideoStatusInfo e = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);
         Framework.Container.Instance.VideoPlayService.VideoControl(m_player.HWnd, E_VDA_PLAYCTRL_TYPE.E_PLAYCTRL_RESUME, 0);
         m_player.SetStatusText(GetSpeedText((int)e.PlaySpeed));
         VideoStatusInfo e1 = Framework.Container.Instance.VideoPlayService.GetPlayStatus(m_player.HWnd);
         SetPlayVideoBtnStatus(e1);
     }
     catch (SDKCallException ex)
     {
         m_player.PlayVideoName = "";
         m_player.EnabledEx     = false;
         Common.SDKCallExceptionHandler.Handle(ex, "恢复播放视频");
     }
 }