关键类整理 ---> ConferenceClient、ConferenceClientObserver.

一、ConferenceClient

ConferenceClient是一个应用程序在视频会议通信中用来交流的异步类。

该类实现了

ConferenceClientObserver :会议室客户端观察者 (接口)

ConferenceStreamAction : 会议室流表现形式(枚举)

RoomState :会议室的状态(枚举)

公共成员方法总结:

  ConferenceClient (ConferenceClientConfiguration configuration)
  这个构造函数执行的是会议的初始化工作
 
void  addObserver (ConferenceClientObserver observer)
  给会议客户端添加一个观察者
 
void  removeObserver (ConferenceClientObserver observer)
  移除会议客户端的观察者
 
void  join (final String token, final ActionCallback< User > callback)
  连接到特定的房间,并加入会议。
 
void  join (final String token, final ConnectionOptions options, final ActionCallback< User > callback)
  连接到特定的房间,并加入会议(附加连接时的属性配置)
 
synchronized void  publish (final Publishable stream, final PublishOptions option, final ActionCallback< Void > callback)
   发布当前的流(一般是本地流,附加发布时的属性配置)到当前的房间
 
synchronized void  publish (final Publishable stream, final ActionCallback< Void > callback)
  发布当前的流(一般是本地流)到当前的房间
 
void  addExternalOutput (final String serverUrl, final ActionCallback< ExternalOutputAck > callback)
  将会议室中的媒体流指向指定的目标
 
void  addExternalOutput (final String serverUrl, final ExternalOutputOptions options, final ActionCallback< ExternalOutputAck > callback)
  将会议室中的媒体流指向指定的目标
 
void  removeExternalOutput (final String serverUrl, final ActionCallback< Void > callback)
  停止将会议室中的媒体流指向指定的目标
 
void  updateExternalOutput (final String serverUrl, final ActionCallback< ExternalOutputAck > callback)
  更新会议室中的媒体流指向指定的目标
 
void  updateExternalOutput (final String serverUrl, final ExternalOutputOptions options, final ActionCallback< ExternalOutputAck > callback)
  更新会议室中的媒体流指向指定的目标
 
synchronized void  unpublish (final Publishable stream, final ActionCallback< Void > callback)
  撤销发布当前房间的流
 
synchronized void  subscribe (RemoteStream stream, SubscribeOptions option, ActionCallback< RemoteStream > callback)
  订阅当前房间的流
 
synchronized void  subscribe (final RemoteStream stream, final ActionCallback< RemoteStream > callback)
  订阅当前房间的流
 
synchronized void  unsubscribe (final RemoteStream stream, final ActionCallback< Void > callback)
  取消订阅当前房间的流。如果之前没有订阅,则会直接返回。
 
void  startRecorder (final ActionCallback< RecordAck > callback)
  开始在视频会议服务器上记录流。
 
void  startRecorder (final RecordOptions opt, final ActionCallback< RecordAck > callback)
  开始在视频会议服务器上记录视频流
 
void  stopRecorder (final RecordOptions opt, final ActionCallback< RecordAck > callback)
  停止在视频会议服务器上记录视频流Stop stream recorder on MCU server. More...
 
void  leave (ActionCallback< Void > callback)
  离开当前会议
 
void  getConnectionStats (Stream stream, ActionCallback< ConnectionStats > callback)
  获取统计数据从当前的指定流的链接
 
void  send (String message, ActionCallback< Void > callback)
  发送一个消息到当前的房间
 
void  send (String message, String receiver, final ActionCallback< Void > callback)
  发送一个消息到指定的接受者
 
void  pauseVideo (Publishable stream, final ActionCallback< Void > callback)
  暂停已发布视频流轨道的播放
 
void  pauseVideo (RemoteStream stream, final ActionCallback< Void > callback)
  暂停订阅视频流轨道的播放
 
void  playVideo (Publishable stream, final ActionCallback< Void > callback)
  将之前暂停的发布的视频轨道流播放
 
void  playVideo (RemoteStream stream, final ActionCallback< Void > callback)
  将之前暂停的订阅的视频轨道流播放
 
void  pauseAudio (Publishable stream, final ActionCallback< Void > callback)
  暂停发布流的音轨流的播放
 
void  pauseAudio (RemoteStream stream, final ActionCallback< Void > callback)
  暂停订阅流的音轨流的播放
 
void  playAudio (Publishable stream, final ActionCallback< Void > callback)
  播放之前暂停的发布流的音轨流
 
void  playAudio (RemoteStream stream, final ActionCallback< Void > callback)
  播放之前暂停的订阅流的音轨流
 
List< User >  getUsers ()
  获取已经加入该房间的用户们
 
List<RemoteStream getRemoteStreams ()
  获取之前已经在该房间发布的远端流
 
void  getRegion (RemoteStream stream, final ActionCallback< String > callback)
  获取远端流的区域ID
 
void  setRegion (RemoteStream stream, String region, final ActionCallback< Void > callback)
  设置远端流的区域ID
 
void 

onMessage (boolean local, String id, String message)

二、ConferenceClientObserver(接口)

公共成员方法:

void  onServerDisconnected ()
  当会议服务器连接断开的时候触发. 
 
void  onStreamAdded (RemoteStream remoteStream)
  当一个远端流被添加的时候触发.
 
void  onStreamRemoved (RemoteStream remoteStream)
  当远端流被移除的时候被触发.
 
