agora::rtc::IRtmpConnection类 参考
abstract
IRtmpConnection
类,用于管理 SDK 与 CDN 之间的连接。
连接完成之后,你可以通过 IRtmpLocalUser 对象在 CDN 中推流。
连接 CDN 是异步操作,你可以通过 IRtmpConnectionObserver 对象监听连接状态变化和事件。
构造及析构函数说明
~IRtmpConnection()
|
成员函数说明
connect()
|
连接 CDN。
成功调用该方法后,连接状态由 STATE_DISCONNECTED(1)
变更为 STATE_CONNECTING(2)
。
根据连接是否成功,连接状态会有如下变化:
- 连接成功:连接状态变更为
STATE_CONNECTED(3)
,SDK 会触发 onConnected 回调。 - 连接失败:连接状态变更为
STATE_FAILED(5)
,SDK 会触发 onConnectionFailure 回调。
参数
参数名 | 描述 |
---|---|
url | CDN 推流地址。格式为 RTMP。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。 |
ares | 用于 SDK 的生命周期保护,填写默认值即可。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
- -2 (
ERR_INVALID_ARGUMENT
): 参数无效。 - -8(
ERR_INVALID_STATE
): 当前连接状态不是STATE_DISCONNECTED(1)
。
- -2 (
disconnect()
|
与 CDN 断开连接。
成功调用该方法后,连接状态变更为 STATE_DISCONNECTED(1)
,同时 SDK 会触发 onDisconnected 回调。
参数
参数名 | 描述 |
---|---|
ares | 用于 SDK 的生命周期保护,填写默认值即可。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
getConnectionInfo()
|
获取连接信息。
返回值
- RtmpConnectionInfo 对象:方法调用成功。
- 空指针:方法调用失败。
getRtmpLocalUser()
|
获取本地用户对象的指针。每个连接仅对应一个本地用户。
返回值
- IRtmpLocalUser 对象:方法调用成功。
- 空指针:方法调用失败。
registerObserver()
|
注册 CDN 连接 observer。
你必须先创建 IRtmpConnectionObserver
对象。
参数
参数名 | 描述 |
---|---|
observer | |
ares | 用于 SDK 的生命周期保护,填写默认值即可。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
unregisterObserver()
|
销毁 CDN 连接 observer。
参数
参数名 | 描述 |
---|---|
observer |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。