OMCS开发手册(01) -- 多媒体设备管理器
2012-05-18 11:22:24 来源:WEB开发网多媒体设备管理器就是工作于OMCS客户端,并以Owner的身份管理本地所有的多媒体设备的。多媒体设备管理器对象是OMCS在客户端的核心对象,其在整个运行周期内一直存在,并会根据guest的请求自动启动或停止某个多媒体设备。
一.多媒体设备
像本地的摄像头、麦克风、电子白板等都属于多媒体设备,多媒体设备的类型使用枚举MultimediaDeviceType表示:
/// <summary>
/// 多媒体设备的类型。
/// </summary>
public enum MultimediaDeviceType
{
/// <summary>
/// 摄像头。
/// </summary>
Camera = 0,
/// <summary>
/// 话筒。
/// </summary>
Microphone,
/// <summary>
/// 桌面。
/// </summary>
Desktop,
/// <summary>
/// 电子白板。
/// </summary>
WhiteBoard
}
目前的OMCS支持MultimediaDeviceType定义的4种多媒体设备类型,所有的多媒体设备都由多媒体管理器IMultimediaManager统一管理。
(1) 客户端以Owner身份提供本地的多媒体设备供其它客户端访问。
(2) 各种类型的多媒体设备对应的类Class都是internal的,属于OMCS的内部对象,开发人员不需要对其进行任何编程。取而代之的是,开发人员可以通过IMultimediaManager来间接获取多媒体设备的有关状态和信息。
二.多媒体设备管理器详解
作为OMCS客户端的核心对象,多媒体管理器的主要职责为:
(1)管理本地的所有多媒体设备实例,设置设备参数,以及在合适的时间启动或停止某个多媒体设备。
(2)与OMCS服务器通信,并管理与OMCS服务器的连接的状态。
(3)创建P2P通道。在多媒体连接器发起到目标设备的连接请求时,同时异步创建到目标Owner的双向P2P通道。
(4)访问控制。允许或拒绝某个guest到本地某个设备的连接请求。
上述这些职责,可以通过多媒体设备管理器的接口OMCS.Passive.IMultimediaManager的定义体现出来。
1.属性
IMultimediaManager接口中所有的属性定义如下:
AgileIPE ServerIPE {get; }
/// <summary>
/// 当前登录用户的ID。
/// </summary>
string CurrentUserID { get; }
/// <summary>
/// 要使用的麦克风的索引。
/// </summary>
int MicrophoneDeviceIndex { get; set; }
/// <summary>
/// 要使用的摄像头的索引。
/// </summary>
int CameraDeviceIndex { get; set; }
/// <summary>
/// 当前多媒体管理器是否可用?
/// </summary>
bool Available { get; }
/// <summary>
/// 是否将话筒采集到的音频输出给Guest。
/// </summary>
bool OutputAudio { get; set; }
/// <summary>
/// 多媒体访问控制器。
/// </summary>
IMultimidiaGateway MultimidiaGateway { set; }
/// <summary>
/// 摄像头捕捉的视频的编码质量。取值0~31。取值越小,越清晰。可以在运行时动态修改。
/// </summary>
int CameraEncodeQuality { get; set; }
/// <summary>
/// [从Owner的角度]是否根据音频反馈以及视频丢帧情况自动调整视频编码质量。默认值为true。
/// </summary>
bool AutoAdjustCameraEncodeQuality { get; set; }
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››OMCS Demo -- 视频、音频、电子白板、远程桌面 ...
- ››OMCS开发手册(04) -- 二次开发流程
- ››OMCS开发手册(03) -- 多媒体服务器
- ››OMCS开发手册(02) -- 多媒体连接器
- ››OMCS开发手册(01) -- 多媒体设备管理器
- ››开发者眼中的Windows Phone和Android
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››开发一个自己的HTML在线编辑器(一)
- ››开发一个自己的HTML在线编辑器(二)
更多精彩
赞助商链接