跨频道媒体流转发

  • Electron

更新时间不可用

pauseAllChannelMediaRelay

暂停向所有目标频道转发媒体流。

TypeScript
abstract pauseAllChannelMediaRelay(): number;

开始跨频道转发媒体流后,如果你需要暂停向所有频道转发媒体流,可以调用该方法;暂停后,如果要恢复跨频道媒体流转发,可以调用 resumeAllChannelMediaRelay 方法。

注: 该方法需要在调用 startOrUpdateChannelMediaRelay 开始跨频道媒体流转发后调用。

返回值

  • 0: 方法调用成功。

  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

    • -5: 方法调用被拒绝。当前没有正在进行的跨频道媒体流转发。

所属接口类

pauseAllChannelMediaRelayEx

暂停向所有目标频道转发媒体流。

TypeScript
abstract pauseAllChannelMediaRelayEx(connection: RtcConnection): number;

开始跨频道转发媒体流后,如果你需要暂停向所有频道转发媒体流,可以调用该方法;暂停后,如果要恢复跨频道媒体流转发,可以调用 resumeAllChannelMediaRelay 方法。

注: 该方法需要在调用 startOrUpdateChannelMediaRelayEx 开始跨频道媒体流转发后调用。

参数

参数名描述
connection

Connection 信息。详见 RtcConnection。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。

  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

    • -5: 方法调用被拒绝。当前没有正在进行的跨频道媒体流转发。

所属接口类

resumeAllChannelMediaRelay

恢复向所有目标频道转发媒体流。

TypeScript
abstract resumeAllChannelMediaRelay(): number;

调用 pauseAllChannelMediaRelay 方法后,如果你需要恢复向所有目标频道转发媒体流,可以调用该方法。

注: 该方法需要在 pauseAllChannelMediaRelay 后调用。

返回值

  • 0:方法调用成功。

  • < 0:方法调用失败。详见错误码了解详情和解决建议。

    • -5: 方法调用被拒绝。当前没有暂停的跨频道媒体流转发。

所属接口类

resumeAllChannelMediaRelayEx

恢复向所有目标频道转发媒体流。

TypeScript
abstract resumeAllChannelMediaRelayEx(connection: RtcConnection): number;

调用 pauseAllChannelMediaRelayEx 方法后,如果你需要恢复向所有目标频道转发媒体流,可以调用该方法。

注: 该方法需要在 pauseAllChannelMediaRelayEx 后调用。

参数

参数名描述
connection

Connection 信息。详见 RtcConnection。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。

  • < 0:方法调用失败。详见错误码了解详情和解决建议。

    • -5: 方法调用被拒绝。当前没有暂停的跨频道媒体流转发。

所属接口类

startOrUpdateChannelMediaRelay

开始或更新跨频道媒体流转发。

TypeScript
abstract startOrUpdateChannelMediaRelay(
    configuration: ChannelMediaRelayConfiguration
  ): number;

首次成功调用该方法将开始跨频道转发媒体流。如需将流转发到多个目标频道,或退出当前的转发频道,可以再次调用该方法添加或移除转发的目标频道。该功能最多支持将媒体流转发至 6 个目标频道。 成功调用该方法后,SDK 会触发 onChannelMediaRelayStateChanged 回调,报告当前的跨频道媒体流转发状态。常见状态如下:

注:

  • 请在成功加入频道后调用该方法。
  • 在直播场景中,只有角色为主播的用户才能调用该方法。
  • 跨频道媒体流转发功能需要联系技术支持开通。
  • 该功能不支持 String 型 UID。

参数

参数名描述
configuration

跨频道媒体流转发参数配置。详见 ChannelMediaRelayConfiguration。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。

  • < 0:方法调用失败。详见错误码了解详情和解决建议。

    • -1: 一般性的错误(未明确归类)。
    • -2: 参数无效。
    • -8:内部状态错误。可能因为用户角色不是主播。

所属接口类

startOrUpdateChannelMediaRelayEx

开始或更新跨频道媒体流转发。

TypeScript
abstract startOrUpdateChannelMediaRelayEx(
    configuration: ChannelMediaRelayConfiguration,
    connection: RtcConnection
  ): number;

首次成功调用该方法将开始跨频道转发媒体流。如需将流转发到多个目标频道,或退出当前的转发频道,可以再次调用该方法添加或移除转发的目标频道。该功能最多支持将媒体流转发至 6 个目标频道。 成功调用该方法后,SDK 会触发 onChannelMediaRelayStateChanged 回调,报告当前的跨频道媒体流转发状态。常见状态如下:

注:

  • 请在成功加入频道后调用该方法。
  • 在直播场景中,只有角色为主播的用户才能调用该方法。
  • 跨频道媒体流转发功能需要联系技术支持开通。
  • 该功能不支持 String 型 UID。

参数

参数名描述
configuration

跨频道媒体流转发参数配置。详见 ChannelMediaRelayConfiguration。

connection

Connection 信息。详见 RtcConnection。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。

  • < 0:方法调用失败。详见错误码了解详情和解决建议。

    • -1: 一般性的错误(未明确归类)。
    • -2: 参数无效。
    • -8:内部状态错误。可能因为用户角色不是主播。

所属接口类

stopChannelMediaRelay

停止跨频道媒体流转发。一旦停止,主播会退出所有目标频道。

TypeScript
abstract stopChannelMediaRelay(): number;

成功调用该方法后,SDK 会触发 onChannelMediaRelayStateChanged 回调。如果报告 RelayStateIdle (0) 和 RelayOk (0),则表示已停止转发媒体流。

注: 如果该方法调用不成功,SDK 会触发 onChannelMediaRelayStateChanged 回调,并报告状态码 RelayErrorServerNoResponse (2) 或 RelayErrorServerConnectionLost (8)。你可以调用 leaveChannel 方法离开频道,跨频道媒体流转发会自动停止。

返回值

  • 0:方法调用成功。

  • < 0:方法调用失败。详见错误码了解详情和解决建议。

    • -5: 方法调用被拒绝。当前没有正在进行的跨频道媒体流转发。

所属接口类

stopChannelMediaRelayEx

停止跨频道媒体流转发。一旦停止,主播会退出所有目标频道。

TypeScript
abstract stopChannelMediaRelayEx(connection: RtcConnection): number;

成功调用该方法后,SDK 会触发 onChannelMediaRelayStateChanged 回调。如果报告 RelayStateIdle (0) 和 RelayOk (0),则表示已停止转发媒体流。

注: 如果该方法调用不成功,SDK 会触发 onChannelMediaRelayStateChanged 回调,并报告状态码 RelayErrorServerNoResponse (2) 或 RelayErrorServerConnectionLost (8)。你可以调用 leaveChannel 方法离开频道,跨频道媒体流转发会自动停止。

参数

参数名描述
connection

Connection 信息。详见 RtcConnection。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。

  • < 0:方法调用失败。详见错误码了解详情和解决建议。

    • -5: 方法调用被拒绝。当前没有正在进行的跨频道媒体流转发。

所属接口类

onChannelMediaRelayStateChanged

跨频道媒体流转发状态发生改变回调。

TypeScript
onChannelMediaRelayStateChanged?(
    state: ChannelMediaRelayState,
    code: ChannelMediaRelayError
  ): void;

当跨频道媒体流转发状态发生改变时,SDK 会触发该回调,并报告当前的转发状态以及相关的错误信息。

参数

参数名描述
state

跨频道媒体流转发状态。详见 ChannelMediaRelayState。

code

跨频道媒体流转发出错的错误码。详见 ChannelMediaRelayError。

表格内容超出当前宽度,可横向滚动查看更多列。

所属接口类