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