多媒体管理器解析IMultimediaManager
一。基本API
bool Available { get; }
bool Working { get; }
AdvancedOptions Advanced { get; }
二。作为通信引擎
string CurrentUserID { get; }
string SystemToken { get; set; }
void Initialize(string userID, string password, string serverIP, int serverPort); 、
void Initialize(string userID, string password, string serverIP, int serverPort, Dictionary<MultimediaDeviceType, AgileIPEndPoint> deviceChannelDic);
bool AutoReconnect { get; set; }
bool IsP2PChannelExist(string destUserID);
bool IsUserOnline(string userID);
void CloseConnection(bool reconnectNow);
ChannelMode ChannelMode { get; set; }
void DisconnectGuest(bool notifyGuest);
void DisconnectGuest(string guestID, MultimediaDeviceType deviceType, bool notifyGuest);
List<string> GetGuests(MultimediaDeviceType deviceType);
AgileIPEndPoint ServerIPE { get; }
IShortMessageController ShortMessageController { get; }
event CbGeneric<IPEndPoint> ConnectionInterrupted;
event CbGeneric<IPEndPoint> ConnectionRebuildSucceed;
event CbGeneric<string, int, int, int> JitterBufferDepthChanged;
三。作为设备管理者(OWner)
1.通用设备管理
event CbGeneric<MultimediaDeviceType, int, string> DeviceErrorOccurred;
bool DeviceIsWorking(MultimediaDeviceType deviceType);
event CbGeneric<string, MultimediaDeviceType> DeviceConnected;
event CbGeneric<string, MultimediaDeviceType> DeviceDisconnected;
2.摄像头管理
bool AutoAdjustCameraEncodeQuality { get; set; }
int CameraDeviceIndex { get; set; }
int CameraEncodeQuality { get; set; }
Size CameraVideoSize { get; set; }
int MaxCameraFrameRate { get; set; }
bool OutputVideo { get; set; }
event CbGeneric<int, int> CameraIndexChanged;
void ChangeCameraDeviceAsyn(int deviceIndex);
3。桌面管理
int DesktopEncodeQuality { get; set; }
Rectangle? DesktopRegion { get; set; }
int MaxDesktopFrameRate { get; set; }
bool OutputDesktop { get; set; }
bool AllowControlDesktop { get; set; }
4。麦克风管理
int MicrophoneDeviceIndex { get; set; }
int VolumeAmplifyFactor { get; set; }
event CbGeneric<byte[]> AudioCaptured;
bool OutputAudio { get; set; }
5。白板管理
string CoursewaresRootPath { get; set; }
四。扩展接口
IVideoCapturerFactory VideoCapturerFactory { get; set; }
IAudioCapturerFactory AudioCapturerFactory { get; set; }
IImageConverterFactory ImageConverterFactory { get; set; }
IChatGroupEntrance ChatGroupEntrance { get; }
五。日志管理
bool SecurityLogEnabled { get; set; }
IAgileLogger OmcsLogger { set; }
string OmcsLogPath { get; set; }
六。作为Guest
bool Mute { get; set; }
int SpeakerIndex { get; set; }
event CbGeneric<IMultimediaConnector, ConnectorDisconnectedType> ConnectorDisconnected;
event CbGeneric<byte[]> AudioPlayed;
****************************************************************************
****************************************************************************
1.可动态设置:
bool OutputAudio
bool OutputDesktop
bool OutputVideo int VolumeAmplifyFactor
bool AllowControlDesktop
bool AutoAdjustCameraEncodeQuality int CameraDeviceIndex
int MicrophoneDeviceIndex
int MicrophoneDeviceIndex Size CameraVideoSize
Rectangle? DesktopRegion int DesktopEncodeQuality
int CameraEncodeQuality int SpeakerIndex
2.初始化之前设置:
IAudioCapturerFactory AudioCapturerFactory
IImageConverterFactory ImageConverterFactory
IVideoCapturerFactory VideoCapturerFactory int MaxCameraFrameRate
int MaxDesktopFrameRate IAgileLogger OmcsLogger
AdvancedOptions Advanced
bool AutoReconnect
3.初始化之后设置:
IChatGroupEntrance ChatGroupEntrance
bool OutputAudio
bool OutputDesktop
bool OutputVideo
bool AllowControlDesktop
4.默认值
DesktopEncodeQuality=
MaxCameraFrameRate =
MaxDesktopFrameRate =
CameraDeviceIndex =
CameraEncodeQuality =
CameraVideoSize = *
AutoAdjustCameraEncodeQuality = true OutputAudio = true
OutputDesktop = true
OutputVideo = true SecurityLogEnabled = false
VolumeAmplifyFactor =
AllowControlDesktop = true
ChannelMode = P2PChannelFirst
OmcsLogPath = 运行目录下OmcsLog.txt
CoursewaresRootPath = 运行目录下的"Coursewares"文件夹
多媒体管理器解析IMultimediaManager的更多相关文章
- Windows内核进程管理器解析
Windows内核是如何实现线程挂起的?如何实现线程挂载到进程的?如何实现杀死进程和线程的? 从源码分析一下,这些操作具体在源码上是如何实现的. 进程创建.线程切换.线程跨越CPU权限级.进程挂靠.杀 ...
- OMCS开发手册(01) -- 多媒体设备管理器
我们在前面一篇文章中提到:任何一个OMCS的Client都有两种身份,Owner和Guest.多媒体设备管理器工作于OMCS客户端,并以Owner的身份管理本地所有的多媒体设备.多媒体设备管理器对象是 ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- f2fs解析(八)node 管理器中的node_info
free_info 功成身退,node_info顺利接班. // 这里还是蛮复杂的一件事,如果不搞清除的话,这个历史性的接班工作我们就接不上 上面说到 alloc_nid 和 alloc_nid_do ...
- f2fs解析(七)node管理器中的 free_nid 结构体
除了node_info之外, node管理器中还有还有个重要的数据结构: struct free_nid { struct list_head list; /* for free node id li ...
- [置顶] Android布局管理器 - 详细解析布局实现
布局管理器都是以ViewGroup为基类派生出来的; 使用布局管理器可以适配不同手机屏幕的分辨率,尺寸大小; 布局管理器之间的继承关系 : 在上面的UML图中可以看出, 绝对布局 帧布局 网格布局 相 ...
- cocos2D-x 3.5 引擎解析之--引用计数(Ref),自己主动释放池(PoolManager),自己主动释放池管理器( AutoreleasePool)
#include <CCRef.h> Ref is used for reference count manangement. If a classinherits from Ref. C ...
- 【Android 应用开发】AndroidUI设计之 布局管理器 - 详细解析布局实现
写完博客的总结 : 以前没有弄清楚的概念清晰化 父容器与本容器属性 : android_layout...属性是本容器的属性, 定义在这个布局管理器的LayoutParams内部类中, 每个布局管理器 ...
- AndroidUI设计之 布局管理器 - 详细解析布局实现
写完博客的总结 : 以前没有弄清楚的概念清晰化 父容器与本容器属性 : android_layout...属性是本容器的属性, 定义在这个布局管理器的LayoutParams内部类中, 每个布局管理器 ...
随机推荐
- Spring 数据处理框架的演变
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 定量分析的成败在很大程度上取决于采集,存储和处理数据的能力.若能及时地向业务决策者提供深刻并可靠的数据解读,大数据项目就会有更多机会取得成功 ...
- Fedora Linux安装deb包
前言: 我们知道,在Linux系统上有两种主要的软件包格式,分别是RPM和deb. RPM是"RPM Package Manager(RPM软件包管理器)"的递归缩写.RPM是一种 ...
- CentOS下使用命令行Web浏览器Links
前言: Links是一个运行在命令行模式下的Web浏览器,只能查看字符.Links的官网是Click here. 安装Links yum install links 使用Links links URL ...
- MongoDB的安装启动及做成windows服务
直接上干货. 官网地址:https://www.mongodb.com/download-center?jmp=nav#community 点击图中链接进入所有版本的下载列表 我下载的是3.6.5版本 ...
- Nginx安装及配置详解
nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...
- selenium的一些使用方法
新建实例driver = webdriver.Chrome()1.通过标签属性Id查找元素方法:find_element_by_id(element_id)实例:driver.find_element ...
- 树莓派.设置无线网卡为AP工作模式(pi2和pi3)
树莓派2的设置办法: 1. 安装NetworkManager管理工具(可选),以支持nmcli命令 sudo apt-get install -y network-manager 2. 安装hosta ...
- MySQL 开发实践
最近研发的项目对DB依赖比较重,梳理了这段时间使用MySQL遇到的8个比较具有代表性的问题,答案也比较偏自己的开发实践,没有DBA专业和深入,有出入的请使劲拍砖!- MySQL读写性能是多少,有哪些性 ...
- Poi2010 Monotonicity 2
树状数组优化dp 可以证明最优解一定是通过之前的最优转移过来的,所以每一个点只需要保存以该节点为结尾的最长长度即可 对于不同符号,等于号维护数组,大于小于维护树状数组 #include<cstd ...
- 使用bat打开多个cmd窗口执行gulp、node
一.使用场景 使用场景:项目发布前 操作步骤: 1.执行gulp,对文件进行压缩.合并等操作: 2.在1执行完成后,对1中合并的文件如default.css进行多主题色的自动生成,在这里使用node处 ...