多媒体管理器解析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内部类中, 每个布局管理器 ...
随机推荐
- yii2.0 集成/引入第三方sdk
首先下载自己要使用的sdk包放到vendor文件夹下面:我以接入ping++为例子如下: 然后在入口文件出引入文件的配置文件: 下面就是在控制器使用了: 下面就可以根据自己要使用的的文件以及方法正常调 ...
- Dreamweaver无法启动:xml parsing fatal error..Designer.xml错误解决方法
xml parsing fatal error:Invalid document structure,line:1,file:C:\Documents and Settings\Administrat ...
- Windows10 使用docker toolbox安装docker
一.介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间 ...
- ThreadPoolExecutor简介
ThreadPoolExecutor简介 并发包中提供的一个线程池服务 23456789 public ThreadPoolExecutor(int corePoolSize,//线程池维护线程的最少 ...
- BZOJ_4128_Matrix_矩阵乘法+哈希+BSGS
BZOJ_4128_Matrix_矩阵乘法+哈希+BSGS Description 给定矩阵A,B和模数p,求最小的x满足 A^x = B (mod p) Input 第一行两个整数n和p,表示矩阵的 ...
- BZOJ_4813_[Cqoi2017]小Q的棋盘_dfs
BZOJ_4813_[Cqoi2017]小Q的棋盘_dfs Description 小Q正在设计一种棋类游戏.在小Q设计的游戏中,棋子可以放在棋盘上的格点中.某些格点之间有连线,棋子只能 在有连线的格 ...
- BZOJ_3670_[Noi2014]动物园_KMP
BZOJ_3670_[Noi2014]动物园_KMP Description 近日,园长发现动物园中好吃懒做的动物越来越多了.例如企鹅,只会卖萌向游客要吃的.为了整治动物园的不良风气,让动物们凭自己的 ...
- ReentrantLock和读写锁
在Java5.0之前,只有synchronized(内置锁)和volatile. Java5.0后引入了显示锁ReentrantLock. ReentrantLock概况 ReentrantLock是 ...
- Appium 【已解决】提示报错:Attempt to re-install io.appium.android.ime without first uninstalling.
详细报错:Failed to install D:\AutoTest\appium\Appium\node_modules\appium\build\unicode_ime_apk\UnicodeIM ...
- CSS 圣杯布局 / 双飞翼布局的实现
工作的越久,有些基础知识我们可能就逐渐淡忘了,今天我们来回顾一下css的圣杯布局和双飞翼布局, 这两个名词你可能不熟, 那三栏布局你肯定就非常熟悉了, 就是两边定宽, 中间自适应 的 布局 1 , 圣 ...