public void VideoFrameReceived(JADA.Frame frmSelf) { MemoryStream myStream = frmSelf.Stream; if (myCallStatus == true) { if (picVideo.InvokeRequired) { picVideo.Invoke(new MethodInvoker(delegate { picVideo.Image = Image.FromStream(myStream); })); } else { picVideo.Image = Image.FromStream(myStream); } } }
public void HandleVideoFrameThread() { int iRet; var frmPtr = new IntPtr(); JADA.Frame frmSelf = null; while (true) { iRet = JADA_ReqGetNextVideoFrame(reqSelf, 15000, ref frmPtr); if (iRet == 0) { try { frmSelf = new JADA.Frame(frmPtr); FrameEventArgs e = new FrameEventArgs(frmSelf); int iFrameType = frmSelf.FrameType; if (iFrameType == JADA.Frame.FRAMETYPE_VIDEO) { EventHandler VideoFrameHandler = this.VideoFrameReceived; if (null != VideoFrameHandler) { VideoFrameHandler(this, e); } } frmSelf.Dispose(); } catch (Exception e) { JADA.Common.LogMessage(String.Format("HandleVideoFrameThread {0}\n{1}", e.Message, e.StackTrace)); // MessageBox.Show("Errore nell'applicazione: i dettagli sono stati salvati nel file di log", "AREAS Customer Assistant"); } finally { if (frmSelf != null) { frmSelf.Dispose(); } } } } }
public FrameEventArgs(JADA.Frame myFrame) { this.Type = myFrame.FrameType; this.Frame = myFrame; }