NIMSDK-AOS  9.19.0
RTSManager.java
浏览该文件的文档.
1 package com.netease.nimlib.sdk.rts;
2 
3 import com.netease.nimlib.rts.RTSManagerImpl;
16 
17 import java.util.List;
18 
19 /**
20  * 双人白板通话
21  */
22 public abstract class RTSManager {
23 
24  /**
25  * 获取抽象类具体实现对象
26  *
27  * @return RTSManager对象
28  */
29  public static RTSManager getInstance() {
30  return RTSManagerImpl.InstanceHolder.instance;
31  }
32 
33  /**
34  * 设置网络代理,需要在发起会话前设置
35  *
36  * @param proxy 代理信息
37  */
38  public abstract void setNetworkProxy(RTSNetworkProxy proxy);
39 
40 
41  /**
42  * 获取已经设置的网络代理
43  */
44  public abstract RTSNetworkProxy getNetworkProxy();
45 
46  /**
47  * **************************** 控制请求接口 *******************************
48  */
49 
50  /**
51  * (发送方)发起会话, 调用此接口对方会收到相应的会话请求通知
52  *
53  * @param account 对方帐号
54  * @param tunTypes 通道类型集合:AUDIO、DATA
55  * @param options 可选参数: 是否录制通道数据
56  * @param notifyOption 可选参数: 推送相关参数控制
57  * @param callback 回调函数,返回RTSData
58  * @return Session ID,若返回null,表示发起失败,注意:音频通道同时只能有一个会话开启。
59  * 回调onFailed错误码:
60  * 200:成功
61  * 414:参数错误
62  * 509:通道失效
63  * 11001:无可送达的被叫方,主叫方可直接挂断
64  * 501:数据库失败
65  * 514:服务不可用
66  */
67  public abstract String start(String account, List<RTSTunnelType> tunTypes, RTSOptions options,
68  RTSNotifyOption notifyOption, RTSCallback<RTSData> callback);
69 
70  /**
71  * (接收方)接受会话
72  *
73  * @param sessionId 会话ID
74  * @param options 可选参数:是否录制通道数据
75  * @param callback 回调函数,返回本地通道初始化是否成功
76  * @return 是否成功调用,若返回false,表示接受失败,注意:音频通道同时只能有一个会话开启。
77  * 回调onFailed错误码:
78  * -1:接受失败,本地正在使用语音通道。
79  */
80  public abstract boolean accept(String sessionId, RTSOptions options, RTSCallback<Boolean> callback);
81 
82  /**
83  * (接受方)拒绝会话或者结束会话
84  *
85  * @param sessionId 会话ID
86  * @param callback 回调函数
87  * @return 是否成功调用
88  */
89  public abstract boolean close(String sessionId, RTSCallback<Void> callback);
90 
91  /**
92  * 发送控制指令
93  *
94  * @param sessionId 会话ID
95  * @param data 控制指令内容
96  * @param callback 回调函数
97  * @return 是否调用成功
98  */
99  public abstract boolean sendControlCommand(String sessionId, String data, RTSCallback<Void> callback);
100 
101  /**
102  * ****************************** 通知接口 **********************************
103  */
104 
105  /**
106  * 注册/注销监听收到的会话请求
107  * 建议在APP启动时就添加此监听
108  *
109  * @param observer 观察者,参数为会话的信息
110  * @param register true为注册,false为注销
111  */
112  public abstract void observeIncomingSession(Observer<RTSData> observer, boolean register);
113 
114  /**
115  * 注册/注销发起会话后,被叫方的响应(接听、拒绝、忙)
116  *
117  * @param sessionId 会话ID
118  * @param observer 观察者, 参数为被叫方的响应
119  * @param register true为注册,false为注销
120  * @return 是否成功调用
121  */
122  public abstract boolean observeCalleeAckNotification(String sessionId, Observer<RTSCalleeAckEvent> observer, boolean
123  register);
124 
125  /**
126  * 注册/注销同时在线的其他端对主叫方的响应
127  *
128  * @param sessionId 会话ID
129  * @param observer 观察者,参数为同时在线的其他端响应主叫方的同步通知
130  * @param register true为注册,false为注销
131  * @return 是否成功调用
132  */
133  public abstract boolean observeOnlineAckNotification(String sessionId, Observer<RTSOnlineAckEvent> observer, boolean
134  register);
135 
136  /**
137  * 注册/注销会话对方挂断的通知
138  *
139  * @param sessionId 会话ID
140  * @param observer 观察者, 参数为对方挂断信息
141  * @param register true为注册,false为注销
142  * @return 是否成功调用
143  */
144  public abstract boolean observeHangUpNotification(String sessionId, Observer<RTSCommonEvent> observer, boolean
145  register);
146 
147  /**
148  * 注册/注销通道状态变化的通知
149  *
150  * @param sessionId 会话ID
151  * @param observer 观察者,参数为通话会话(通道)状态回调(例如是否连接上服务器,通道是否有成员加入等)
152  * @param register true为注册,false为注销
153  * @return 是否成功调用
154  */
155  public abstract boolean observeChannelState(String sessionId, RTSChannelStateObserver observer, boolean register);
156 
157  /**
158  * 注册/注销会话控制消息
159  *
160  * @param sessionId 会话ID
161  * @param observer 观察者, 参数为接收到的会话控制消息
162  * @param register true为注册,false为注销
163  * @return 是否成功调用
164  */
165  public abstract boolean observeControlNotification(String sessionId, Observer<RTSControlEvent> observer, boolean
166  register);
167 
168  /**
169  * 注册/注销到来的会话或者自己发起的会话(自己或者对方无响应)超时的通知,默认超时时间为40秒
170  *
171  * @param sessionId 会话ID
172  * @param observer 观察者,参数为超时事件详细信息
173  * @param register true为注册,false为注销
174  * @return 是否成功调用
175  */
176  public abstract boolean observeTimeoutNotification(String sessionId, Observer<RTSTimeOutEvent> observer, boolean
177  register);
178 
179  /**
180  * **************************** 数据通道收发 *******************************
181  */
182 
183  /**
184  * 向指定会话的某个通道中的某个用户发送数据,也可以广播给所有用户(在RTSTunData中,对方帐号填null)
185  *
186  * @param data 要发送的数据信息,其中toAccount表示目标用户(填null,表示广播给所有用户)
187  * @return 参数是否有效
188  */
189  public abstract boolean sendData(RTSTunData data);
190 
191  /**
192  * 注册/注销对方从某个通道发来的数据
193  *
194  * @param sessionId 会话ID
195  * @param observer 观察者,参数为收到的数据信息
196  * @param register true为注册,false为注销
197  */
198  public abstract boolean observeReceiveData(String sessionId, Observer<RTSTunData> observer, boolean register);
199 
200  /**
201  * **************************** 音频控制 *******************************
202  */
203 
204  /**
205  * 静音开关
206  * @param sessionId 会话ID
207  * @param mute 是否静音
208  */
209  public abstract void setMute(String sessionId, boolean mute);
210 
211  /**
212  * 是否静音
213  * @param sessionId 会话ID
214  * @return
215  */
216  public abstract boolean isMuted(String sessionId);
217 
218  /**
219  * 扬声器开关
220  * @param sessionId 会话ID
221  * @param enable 是否打开
222  */
223  public abstract void setSpeaker(String sessionId, boolean enable);
224 
225  /**
226  * 是否打开扬声器
227  * @param sessionId 会话ID
228  * @return
229  */
230  public abstract boolean isSpeakerOn(String sessionId);
231 }
abstract boolean isMuted(String sessionId)
是否静音
abstract boolean observeCalleeAckNotification(String sessionId, Observer< RTSCalleeAckEvent > observer, boolean register)
注册/注销发起会话后,被叫方的响应(接听、拒绝、忙)
abstract boolean observeChannelState(String sessionId, RTSChannelStateObserver observer, boolean register)
注册/注销通道状态变化的通知
会话类型(需要支持的通道类型:语音通道、数据通道)
被叫方操作通知 如果对方同意,SDK自动启动所有需要的通道,启动也可能失败,请见参数
abstract boolean close(String sessionId, RTSCallback< Void > callback)
(接受方)拒绝会话或者结束会话
abstract String start(String account, List< RTSTunnelType > tunTypes, RTSOptions options, RTSNotifyOption notifyOption, RTSCallback< RTSData > callback)
**************************** 控制请求接口 *******************************
abstract boolean observeTimeoutNotification(String sessionId, Observer< RTSTimeOutEvent > observer, boolean register)
注册/注销到来的会话或者自己发起的会话(自己或者对方无响应)超时的通知,默认超时时间为40秒 ...
abstract boolean sendControlCommand(String sessionId, String data, RTSCallback< Void > callback)
发送控制指令
abstract boolean accept(String sessionId, RTSOptions options, RTSCallback< Boolean > callback)
(接收方)接受会话
Created by huangjun on 2015/8/5.
Definition: RTSOptions.java:6
abstract boolean observeControlNotification(String sessionId, Observer< RTSControlEvent > observer, boolean register)
注册/注销会话控制消息
abstract void setNetworkProxy(RTSNetworkProxy proxy)
设置网络代理,需要在发起会话前设置
abstract RTSNetworkProxy getNetworkProxy()
获取已经设置的网络代理
static RTSManager getInstance()
获取抽象类具体实现对象
Definition: RTSManager.java:29
abstract void setMute(String sessionId, boolean mute)
**************************** 音频控制 *******************************
abstract boolean sendData(RTSTunData data)
**************************** 数据通道收发 *******************************
abstract void observeIncomingSession(Observer< RTSData > observer, boolean register)
****************************** 通知接口 **********************************
数据通道收发的数据 Created by huangjun on 2015/7/1.
Definition: RTSTunData.java:10
abstract boolean isSpeakerOn(String sessionId)
是否打开扬声器
abstract boolean observeOnlineAckNotification(String sessionId, Observer< RTSOnlineAckEvent > observer, boolean register)
注册/注销同时在线的其他端对主叫方的响应
abstract void setSpeaker(String sessionId, boolean enable)
扬声器开关
abstract boolean observeHangUpNotification(String sessionId, Observer< RTSCommonEvent > observer, boolean register)
注册/注销会话对方挂断的通知
推送通知选项参数(主要针对iOS推送)
abstract boolean observeReceiveData(String sessionId, Observer< RTSTunData > observer, boolean register)
注册/注销对方从某个通道发来的数据