关键类整理 ---> 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. jmeter 连接 MySql

    1.连接 mysql 驱动包安装下载 1)首先需要安装 mysql 驱动包,下载地址:https://dev.mysql.com/downloads/connector/j/5.1.html 2)下载 ...

  2. [INet] WebSocket 数据收发的详细过程

    WebSocket 和 HTTP 相似,只是一个应用层协议,对下层透明,所以不涉及 TCP/IP. 由于浏览器支持了 WebSocket,所以在用 JS 写客户端的时候,是无需考虑数据的编码解码的. ...

  3. angular中使用ckplayer播放器

    原文地址:https://www.cnblogs.com/jying/p/9519557.html ,转载请说明出处. ckplayer官网:http://www.ckplayer.com 使用ckp ...

  4. html 跳转页面传参、点击获取DOM参数

    虽然现在前端框架已经很多,尤其是几大流行框架,比如Vue,React,Angular 等,已经去DOM化,但是还是有很多公司仍在使用 HTML + CSS + JS . 这里记载一下用到的HTML传参 ...

  5. 微信小程序--getLocation需要在app.json中声明permission字段

    在微信小程序开发中,需要获取用户所在地理位置,结果提示‘getLocation需要在app.json中声明permission字段’ 这是因为开发者需要填写获取用户地理位置的用途说明. 具体解决方法: ...

  6. Ubuntu安装软件提示boot空间不足

    用sudo apt-get install gitlab-ci-multi-runner安装应用都会出现“gzip: stdout: No space left on device”的问题. boot ...

  7. JS 操作样式 style

    1. 任何支持 style 特性的 HTML 元素在 JavaScript 中都对应着有一个 style 属性,指向一个 CSSStyleDeclaration 的一个实例对象,包含该元素的内嵌sty ...

  8. POJ-2387.Til the Cows Come Home.(五种方法:Dijkstra + Dijkstra堆优化 + Bellman-Ford + SPFA + Floyd-Warshall)

    昨天刚学习完最短路的算法,今天开始练题发现我是真的菜呀,居然能忘记邻接表是怎么写的,真的是菜的真实...... 为了弥补自己的菜,我决定这道题我就要用五种办法写出,并在Dijkstra算法堆优化中另外 ...

  9. 基于python的selenium自动化测试环境搭建

    Windows下的环境搭建: 1.安装python2.7.152.cmd里敲pip install selenium3.安装firefox47.geckodriver11(并将geckodriver. ...

  10. [leetcode]282. Expression Add Operators 表达式添加运算符

    Given a string that contains only digits 0-9 and a target value, return all possibilities to add bin ...