跨频道媒体流转发
- Android
更新时间不可用
pauseAllChannelMediaRelay
暂停向所有目标频道的跨频道媒体流转发。
public abstract int pauseAllChannelMediaRelay();你可以调用该方法暂停向所有目标频道转发媒体流。如需恢复转发,请调用 resumeAllChannelMediaRelay 方法。
注: 请在调用 startOrUpdateChannelMediaRelay 方法之后调用该方法。
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见错误码了解详情和解决建议。
- -5:调用被拒绝,当前没有正在进行的跨频道媒体流转发。
所属接口类
pauseAllChannelMediaRelayEx
暂停向所有目标频道的跨频道媒体流转发。
public abstract int pauseAllChannelMediaRelayEx(RtcConnection connection);废弃
自 v4.2.0 版本废弃,请改用 startOrUpdateChannelMediaRelayEx。
你可以调用该方法暂停向所有目标频道转发媒体流。如需恢复转发,请调用 resumeAllChannelMediaRelay 方法。
注: 请在调用 startOrUpdateChannelMediaRelayEx 方法后调用此方法。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
connection | 连接信息。详见 RtcConnection。 |
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见错误码了解详情和解决建议。
- -5:调用被拒绝,当前没有正在进行的跨频道媒体流转发。
所属接口类
resumeAllChannelMediaRelay
恢复向所有目标频道的跨频道媒体流转发。
public abstract int resumeAllChannelMediaRelay();调用 pauseAllChannelMediaRelay 后,你可以调用该方法恢复媒体流的转发。
注: 请在调用 pauseAllChannelMediaRelay 后再调用该方法。
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见错误码了解详情和解决建议。
- -5:调用被拒绝,当前没有已暂停的跨频道媒体流转发。
所属接口类
resumeAllChannelMediaRelayEx
恢复向所有目标频道的跨频道媒体流转发。
public abstract int resumeAllChannelMediaRelayEx(RtcConnection connection);调用 pauseAllChannelMediaRelayEx 后,可以调用此方法恢复媒体流的转发。
注: 请在调用 pauseAllChannelMediaRelayEx 方法后再调用此方法。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
connection | 连接信息。详见 RtcConnection。 |
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见错误码了解详情和解决建议。
- -5:调用被拒绝,当前没有处于暂停状态的跨频道媒体流转发。
所属接口类
startOrUpdateChannelMediaRelay
开始或更新跨频道媒体流转发。
public abstract int startOrUpdateChannelMediaRelay(ChannelMediaRelayConfiguration channelMediaRelayConfiguration);自从
自 v4.2.0 版本新增。
首次成功调用该方法会将媒体流从源频道转发到目标频道。若需将媒体流转发到其他频道,或退出当前的某个媒体流转发,可再次调用该方法以更新目标频道。该功能最多支持将媒体流转发到六个目标频道。
注: 请在加入频道后调用该方法。该方法仅在你是直播频道中的主播时生效。跨频道媒体流转发功能需联系技术支持开启。该 API 不支持字符串用户 User Account。
相关回调
成功调用该方法后,SDK 会触发 onChannelMediaRelayStateChanged 回调报告媒体流转发的状态。
- 如果 onChannelMediaRelayStateChanged 回调返回
RELAY_STATE_RUNNING(2)和RELAY_OK(0),表示 SDK 成功开始将媒体流从源频道转发到目标频道。 - 如果回调返回
RELAY_STATE_FAILURE(3),表示媒体流转发过程中发生异常。
参数
| 参数名 | 描述 |
|---|---|
channelMediaRelayConfiguration | 媒体流转发的配置。详见 ChannelMediaRelayConfiguration。 |
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见错误码了解详情和解决建议。
- -1:发生通用错误(无明确原因)。
- -2:参数无效。
- -8:内部状态错误,可能是因为用户不是主播。
所属接口类
startOrUpdateChannelMediaRelayEx
开始或更新跨频道媒体流转发。
public abstract int startOrUpdateChannelMediaRelayEx(ChannelMediaRelayConfiguration channelMediaRelayConfiguration, RtcConnection connection);自从
自 v4.2.0 版本新增。
首次成功调用该方法会将媒体流从源频道转发到目标频道。若需将媒体流转发到其他频道,或退出当前的某个媒体流转发,可再次调用该方法以更新目标频道。该功能最多支持将媒体流转发到六个目标频道。
注:
- 请在加入频道后调用该方法。
- 该方法仅在你是直播频道中的主播时有效。
- 跨频道媒体流转发功能需联系技术支持开启。
- 该 API 不支持字符串用户 User Account。
适用场景
该方法适用于多频道场景。
相关回调
成功调用该方法后,SDK 会触发 onChannelMediaRelayStateChanged 回调报告媒体流转发的状态。
- 若回调返回
RELAY_STATE_RUNNING(2)和RELAY_OK(0),表示 SDK 成功开始将媒体流从源频道转发到目标频道。 - 若回调返回
RELAY_STATE_FAILURE(3),表示媒体流转发过程中发生异常。
参数
| 参数名 | 描述 |
|---|---|
channelMediaRelayConfiguration | 媒体流转发的配置。详见 ChannelMediaRelayConfiguration。 |
connection | 连接信息。详见 RtcConnection。 |
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见错误码了解详情和解决建议。
- -1:发生通用错误(无明确原因)。
- -2:参数无效。
- -8:内部状态错误,可能是因为用户不是主播。
所属接口类
stopChannelMediaRelay
停止跨频道媒体流转发。
public abstract int stopChannelMediaRelay();调用该方法后,主播会退出所有目标频道。
注: 如果方法调用失败,SDK 会通过 onChannelMediaRelayStateChanged 回调报告 RELAY_ERROR_SERVER_NO_RESPONSE(2)或 RELAY_ERROR_SERVER_CONNECTION_LOST(8)错误码。你也可以调用 leaveChannel 方法离开频道,媒体流转发会自动停止。
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见错误码了解详情和解决建议。
- -5:调用被拒绝,当前没有正在进行的跨频道媒体流转发。
所属接口类
stopChannelMediaRelayEx
停止跨频道媒体流转发。
public abstract int stopChannelMediaRelayEx(RtcConnection connection);调用该方法停止跨频道媒体流转发。一旦转发停止,主播会退出所有目标频道。
注: 如果方法调用失败,SDK 会通过 onChannelMediaRelayStateChanged 回调报告 RELAY_ERROR_SERVER_NO_RESPONSE(2)或 RELAY_ERROR_SERVER_CONNECTION_LOST(8)错误码。你可以调用 leaveChannel 方法离开频道,媒体流转发会自动停止。
适用场景
该方法适用于多频道场景。
参数
| 参数名 | 描述 |
|---|---|
connection | 连接信息。详见 RtcConnection。 |
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见错误码了解详情和解决建议。
- -5:调用被拒绝,当前没有正在进行的跨频道媒体流转发。
所属接口类
onChannelMediaRelayStateChanged
跨频道媒体流转发状态发生变化回调。
public void onChannelMediaRelayStateChanged(int state, int code)该回调返回当前跨频道媒体流转发的错误信息。
触发时机
该回调在跨频道媒体流转发状态发生变化时被触发。
参数
| 参数名 | 描述 |
|---|---|
state | 跨频道媒体流转发的状态码:
|
code | 跨频道媒体流转发的错误码:
|