WEB开发网
开发学院WEB开发ASP.NET OMCS Demo -- 视频、音频、电子白板、远程桌面 ... 阅读

OMCS Demo -- 视频、音频、电子白板、远程桌面 功能基本展现(附源码)

 2012-05-18 17:15:30 来源:WEB开发网   
核心提示:本文将以最简单的方式展现OMCS提供的视频、音频、电子白板、远程桌面等功能,OMCS采用的是典型的C/S结构,OMCS Demo -- 视频、音频、电子白板、远程桌面 功能基本展现(附源码),所以,即使是最简单的demo,我们定义了一个简单的客户端主界面MainForm用于调用OMCS提供的各个功能,在MainForm

本文将以最简单的方式展现OMCS提供的视频、音频、电子白板、远程桌面等功能。OMCS采用的是典型的C/S结构,所以,即使是最简单的demo,我们也需要服务端和客户端。
一.服务端
正如OMCS开发手册(04) -- 二次开发流程一文描述的,服务端的开发非常简单,我们只需要实现IUserVerifier接口,以验证客户端登录用户的帐号和密码。在本demo中,OMCS.Demos.Simplest.Server项目的UserVerifier实现就假设所有的登录都直接通过。
public class UserVerifier : IUserVerifier
{
public bool VerifyUser(string userID, string password)
{
return true;
}
}
接下来,在Program.cs文件中,将UserVerifier对象注入到MultimediaServer的构造函数,除此之外,还要将OMCS配置信息一起作为构造参数传入:
Program.MultimediaServer = new MultimediaServer(int.Parse(ConfigurationManager.AppSettings["Port"]), userVerifier, config, bool.Parse(ConfigurationManager.AppSettings["SecurityLogEnabled"]),null);
最后,我们使用OMCS提供的默认的服务端主窗体来显示相关状态信息:
MainServerForm form =Program.MultimediaServer.CreateMainServerForm(bool.Parse(ConfigurationManager.AppSettings["ShowUserList"]));
form.Text = "傲瑞多媒体服务器 V1.0";
Application.Run(form);
至此,服务端的开发就完成了,可以看到服务端最核心的就是要构造多媒体服务器MultimediaServer实例。关于更多多媒体服务器的描述可以参见OMCS开发手册(03) -- 多媒体服务器。服务端运行起来后,如下图所示:

二.客户端
首先,我们需要构造并初始化多媒体设备管理器。如果要设置一些配置参数,可以在调用初始化方法之前通过设置IMultimediaManager的相关属性来完成。
IMultimediaManager multimediaManager = MultimediaManagerFactory.GetSingleton();
multimediaManager.CameraDeviceIndex = 0;
multimediaManager.MicrophoneDeviceIndex = 0;
multimediaManager.P2PChannelEnabled = true;
multimediaManager.Initialize(loginForm.CurrentUserID,"", ConfigurationManager.AppSettings["ServerIP"], int.Parse(ConfigurationManager.AppSettings["ServerPort"]));
接下来,我们定义了一个简单的客户端主界面MainForm用于调用OMCS提供的各个功能。在MainForm的Initialize方法中,我们预定了客户端连接状态的变化事件,以在界面上正确的显示当前连接的状态:
public void Initialize(IMultimediaManager mgr, string currentUserID)
{
this.userID = currentUserID;
this.multimediaManager = mgr;

//预定与OMCS服务器的连接断开、重连成功事件
this.multimediaManager.ConnectionInterrupted += new CbGeneric(multimediaManager_ConnectionInterrupted);
this.multimediaManager.ConnectionRebuildSucceed += new CbGeneric(multimediaManager_ConnectionRebuildSucceed);
this.toolStripLabel_loginfo.Text = string.Format("当前登录:{0}", this.userID);
this.toolStripLabel_state.Text = "连接状态:正常";

1 2 3  下一页

Tags:OMCS Demo 视频

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