void  onUserJoined (User user)
  当一个客户端加入这个房间的时候被触发.
 
void  onUserLeft (User user)
  当一个客户端离开这个房间的时候被触发.
 
void  onMessageReceived (String sender, String message, boolean broadcast)
  当接受到其他人发送的一个消息.
 
void  onRecorderAdded (String recorderId)
  当会议聊天服务器添加一个记录器的时候被触发.
 
void  onRecorderRemoved (String recorderId)
  当会议聊天服务器移除一个记录器的时候被触发.
 
void  onRecorderContinued (String recorderId)
  当会议聊天服务器继续一个记录器的时候被触发.

WebRTC 学习之 Intel® Collaboration Suite for WebRTC 关键类整理的更多相关文章

  1. WebRTC学习之 Intel® Collaboration Suite for WebRTC源码流程解读

    年后回来,因为新项目的需求,开始了解WebRTC相关的知识.目前接触的是Intel® Collaboration Suite for WebRTC.刚开始看SDK发现很多概念是我目前不知道的,于是恶补 ...

  2. WebRTC 学习之 WebRTC 简介

    本文使用的WebRTC相关API都是基于Intel® Collaboration Suite for WebRTC的. 相关文档链接:https://software.intel.com/sites/ ...

  3. [转]webrtc学习: 部署stun和turn服务器

    [转]webrtc学习: 部署stun和turn服务器 http://www.cnblogs.com/lingdhox/p/4209659.html webrtc的P2P穿透部分是由libjingle ...

  4. WebRTC学习笔记_Demo收集

    1.     WebRTC学习 1.1   WebRTC现状 本人最早接触WebRTC是在2011年底,那时Google已经在Android源代码中增加了webrtc源代码,放在/external/w ...

  5. WebRTC学习之九:摄像头的捕捉和显示

    较新的WebRTC源代码中已经没有了与VoiceEngine结构相应的VidoeEngine了,取而代之的是MeidaEngine.MediaEngine包括了MediaEngineInterface ...

  6. WebRTC学习

    1.     WebRTC学习 1.1   WebRTC现状 本人最早接触WebRTC是在2011年底,那时Google已经在Android源码中加入了webrtc源码,放在/external/web ...

  7. WebRTC学习与DEMO资源一览

    一. WebRTC学习 1.1   WebRTC现状 本人最早接触WebRTC是在2011年底,那时Google已经在Android源码中加入了webrtc源码,放在/external/webrtc/ ...

  8. webrtc 学习资源 http://www.cnblogs.com/lingyunhu/p/3578218.html

    Realtime/Working WebRTC Experiments It is a repository of uniquely experimented WebRTC demos; writte ...

  9. 【转】MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突

    [转]MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突 在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体 ...

随机推荐

  1. 阿里云ODPS <====>蚂蚁大数据

    1.命令行客户端工具的安装参考文档:http://repo.aliyun.com/odpscmd/?spm=a2c4g.11186623.2.17.5c185c23zHshCq 2.创建和查看表:ht ...

  2. Python入门:Anaconda和Pycharm的安装和配置

    Python入门:Anaconda和Pycharm的安装和配置  转自:https://www.cnblogs.com/yuxuefeng/articles/9235431.html 子曰:“工欲善其 ...

  3. React Native在window下的环境搭建(一)

    React Native官方开发文档 以下是本人抄录的: 初次接触React Native感觉和React很像,却是有点类似,但不完全是,React Native有自己的组件对象,不过它也自定义的组件 ...

  4. BuildTool

    (一)BuildTool是什么 BuildTool 构建工具  ,是一个把源代码生成可执行应用程序的过程自动化的程序(例如Android app生成apk).构建包括编译.连接跟把代码打包成可用的或可 ...

  5. python入门(二):isinstance、内置函数、常用运算等

    1.    isinstance(变量名,类型)                           #判断什么类型 ps: 只支持输入两个参数,输入3个参数会报错 >>> isin ...

  6. cast

    https://blog.csdn.net/seabeam/article/details/47841539 在UVM中经常可以看到$cast的身影,这是SV的build-in task之一,当然它还 ...

  7. jQuery实现动态分割div—通过拖动分隔栏实现上下、左右动态改变左右、上下两个相邻div的大小

    由jQuery实现上下.左右动态改变左右.上下两个div的大小,需要自己引入jquery1.8.0.min.js包 可用于页面布局. //============================ind ...

  8. vue-router 动态添加 路由

    动态添加路由可以用了做权限管理.登录后服务器端返回权限菜单,前端动态添加路由  然后在设置菜单 1.vue-router 有方法router.addRoutes(routes) 动态添加更多的路由规则 ...

  9. 阮一峰大神的快排?刚才还在纠结sort()的我!真是个小傻瓜

    看到这个标题之后 我毫不犹豫的点进去了 趁现在不忙我赶紧把代码写到了我的小本本上好好研究研究 (写的就不放进来了 有点丑) 研究了下  第一反应 明明能用sort()解决的 为什么非要写这么一大串 但 ...

  10. hibernate save数据的时候报错:ids for this class must be manually assigned before calling save()

    这个错误是因为eclipse  这种jpatools 自动生成的实体类内没把id 设置为自增,还有id的值在生成的时候默认为string 即使加上了也所以无法自增 ,所以还需要把string 换成In ...