Public 成员函数 | |
AgoraRtcConn (long cptr) | |
void | destroy () |
native int | connect (String token, String chan_id, String user_id) |
native int | disconnect () |
native int | startLastmileProbeTest (LastmileProbeConfig config) |
native int | stopLastmileProbeTest () |
native int | renewToken (String token) |
native RtcConnInfo | getConnInfo () |
native void | destroyConnInfo (RtcConnInfo info) |
native AgoraLocalUser | getLocalUser () |
native UserInfo | getUserInfo (String user_id) |
native void | destroyUserInfo (UserInfo info) |
native int | registerObserver (IRtcConnObserver observer) |
native int | unregisterObserver () |
native int | registerNetworkObserver (INetworkObserver observer) |
native int | unregisterNetworkObserver () |
native int | getConnId () |
native RtcStats | getTransportStats () |
native void | destroyTransportStats (RtcStats stats) |
native AgoraParameter | getAgoraParameter () |
native int | createDataStream (Out stream_id, int reliable, int ordered) |
native int | sendStreamMessage (int stream_id, String data, int length) |
native int | enableEncryption (int enabled, EncryptionConfig config) |
native int | sendCustomReportMessage (String id, String category, String event, String label, int value) |
AgoraRtcConn
类,用于管理 SDK 与 RTC 频道之间的连接。
连接完成之后,你可以通过 AgoraLocalUser
对象在 RTC 频道中发送和接收媒体流。
连接频道是异步操作,你可以通过 IRtcConnObserver
对象监听连接状态变化和事件。 AgoraRtcConn
还可以监控频道中的远端用户是否加入或离开频道。
io.agora.rtc.AgoraRtcConn.AgoraRtcConn | ( | long | cptr | ) |
构造函数。
native int io.agora.rtc.AgoraRtcConn.connect | ( | String | token, |
String | chan_id, | ||
String | user_id | ||
) |
连接 RTC 频道。
方法成功时,连接状态由 CONNECTION_STATE_DISCONNECTED(1)
变更为 CONNECTION_STATE_CONNECTING(2)
。
根据连接是否成功,连接状态会变更为 CONNECTION_STATE_CONNECTED(3)
或 CONNECTION_STATE_FAILED(5)
。SDK 会触发 onConnected
或 onDisconnected
提醒连接状态变更。
token | RTC token。 |
chan_id | 频道名。必须为字符串且长度不超过 64 字节。支持的字符类型包括:
|
user_id | 本地用户 ID。长度不超过 64 字节。如果你不设置用户 ID 或设为 null , SDK 在 onConnected 回调中自动返回一个 user ID。你必须自行记录并管理此 ID。根据你在 initialize 方法中选择的用户 ID 类型,该参数支持的字符集也不同:
|
native int io.agora.rtc.AgoraRtcConn.createDataStream | ( | Out | stream_id, |
int | reliable, | ||
int | ordered | ||
) |
创建数据流。
每个用户在每个频道中最多只能创建 5 个数据流。
reliable
设为 1
且 ordered
设为 0
。ordered
参数设置为 0
。stream_id | 输出参数,数据流 ID。 |
reliable | 该数据流是否可靠:
|
ordered | 该数据流是否有序:
|
void io.agora.rtc.AgoraRtcConn.destroy | ( | ) |
析构函数。
native void io.agora.rtc.AgoraRtcConn.destroyConnInfo | ( | RtcConnInfo | info | ) |
native void io.agora.rtc.AgoraRtcConn.destroyTransportStats | ( | RtcStats | stats | ) |
native void io.agora.rtc.AgoraRtcConn.destroyUserInfo | ( | UserInfo | info | ) |
native int io.agora.rtc.AgoraRtcConn.disconnect | ( | ) |
与 RTC 频道断开连接。
SDK 与频道断开连接时,连接状态变更为 CONNECTION_STATE_DISCONNECTED(1)
。你还可以通过 onDisconnected 回调得知。
native int io.agora.rtc.AgoraRtcConn.enableEncryption | ( | int | enabled, |
EncryptionConfig | config | ||
) |
开启或关闭内置加密。
在安全要求较高的场景下,声网建议你在加入频道前,调用本方法开启内置加密。
enabled | 是否开启内置加密:
|
config | 配置内置加密模式和密钥。详见 EncryptionConfig。 |
native AgoraParameter io.agora.rtc.AgoraRtcConn.getAgoraParameter | ( | ) |
native int io.agora.rtc.AgoraRtcConn.getConnId | ( | ) |
获取连接 ID。
native RtcConnInfo io.agora.rtc.AgoraRtcConn.getConnInfo | ( | ) |
获取连接信息。
native AgoraLocalUser io.agora.rtc.AgoraRtcConn.getLocalUser | ( | ) |
获取 AgoraLocalUser 对象。
native UserInfo io.agora.rtc.AgoraRtcConn.getUserInfo | ( | String | user_id | ) |
native int io.agora.rtc.AgoraRtcConn.registerNetworkObserver | ( | INetworkObserver | observer | ) |
注册网络状态 observer。
observer | INetworkObserver 对象。 |
native int io.agora.rtc.AgoraRtcConn.registerObserver | ( | IRtcConnObserver | observer | ) |
注册 RTC 连接 observer。你必须先创建 IRtcConnection
对象。
observer | IRtcConnObserver 对象。 |
native int io.agora.rtc.AgoraRtcConn.renewToken | ( | String | token | ) |
更新 Token。
Token 会在一定时间后过期。 当收到 onTokenPrivilegeWillExpire 回调时,你必须从服务端生成一个新的 token,并使用该方法更新 Token。否则,SDK 会与频道断开连接。
token | 新 Token。 |
native int io.agora.rtc.AgoraRtcConn.sendCustomReportMessage | ( | String | id, |
String | category, | ||
String | event, | ||
String | label, | ||
int | value | ||
) |
发送自定义上报消息。
id | 自定义事件的 ID。 |
category | 自定义事件的类型。 |
event | 需要上报的自定义事件。 |
label | 自定义事件的标签。 |
value | 自定义事件的值。 |
native int io.agora.rtc.AgoraRtcConn.sendStreamMessage | ( | int | stream_id, |
String | data, | ||
int | length | ||
) |
发送数据流消息。
该方法发送数据流消息到频道内所有用户。SDK 对该方法的实现进行了如下限制:
成功调用该方法后,远端会触发 onStreamMessage 回调,远端用户可以在该回调中获取接收到的流消息。
stream_id | 数据流 ID。可以通过 createDataStream 获取。 |
data | 待发送的数据。 |
length | 数据长度。 |
native int io.agora.rtc.AgoraRtcConn.startLastmileProbeTest | ( | LastmileProbeConfig | config | ) |
开始通话前网络质量探测。
开始通话前网络质量探测,向用户反馈上下行网络的带宽、丢包、网络抖动和往返时延数据。
启用该方法后,SDK 会依次返回如下 2 个回调:
config | Last mile 网络探测配置,详见 See LastmileProbeConfig。 |
native int io.agora.rtc.AgoraRtcConn.stopLastmileProbeTest | ( | ) |
停止通话前网络质量探测。
native int io.agora.rtc.AgoraRtcConn.unregisterNetworkObserver | ( | ) |
释放 INetworkObserver
对象。
native int io.agora.rtc.AgoraRtcConn.unregisterObserver | ( | ) |
释放 IRtcConnObserver
对象。