OMCS Demo -- 在WPF中使用OMCS(附源码)

一.对WPF提供支持

      OMCS提供的默认的动态库可以直接在WinForm客户端程序中使用,如果客户端是使用WPF开发的,则需要多引用一个动态库:OMCS.WPF.dll。OMCS.WPF.dll 是一个WPF控件库,其重写了OMCS.dll中的各个连接器组件/控件,并提供与原始组件/控件完全相同的API接口。

      当我们把OMCS.WPF.dll添加到WPF的工具箱时,可以看到CameraConnector、DesktopConnector、WhiteBoardConnector等控件,直接将他们拖放到我们的WPF窗体上即可。如果要使用动态连接器组件,如OMCS.WPF.MicrophoneConnector、OMCS.WPF.DynamicCameraConnector、OMCS.WPF.DynamicDesktopConnector等,我们可以直接在代码中new它们的实例,并调用其SetViewer为其设置要绘制的控件表面。

      OMCS Demo -- 视频、音频、电子白板、远程桌面 功能基本展现(附源码)所讲述的demo中,我们开发了一个WinForm的客户端,来展现OMCS的各个功能。本文的demo将在上个demo的基础上,增加一个WPF客户端,实现与WinFrom客户端完全一样的功能。

      首先,服务端可以直接使用上个demo的,不用做任何修改。接下来,我们来重点关注该Demo的WPF客户端的实现,这个过程实际上与上个demo的WinFrom客户端的实现是完全一致的。
     

二.Demo的WPF客户端实现

1.添加引用

      在解决方案中,新建WPF应用程序项目OMCS.Demos.Simplest.WPFClient,然后添加对OMCS等动态库的引用:OMCS.dll、OMCS.WPF.dll、PaintFramework.dll、ESBasic.dll。

      在工具箱中,添加OMCS.WPF.dll内置的各个控件。

2.初始化多媒体管理器

      在MainWindow的构造函数中,我们仍然直接使用MultimediaManagerFactory的静态方法GetSingleton来获取单件的多媒体管理器实例,并将其初始化: 

   //初始化多媒体管理器
    this.multimediaManager = MultimediaManagerFactory.GetSingleton();
    this.multimediaManager.CameraDeviceIndex = 0;
    this.multimediaManager.MicrophoneDeviceIndex = 0;
    this.multimediaManager.P2PChannelEnabled = true;
    this.multimediaManager.Initialize(this.userID, "", "127.0.0.1", 9900);//192.168.0.98

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

3.实现用于展现OMCS功能的各个Window 

      分别添加ChatWindow、DesktopWindow、WhiteBoardWindow,并采用与WinFrom客户端几乎完全相同的代码来实现它们。

4.添加非托管的动态库

      在完成了OMCS.Demos.Simplest.WPFClient,并编译通过后,需要将非托管的动态库拷贝到其运行目录下。需要拷贝的非托管动态库包括:AudioEngineCore.dll、VideoEngine.dll、VideoEngineCore.dll。如此,基于WPF的客户端就可以运行起来了。

 三.下载

      Demo源码:OMCS.Demos.WPF.rar     

      在实现了本文的demo后,WPF客户端和WinFrom客户端可以公用同一个OMCS服务 端,并可相互连接到对方的多媒体设备。 

     

-----------------------------------------------------------------------------------------------------------------------------------------------  

下载免费版本的OMCS以及 demo源码

阅读 更多OMCS开发手册系列文章

Q Q:168757008

官网:www.oraycn.com

导航

首页

官方网站

立即咨询 

站内搜索

ESFramework 通信框架

详细说明

SDK下载

ESFramework FAQ

版本变更记录

OMCS 语音视频框架

详细说明

SDK下载

OMCS FAQ

版本变更记录

OrayTalk 企业即时通讯系统

详细说明

客户端下载

傲瑞实用组件

SDK下载

NPush 消息推送组件

StriveEngine 轻量级的通信引擎

MFile 语音视频录制组件

MCapture 语音视频采集组件

MPlayer 语音视频播放组件

OAUS 自动升级系统

傲瑞组件 FAQ

授权

授权流程

产品授权说明

产品选购指南

授权SDK使用说明

其它

SDK使用技巧

联系我们

电话:027-87638960

Q Q:168757008

邮件:master@oraycn.com