一。基本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的更多相关文章

  1. Windows内核进程管理器解析

    Windows内核是如何实现线程挂起的?如何实现线程挂载到进程的?如何实现杀死进程和线程的? 从源码分析一下,这些操作具体在源码上是如何实现的. 进程创建.线程切换.线程跨越CPU权限级.进程挂靠.杀 ...

  2. OMCS开发手册(01) -- 多媒体设备管理器

    我们在前面一篇文章中提到:任何一个OMCS的Client都有两种身份,Owner和Guest.多媒体设备管理器工作于OMCS客户端,并以Owner的身份管理本地所有的多媒体设备.多媒体设备管理器对象是 ...

  3. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  4. f2fs解析(八)node 管理器中的node_info

    free_info 功成身退,node_info顺利接班. // 这里还是蛮复杂的一件事,如果不搞清除的话,这个历史性的接班工作我们就接不上 上面说到 alloc_nid 和 alloc_nid_do ...

  5. f2fs解析(七)node管理器中的 free_nid 结构体

    除了node_info之外, node管理器中还有还有个重要的数据结构: struct free_nid { struct list_head list; /* for free node id li ...

  6. [置顶] Android布局管理器 - 详细解析布局实现

    布局管理器都是以ViewGroup为基类派生出来的; 使用布局管理器可以适配不同手机屏幕的分辨率,尺寸大小; 布局管理器之间的继承关系 : 在上面的UML图中可以看出, 绝对布局 帧布局 网格布局 相 ...

  7. cocos2D-x 3.5 引擎解析之--引用计数(Ref),自己主动释放池(PoolManager),自己主动释放池管理器( AutoreleasePool)

    #include <CCRef.h> Ref is used for reference count manangement. If a classinherits from Ref. C ...

  8. 【Android 应用开发】AndroidUI设计之 布局管理器 - 详细解析布局实现

    写完博客的总结 : 以前没有弄清楚的概念清晰化 父容器与本容器属性 : android_layout...属性是本容器的属性, 定义在这个布局管理器的LayoutParams内部类中, 每个布局管理器 ...

  9. AndroidUI设计之 布局管理器 - 详细解析布局实现

    写完博客的总结 : 以前没有弄清楚的概念清晰化 父容器与本容器属性 : android_layout...属性是本容器的属性, 定义在这个布局管理器的LayoutParams内部类中, 每个布局管理器 ...

随机推荐

  1. C#中DataGridView 对XML文档的使用

    窗体就只用添加一个DataGridView控件就可以了.详细解释请参照上一篇中的借鉴曲终人散博客园的文档. XML文档代码如下:test.xml <?xml version="1.0& ...

  2. css布局-双飞翼布局

    <div class="header">Header</div> <div class="bd"> <div clas ...

  3. mysq数据库相关操作

    (一)常用SQL语句 1.SELECT USER() 得到登陆的用户 2.SELECT VERSION() 得到mysql的版本信息 3.SELECT NOW() 得到当前的时间 4.SELECT D ...

  4. 基于opencv3.0和下的条形码与二维码识别

    其中对条码与二维码的识别分为以下4个步骤 1. 利用opencv和Zbar(或者Zxing)对标准的条形码图片(即没有多余背景干扰,且图片没有倾斜)进行解码,将解码信息显示出来,并与原始信息对比. 2 ...

  5. hibernate MTM 联合主键

    //适用于表里没有其他列,只有主键 //Course.java实体类 package com.tao.pojo; import java.util.HashSet; import java.util. ...

  6. 在MFC中使用按下按钮出现选择文件对话框,选中一个指定文件,并将其地址显示到指定的编辑框中

    其中,我们选择的文件后缀名为.xlsx,以只读和写操作方式,在所有的文件中选择.xlsl文档 CFileDialog dlg(true, _T(".xlsx"), NULL, OF ...

  7. 51nod1172 Partial Sums V2

    推一下式子发现是裸的FFT,$ans[k]=\sum_{i}\sum_{j}[i+j=k]a[i]*C_{m-1+j}^{j}$ 比较坑爹的就是这个模数,于是我们上任意模数的FFT 任意模数的FFT目 ...

  8. HEOI2018 游记

    day0早上没有跑操,收拾了点东西,带了点吃的,老妈打电话说要给送点厚衣服,好像确实有点冷.上午有考试,说自愿考,然后开到一半就没了,根本没人打啊,打了一道小园丁和老司机,一个一个部分分打,最后T了一 ...

  9. BZOJ_1833_[ZJOI2010]count 数字计数_数位DP

    BZOJ_1833_[ZJOI2010]count 数字计数_数位DP 题意: 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. 分析: 数位DP f[i][ ...

  10. 防XXS和SQL注入

    对网站发动XSS攻击的方式有很多种,仅仅使用php的一些内置过滤函数是对付不了的,即使你将filter_var,mysql_real_escape_string,htmlentities,htmlsp ...