/// <summary> /// 设置大小模式 /// </summary> /// <param name="Model"></param> public void SetModel(VideoSizeModel Model) { switch (Model) { case VideoSizeModel.W160_H120: Width = 160; Height = 120; break; case VideoSizeModel.W176_H144: Width = 176; Height = 144; break; case VideoSizeModel.W320_H240: Width = 320; Height = 240; break; case VideoSizeModel.W352_H288: Width = 352; Height = 288; break; case VideoSizeModel.W640_H480: Width = 640; Height = 480; break; case VideoSizeModel.W800_H600: Width = 800; Height = 600; break; } }
/// <summary> /// 初始化音视频通信组件 /// </summary> /// <param name="Model">视频显示大小模式</param> public void iniAV(VideoSizeModel Model) { if (!IsIni) { IsIni = true;//标识已经初始化 } else { return; //如果已经初始化,则退出 } if (VC == null) { VC = new VideoCapturer(this.cLocal);//创建新的视频捕捉组件 VC.VideoCapturerBefore += new VideoCapturer.VideoCaptureredEventHandler(VC_VideoCapturerBefore); VC.VideoDataCapturered += new VideoCapturer.VideoCaptureredEventHandler(VC_VideoDataCapturered); VC.StartVideoCapture(Model);//开始捕捉视频 } if (AE == null) { AE = new AudioEncoder();//创建G711音频编解码器 } if (AC == null) { AC = new AudioCapturer(this.trackBarOut, this.trackBarIn);//创建新的音频捕捉组件 AC.AudioDataCapturered += new AudioCapturer.AudioDataCaptureredEventHandler(AC_AudioDataCapturered); } if (AR == null) { AR = new AudioRender();//创建G711音频回放组件 } }
/// <summary> /// 初始化音视频通信组件 /// </summary> /// <param name="Model">视频显示大小模式</param> public void iniAV(VideoSizeModel Model, System.Net.IPEndPoint ServerEP) { if (!IsIni) { IsIni = true;//标识已经初始化 } else { return; //如果已经初始化,则退出 } VideoSize.SetModel(Model); //设置视频编码尺寸 if (cam == null) { iniVideoCapturer(); } #region //创建新的视频捕捉组件 //if (VC == null) //{ // VC = new VideoCapturer(this.cLocal); // VC.VideoCapturerBefore += new VideoCapturer.VideoCaptureredEventHandler(VC_VideoCapturerBefore); // VC.VideoDataCapturered += new VideoCapturer.VideoCaptureredEventHandler(VC_VideoDataCapturered); // VC.StartVideoCapture(Model);//开始捕捉视频 //} #endregion if (AE == null) { AE = new AudioEncoder();//创建G711音频编解码器 } if (AC == null) { AC = new AudioCapturer(this.trackBarOut, this.trackBarIn);//创建新的音频捕捉组件 AC.AudioDataCapturered += new AudioCapturer.AudioDataCaptureredEventHandler(AC_AudioDataCapturered); } if (AR == null) { AR = new AudioRender();//创建G711音频回放组件 } if (frameTransmit == null) { frameTransmit = new FrameTransmit(ServerEP); frameTransmit.GetIPEndPoint += new FrameTransmit.GetIPEndPointEventHandler(frameTransmit_GetIPEndPoint); frameTransmit.RecAudioData += new FrameTransmit.RecDataEventHandler(frameTransmit_RecAudioData); frameTransmit.RecVideoData += new FrameTransmit.RecDataEventHandler(frameTransmit_RecVideoData); frameTransmit.TransmitConnected += new FrameTransmit.TransmitEventHandler(frameTransmit_TransmitConnected); frameTransmit.Start(); } }
/// <summary> /// 开始视频捕获 /// </summary> /// <param name="videoSizeModel"></param> public void StartVideoCapture(VideoSizeModel videoSizeModel) { CapturerSize.SetModel(videoSizeModel); StartVideoCapture(); }
/// <summary> /// 设置大小模式 /// </summary> /// <param name="Model">视频显示尺寸大小</param> public VideoCapturerSize(VideoSizeModel Model) { SetModel(Model); }
/// <summary> /// 初始化音视频通信组件 /// </summary> /// <param name="Model">视频显示大小模式</param> public void iniAV(VideoSizeModel Model) { if (!IsIni) IsIni = true;//标识已经初始化 else return; //如果已经初始化,则退出 if (VC == null) { VC = new VideoCapturer(this.cLocal);//创建新的视频捕捉组件 VC.VideoCapturerBefore += new VideoCapturer.VideoCaptureredEventHandler(VC_VideoCapturerBefore); VC.VideoDataCapturered += new VideoCapturer.VideoCaptureredEventHandler(VC_VideoDataCapturered); VC.StartVideoCapture(Model);//开始捕捉视频 } if (AE == null) { AE = new AudioEncoder();//创建G711音频编解码器 } if (AC == null) { AC = new AudioCapturer(this.trackBarOut, this.trackBarIn);//创建新的音频捕捉组件 AC.AudioDataCapturered += new AudioCapturer.AudioDataCaptureredEventHandler(AC_AudioDataCapturered); } if (AR == null) { AR = new AudioRender();//创建G711音频回放组件 } }
/// <summary> /// 初始化音视频通信组件 /// </summary> /// <param name="Model">视频显示大小模式</param> public void iniAV(VideoSizeModel Model, System.Net.IPEndPoint ServerEP) { if (!IsIni) IsIni = true;//标识已经初始化 else return; //如果已经初始化,则退出 VideoSize.SetModel(Model);//设置视频编码尺寸 if (cam == null) iniVideoCapturer(); #region //创建新的视频捕捉组件 //if (VC == null) //{ // VC = new VideoCapturer(this.cLocal); // VC.VideoCapturerBefore += new VideoCapturer.VideoCaptureredEventHandler(VC_VideoCapturerBefore); // VC.VideoDataCapturered += new VideoCapturer.VideoCaptureredEventHandler(VC_VideoDataCapturered); // VC.StartVideoCapture(Model);//开始捕捉视频 //} #endregion if (AE == null) { AE = new AudioEncoder();//创建G711音频编解码器 } if (AC == null) { AC = new AudioCapturer(this.trackBarOut, this.trackBarIn);//创建新的音频捕捉组件 AC.AudioDataCapturered += new AudioCapturer.AudioDataCaptureredEventHandler(AC_AudioDataCapturered); } if (AR == null) { AR = new AudioRender();//创建G711音频回放组件 } if (frameTransmit == null) { frameTransmit = new FrameTransmit(ServerEP); frameTransmit.GetIPEndPoint += new FrameTransmit.GetIPEndPointEventHandler(frameTransmit_GetIPEndPoint); frameTransmit.RecAudioData += new FrameTransmit.RecDataEventHandler(frameTransmit_RecAudioData); frameTransmit.RecVideoData += new FrameTransmit.RecDataEventHandler(frameTransmit_RecVideoData); frameTransmit.TransmitConnected += new FrameTransmit.TransmitEventHandler(frameTransmit_TransmitConnected); frameTransmit.Start(); } }
/// <summary> /// 初始化音视频通信组件 /// </summary> /// <param name="Model">视频显示大小模式</param> public void iniAV(VideoSizeModel Model) { if (!IsIni) IsIni = true;//标识已经初始化 else return; //如果已经初始化,则退出 if (WebCam == null) { DsDevice[] capDevices = DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice); if (capDevices.Length>0) { codeinfo = GetEncoderInfo("image/jpeg"); ep = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, (long)64); coderpam = new EncoderParameters(1); coderpam.Param[0] = ep; try { WebCam = new HuaSDKSolution.DirectShow.Capture(0, 0, 320, 240); WebCam.Start(); } catch (Exception ex) { WebCam.Dispose(); WebCam = null; MsgBox.Show("CSS&IM", ex.Message + " 当前系统摄像头正在使用!"); } } } if (AE == null) { AE = new AudioEncoder();//创建G711音频编解码器 } if (AC == null) { AC = new AudioCapturer(this.trackBar1, this.trackBar2);//创建新的音频捕捉组件 AC.AudioDataCapturered += new AudioCapturer.AudioDataCaptureredEventHandler(AC_AudioDataCapturered); } if (AR == null) { try { AR = new CSS.IM.Library.AV.Controls.AudioRender();//创建G711音频回放组件 } catch (Exception) { AR = null; } } sendding = true; sendthread = new Thread(this.Sending); sendthread.Start(); }