通过web向ocx传递rtsp地址,出现的情况是点击播放按钮后web重新载入页面
由于ocx开发不能单步调试,所以很难发现错误根源,但还好web崩溃后进入了vs调试,跟踪发现传入的rtsp流不能传到ffplay调用那边
弄了好久,不论是使用静态变量,还是怎么样,后来想起来阅读过http://my.youkuaiyun.com/sooth2008 sooth2008的空间,得到帮助,
解决办法是定义接口的时候参数类型写类似LONG CVideoOcxCtrl::Input_Rtsp_Stream_String(LPCTSTR rtsp_string),LPCTSTR类型的变量,
然后将这个串解析开来:
char rtsp_url[60];
for(int i = 0;i<wcslen((wchar_t*)rtsp_string) + 1;i++)
{
#pragma warning(disable:4244)
*(rtsp_url + i) = *(((wchar_t*)rtsp_string + i));
#pragma warning(default:4244)
}
最后使用这个rtsp_url的串里面就存好了rtsp的地址,然后拿去用就好了。
上面的代码还没有太仔细看,不过关于#pragma的用法,网上还是很多的。