日期:2014-05-18  浏览次数:21086 次

大华流媒体视频监控开发的问题
关于大华流媒体的部分代码
现在遇到的情况是加载二个大华的流媒体播放控件,只有一路能正常的显示

[code=c#]
/// <summary>
  /// 大华流媒体服务器播放
  /// </summary>
  public AxADKRealPlayOcxLib.AxADKRealPlayOcx axADKRealPlayOcx1;
  private bool initDH(Resource resouce) 
  {
  System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CameraDrive));
  this.axADKRealPlayOcx1 = new AxADKRealPlayOcxLib.AxADKRealPlayOcx();
  ((System.ComponentModel.ISupportInitialize)(this.axADKRealPlayOcx1)).BeginInit();
  this.SuspendLayout();
  // 
  // axADKRealPlayOcx1
  // 
  this.axADKRealPlayOcx1.Dock = System.Windows.Forms.DockStyle.Fill;
  this.axADKRealPlayOcx1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axADKRealPlayOcx1.OcxState")));
  this.Controls.Add(this.axADKRealPlayOcx1);
   

  ((System.ComponentModel.ISupportInitialize)(this.axADKRealPlayOcx1)).EndInit();
  this.ResumeLayout(false);
  int mtsID = this.axADKRealPlayOcx1.AddMTSServer("127.0.0.1", 9110, "");//第一次加载时能正常添加流媒体服务器,第二次就无法添加
  this.axADKRealPlayOcx1.SetVideoWndNum(1);
  int ss = this.axADKRealPlayOcx1.RealPlay(mtsID, resouce.IpAddress, resouce.Port, resouce.UserName, resouce.Pwd, 0, 0);
  //MessageBox.Show(ss.ToString());
  if (0 == ss)
  {
  return true;
  }
  else 
  {
  return false;
  }
  }

如何才能解决呢?

------解决方案--------------------
.
------解决方案--------------------
是资源没释放么?
------解决方案--------------------
AxADKRealPlayOcxLib.AxADKRealPlayOcx axADKRealPlayOcx1在方法里添加

------解决方案--------------------
int ss = this.axADKRealPlayOcx1.RealPlay(mtsID, resouce.IpAddress, resouce.Port, resouce.UserName, resouce.Pwd, 0, 0); 

resouce.Pwd 必须是不同控件的句柄