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

着急啊!大牛们!winform VCap2860sdk的摄像头录像问题
VCap2860sdk中的devwdm.dll已经正确导入
 //导入DLL文件
  [DllImport("devwdm.dll")]
  public static extern int devwdm_InitCard(int nID, IntPtr hwnd, int nWidth, int nHeight);
  [DllImport("devwdm.dll")]
  public static extern int devwdm_CloseCard(int nID);
   
  [DllImport("devwdm.dll")]
  public static extern int devwdm_StartCaptureMp4(int nID, string strFileName, int fbAudio);
  [DllImport("devwdm.dll")]
  public static extern int devwdm_stopCaptureMp4(int nID);
我现在有两个窗体form1,form2,form1中实现了拍照、录像,form1上有个按钮button,点击button,转向form2。form2也进行拍照、录像,拍照没问题,但是录像(函数:devwdm_StartCaptureMp4)去提示尝试读取或写入受保护的内存。这通常指示其他内存一损坏?,只要不录像就不会出现错误,调试很久了,一直都没有解决,各位大神,帮帮忙啊!


------解决方案--------------------
你把devwdm_StartCaptureMp4原始C++定义贴出来。。。
------解决方案--------------------
是不是被拍照的功能给占用了?
------解决方案--------------------
。。求拍照视频源码。。。。。。谢谢了。可以发到我邮箱tj@dianshizhuoyue.com。。。感激不尽。。
------解决方案--------------------
是你录像的函数调用出问题了吧,内存对齐?声明的缓存空间不够?内存访问越界?
------解决方案--------------------
不好判断
------解决方案--------------------
有start就会有end找对应的end方法关闭句柄之类的。问题能解决。
------解决方案--------------------
LONG APIENTRY devwdm_StartCaptureMp4(int nID, char* strFileName);



[DllImport("devwdm.dll", CharSet = CharSet.Ansi)] 
public static extern LONG devwdm_StartCaptureMp4(int nID, string strFileName);
用这个测试下


------解决方案--------------------
http://hi.baidu.com/bjcxv/blog/item/e92c46cbb0ef014af31fe776.html

vc: http://www.codeproject.com/KB/audio-video/vmr9.aspx
------解决方案--------------------
这种问题反正是麻烦,要折磨死人