系统的总体设计主要反映在广大用户群体上,利用网络会议系统的软件,实现他们不同的会议需求、视频、音频、聊天室讨论。
本系统的核心技术,是采用Windows的实时通信(RTC)应用编程接口(API)的基本知识以实现音视频会议、应用程序共享、白板、简单的点对点聊天和音视频调节向导。RTC API 提供了卓越的基于PC的通信革新,这可应用于所有基于 Microsoft Windows XP的应用程序。
微软的实时通信(RTC)应用编程接口(API)提供了卓越的基于PC的通信革新——即时消息、音视频会议和应用程序共享/协作,这可应用于所有基于 Microsoft Windows XP 的应用程序。
使用RTC的API来进行通信是一个非常简单的过程。
1. 增强的客户端应用决定客户端通信平台的能力。
2. 应用程序在通信期间使用首选的视音频设备。
3. 应用程序发起通信会话。
4. 在 RTC 层协调数据捕获、压缩和传输,这使得应用程序不用负责这一任务。使用哪一种音视频的编码解码器由通信双方的连接质量决定。
参与会话的应用程序接受、解压并重放被传输的数据。
本程序的网络互联,都是基于微软提供的RTC的API编译接口的打开,通过该接口,从而完成诸如视音频、文本通讯、桌面分享、画板聊天室的功能。
3.2 系统详细设计
3.2.1主界面设计
主界面是客户端程序的门面,设计上需要做到简洁、美观、通俗易懂。Visual C++开发工具提供了现成的窗口、控制与工具条的制作手段,大大简化了界面的开发过程,并且使得开发出的界面具有组态软件风格,使用起来方便、灵活、简单易学。 同时,界面上的按钮也必须严格按照要求来制作,每个按钮对应一个特定的功能,至于按钮这块部分,可以调用Visual C++中的"stdafx.h","XPButton.h"类,来实现。并将按钮的制作信息存放于“resource.h”的资源类中
3.2.2聊天功能的设计
聊天功能必须满足广大用户的需求,在设计上满足时效性、这也在根本上帮助用户达到无时无刻,IM即使聊天这一性质。聊天功能也作为本课题最主要的组成部分,因为聊天功能一定是用户平时最常接触到的,本课题设计的聊天功能仅限于简单的聊天,由于没有添加数据库,所以聊天记录、联系人信息都不能时时的保存,这可能也可以作为对本课题深入研究、改进的方向之一。
聊天功能还是非常全面的,可以支持双方、三方甚至于多方的聊天,聊天的实时性、私密性得以保证。
程序部分,主要通过调用"MessageDlg.h"这一类。
CMessageDlg::DoDataExchange //信息交换
BEGIN_MESSAGE_MAP(CMessageDlg, CDialog) //MFC宏进行映射信息
END_MESSAGE_MAP()//MFC宏结束映射
CMessageDlg::DeliverMessage//发送信息
CMessageDlg::DeliverUserStatus//交互用户状态(也就是获取用户IP的一个过程)
CMessageDlg::OnSendtext() //发送消息成功
CMessageDlg::OnClear()// 一个清空聊天记录的小功能的实现
图3.1 用户间通信的建立
3.2.3 视频的捕获
使用VFW(Video For Windows)API进行视频捕获,它提供了通过webcam进行视频捕获。VideoCapture.h 和VideoCapture.cpp包含了处理视频捕获的代码。
VFM主要由以下6个模块组成。
1. AVICAP.DLL:包括了执行视频捕获的函数,它给AVI文件I/O和视频、音频设备驱动程序提供了一个高级接口。
2. MSVIDEO.DLL:用一套特殊的DrawDib函数来处理屏幕上的视频操作。
3. MCIAVI.DRV:此驱动程序包括对VFW的MCI命令的解释器 VC++简易网络会议系统设计(7):http://www.youerw.com/jisuanji/lunwen_5423.html