当前位置:首页 >> 机械/仪表 >>

基于NetMeeting


基于 NetMeeting SDK 的音视频交互教学环境的开发与实践

刘聪 郝建英 林世洪 郭玉成
北方交通大学 摘 要 随着市场上基于 IP 网络的音视频软硬件产品的日趋成熟,开发可实现互联网上远 程实时交互的网络教学支撑软件环境的任务逐渐被各大高校纳入了记事日程。 北方交通大学 于 2000 年 7 月承担了教育部“远程教学支撑环境”项目的开发

,进行了大量这方面的尝试 并获得了成功。该软件的开发是基于 Microsoft NetMeeting SDK 底层支持,使用基于组件 对象模型的面向对象程序开发技术完成的, 该程序具有结构性好, 运行速度快, 占用带宽少, 兼容性好等优点。 关键词 音视频 交互 组件对象模型 面向对象 软件开发 NetMeetingInteractive The Method and Principle of NetMeeting-based AV Interactive Teaching Environment System Development Cong Liu Jianying Hao Shihong Lin Yucheng Guo (Northern Jiaotong University) Abstract: With the mature of IP network-based AV software and hardware, to develop a set of software which can construct a on-line interactive teaching environment was gradually put to scheme. Northern Jiaotong University has been charged with the development of a project named Remote Teaching Support System for the Ministry Of Education since Jul 2000. We trid a lot in this field and finally succeeded. This software was developed based on COM and OOP software programming technology, it has the feature of good structure, fast speed, little usage of bandwidth and fine compatibility, etc. Keywords: Keywords AV,Interaction,COM,OOP,Software development 引言 当前基于 IP 网络的实时音视频通讯技术已经比较完善了,许多基于硬件和软件实现的 交互系统象雨后春笋一般成长起来, 它们的出现使人类在实现数字化音视频交互的历程上又 迈出了一大步,人们之间的距离再一次被网络拉近了。这些系统的实现让网络视频电话、网 络会议能够应用在更为广阔的天空里,其使用也越来越方便快捷了,让在 Internet 上的每 个用户都能享受到实时音视频环境下交流的优越性。Microsoft NetMeeting 就是其中一种 颇为理想的应用产品。您可以通过它来实现网络会议、进行协同工作、以及通过 Internet 或者 Intranet 共享信息。 2 NetMeeting 简介 NetMeeting 的实现了在两个 IP 之间建立起语音、视频和数字会议,双方或者多方可以 第1页 1

交换文件,使用白板交流,音视频交互和文本交互以及共享桌面和应用软件。 NetMeeting 支持 ITU 的 H.323 标准和 T.120 标准,以及 IETF 的 LDAP 目录服务标准。 NetMeeting 一 直 和 微 软 的 视 窗 操 作 系 统 捆 绑 在 一 起 , Windows 98 第 一 版 里 包 含 了 NetMeeting 2.0, 随后在 Windows 98 第二版、 Windows ME、 Windows 2000 里推出了 NetMeeting 的 3.0 版本。NetMeeting 是基于 COM(组件对象模型)技术实现的,提供了大量编程接口, 本程序正是在 NetMeeting 核心的基础上实现的网络教学方面的应用。COM 组件的特点是可 以方便的实现代码的复用和更新,这使 NetMeeting 的二次开发变得非常容易。 NetMeeting SDK 简介 NetMeeting SDK 是一套 NetMeeting 的开发包,主要包含了 NetMeeting 的组件对象接口 定义和宏定义。如图 1 所示,NetMeeting 把所有底层技术都封装在它的 COM 组件里了,我 们只要通过简单的访问它的接口就可以实现它的全部功能。 3

图 1 NetMeeting 组件构成 NetMeeting 包含了一个 ActiveX 控件和一组 COM 对象。 其中 ActiveX 控件只包含少数功 能,但很适合在 Web 页上运用。我们所使用的是它的 COM 组件,运用它可以实现所有的 NetMeeting 的功能。图 2 和图 3 显示了 NetMeeting 的 COM 对象模型和 NetMeeting SDK 和 NetMeeting 组件的访问关系。

