/// <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); }
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); } }