WEB开发网
开发学院软件开发C语言 C# 视频监控系列(8):服务器端——预览和可被客... 阅读

C# 视频监控系列(8):服务器端——预览和可被客户端连接

 2009-04-08 08:23:42 来源:WEB开发网   
核心提示: 代码说明: 1. 将Form2_Load中最后一行代码StartVideoPreview替换成PreviewAndClientConnect调用即可, 2. 调用注释前面带了"[必须]"的方法是必须调用的,C# 视频监控系列(8):服务器端——预览和可被客户端连接(6

代码说明:

1.     将Form2_Load中最后一行代码StartVideoPreview替换成PreviewAndClientConnect调用即可。

2.     调用注释前面带了"[必须]"的方法是必须调用的,而被我的注释掉的方法参照源代码可以加也可以不加,因为他是有默认设置的。

3.     MakeIFrame这个回调函数是客户端连接服务器的关键,如果没有执行这个回调客户端将不能够连接并显示画面!

4.     STREAM_DIRECT_READ_CALLBACK1回调函数在VC++代码说明里面已经说明了,因为本章不写视频存储,所以把其他代码都注释掉了,只管往内存写数据就行了。

注意

1.     StartVideoPreview的参数用结构体RECT会报错,直接使用Rectangle结构体即可。

2.     使用GetDspCount总是只返回可用的Dsp数量,而用GetTotalDSPs可以获取所有的Dsp数量。

3.     再强调一遍,虽然我这里没有把委托实例化成 成员变量,也能调试通过,但是强烈建议您把这些都写成 成员变量然后在窗体初始化时初始化!

4.     本文是后续服务器端文章的基础,务必细心调试,我敢说如果本文的功能你达到了——你的服务器端可以说完成了60%!!

修改记录

1.     2009-3-30

将STREAM_DIRECT_READ_CALLBACK声明为成员变量,发现不声明成成员变量在VS里面调试可以运行通过(有时候),但是直接运行exe文件会报内存出错!!

结束

这篇文章在我研究的时候花了将近1个多星期,主要症状就是能预览,客户端死活都看不到画面,能连接!!甚至找了VC++牛人(不会C#)帮忙分析了都没能出来,不过倒是帮我弄得能调试源代码了,也是在无意中从头到尾整理代码的时候出来的(得到上司提醒整理代码),极度兴奋!!

上一页  1 2 3 4 5 6 

Tags:视频监控 系列 服务器

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接