图 2 NetMeeting 的 COM 对象模型 第2页

图 3 NetMeeting SDK 和 NetMeeting 组件的访问关系 每个 COM 对象都有相应的多个接口,用于访问该对象的相关功能;每个对象还对应一个 Notification 对 象,用于 捕获 该对象 的所 有事件 。这 些特性 使我 们可以 方便 的使 用 NetMeeting 的组件对象。 4 NetMeeting 功能的实现 由于 COM 对象组件技术比较复杂,我们对 NetMeeting 组件的接口进行了封装,便于直 接用类成员方法来实现 NetMeeting 的功能。我们用 C++语言编写了一个 RConf 类,用类成 员实现了在网络教学中用到的的音视频交互功能和白板交互功能。 RConf 类的定义如下: class RConf { private: CMgrNotify * m_pMgrNotify; CCallNotify * m_pCallNotify; CConfNotify * m_pConfNotify; INmConference * m_pINmConf; INmManager * m_pINmMgr; INmCall * m_pINmCall; HWND m_hWnd; BOOL m_bInConnection; public: HWND m_hWndLocal; 第3页

RConf(HWND); virtual ~RConf(); HRESULT Initialize(void); HRESULT Uninitialize(void); HRESULT Call(LPSTR); HRESULT CallCreated(INmCall *pCall); HRESULT ConferenceCreated(INmConference *); HRESULT CallRejected(); HRESULT CallAccepted(); HRESULT HangUp(); HRESULT RemoteHungup(); HRESULT RejectCall(); HRESULT AcceptCall(); HRESULT OpenWhiteBoard(); HRESULT CloseWhiteBoard(); BOOL InConnection(); }; 在使用 RConf 类的时候要事先把 RConf.h 和 RConf.cpp 以及 NetMeeting SDK 所带的一 些接口定义头文件实现加入工程, 再应用相应的 RConf 类成员方法就能实现音视频和白板的 交互。 由于 RConf 文件长度的关系,我就简单介绍一下 RConf 类的实现: 1. 在类构造函数中创建所有的 Notification 对象,并保存所属窗口的句柄,以便将 来往该窗口发送消息。 2. 在 Initialize 函数中创建 Conference Manager 对象,并连接其 Notification 对 象。 Conference Manager 对象创建成功后再创建 Conference 对象、 当 Data Channel 和 Audio Channel 对象。 3. OpenWhiteBoard()和 CloseWhiteBoard()方法分别用于打开和关闭白板窗口。 4. 语音通道从会议一建立就打开,该类没有控制它的函数。 5. 该类用纯 C++写成,可以在 Microsoft Visual C++和 Borland C++ Bulder 之间通 用。 5 远程教学支撑环境系统介绍

编制环境

“远程教学支撑环境系统”采用 Microsoft Visual C++ 6.0 为程序设计平台,除了 NetMeeting 组件对象的应用以外还包含 ODBC 数据库访问、Windows Socket 通信等程序设计 技术。使用了 Microsoft WebBrowser 和 Microsoft Media Player ActiveX 控件。

第4页

系统说明 系统构成 本系统由服务器端、教师端、学生端三个部分构成。网络教学支撑环境支 持多个教师端(不同教室)同时授课。 服务器端采用 Microsoft Media Server 为系统提供音视频广播服务。 教师端运行 Microsoft Media Encoder 对教师端的声音及图像进行采集编 码并发送到服务器进行广播。 教师端运行网络教学支撑平台的教师端程序, 通过数据库验证教师身份后,为讲课提供前端支持。 学生端运行网络教学支撑平台的学生端程序, 通过数据库验证学生身份后, 为讲课提供前端支持。 进入“网络教学支撑环境系统”主界面后教师可以选择“允许提问”按钮 来允许学生和教师的交互。当学生点击学生端的“学生举手”按钮以后, 教师端会提示教师是否允许该学生的提问。教师如果允许了学生提问,该 学生端的提问和讨论区就变为允许状态(平时是处于禁止状态)。经过这 样的简单操作,教师就可以开始和学生进行文字和音视频的交互,教师端 的视频窗口会自动切换到相应学生端的声音和图像(要求学生端有图像采 集设备),同时教师端的程序会把教师和该学生的对话混音处理后发给 Media 服务器,在由 Media 服务器广播到其他所有的学生端。 教师也可以直接从“在线用户列表区”选择相应的学生进行以上的交互。 教师还可以通过点击右侧的“电子白板”按钮来打开基于 NetMeeting 技术 的白板来和学生进行图形交互,所有在该教室的学生可以看到并操作白板 (如果教师选择了“允许学生操作”)。 经过在局域网和广域网的测试证明,本系统可以基本满足远程时实授课的 需要,界面友好,图像和声音连贯,有较好的应用前景。

参考文献 [1].《用 NetMeeting 开发网络会议软件》 ,北京航空航天大学,赵宇, 《计算机世界》 [2].《Official Microsoft NetMeeting Book》(美)Robert Summers,Microsoft Press ,

第5页


相关文章:
NetMeeting的安装与使用说明
基于以上几点,学会使用 Netmeeting,当然会令你的学习工作事半功倍,所以稍稍下 点功夫吧,但是绝对不难理解呦。 图1 图1 使用方式 1、NetMeeting 可直接用网络(...
QQ,netmeeting,skype的优缺点
即时通讯工具的比较——QQ,netmeeting,skype 的优缺点 即时通讯(Instant Messenger,简称 IM) ,是一种基于互联网的即时交流 消息的业务,代表有:Microsoft Lync、百度...
Internet的应用习题3(带答案)
4.NetMeeting 共享白板的作用是什么? 答:允许网络会议中的每个人同时添加白板页...11. 简述 FTP 的工作原理 答:如前所述,FTP 协议是基于客户机/服务器模式而...
基于远程协作学习的主题活动设计
基于远程协作学习的主题活动设计远程协作学习主题活动,无论是在教育时代发展上,...二是同步式交流,就是根据校际 主持人的要求,在同一时间利用聊天室、Netmeeting...
基于远程方法调用的聊天室软件设计与实现—毕业论文
类似于当下的许多聊天工具 Netmeeting、MSN-Message、腾讯 QQ 等等。此次 设计的聊天室工具引用了基于 C/S 架构的 JAVA RMI 技术的远程协助协同。服务 器端(...
作业答案
VOD d. Netmeeting 正确答案是:FTP (17) 某客户端采用 ping 命令检测网络连接...172.31.128.255/18 (21) 内部网关协议 RIP 是一种广泛使用的基于 ( ) 的...
基于JAVA的聊天系统的设计与实现
基于JAVA 的聊天系统的设计与实现 摘 要 随着互联网的快速发展,网络聊天工具...for example, Netmeeting, QQ, MSN-Messager and so on. This system ...
信息技术上机会考试卷
基于搜索引擎的信息检索 B.基于目录服务的信息查询 C.基于超文本/超媒体的信息...(A) A.Foxmail B.QQ C.MSN D.Netmeeting 第 18 题:下列都属于网页制作...
基于Java即时聊天系统的设计与实现-毕业论文
基于Java即时聊天系统的设计与实现-毕业论文_工学_高等教育_教育专区。JAVA即时通讯...目前, 出现了很多非常不错的聊天工具, 其中应用比较广泛的有 Netmeeting、 腾讯...
Internet和Intranet应用作业答案
4. Intranet 是一个基于 Ineternet TCP/IP 协议的 企业内部 网络系统. ...4.NetMeeting 共享白板的作用是什么? 答:允许网络会议中的每个人同时添加白板页...
更多相关标签: