跨频道PK
功能描述
跨频道PK,指主播的媒体流可以同时转发进多个直播频道,实现主播跨频道与其他主播实时互动的场景。其中:
- 频道中的所有主播可以看见彼此,并听到彼此的声音。
- 频道中的观众可以看到所有主播,并听到主播的声音。 该功能因其实时性和互动性,尤其适用于连麦 PK、在线合唱等直播场景,在增加直播趣味的同时,有效吸粉。
示例项目
我们提供了开源的跨频道 PK 转发示例项目,你可以前往下载,并参考其中的源代码。
iOS: [CloudHub-Active] android:[CloudHub-Active]
实现方法
实现跨频道 PK 功能前,请确保你已在项目中实现基本的实时音视频功能,详见如下文档:互动直播
CloudHub SDK 有如下跨频道媒体流转发接口,支持将源频道中的媒体流转发至最多 4 个目标频道,实现跨直播间连麦功能:
startChannelMediaRelay
updateChannelMediaRelay
stopChannelMediaRelay
在跨频道媒体流转发转发过程中,SDK 会通过 onChannelMediaRelayStateChanged
回调报告媒体流转发的状态和事件,你可以参考如下状态码或事件码的含义实现相关的业务逻辑
状态码 | 描述 |
---|---|
CloudHub_RELAY_STATE_IDLE | 0:SDK正在初始化 |
CloudHub_RELAY_STATE_CONNECTING | 1:SDK 尝试跨频道 |
CloudHub_RELAY_STATE_RUNNING | 2:源频道主播成功加⼊⽬标频道 |
CloudHub_RELAY_STATE_FAILURE | 3:发⽣异常,详⻅ code 中提示的错误信息 |
API 参考
Android 参考
iOS 参考
web 参考
开发注意事项
该功能最多支持将媒体流转发至 4 个目标频道。转发过程中,如果想添加或删除目标频道,可以调用
updateChannelMediaRelay
方法。该功能不支持 String 型用户 ID。
在设置源频道信息时,请确保 uid 必须为 0,且用于生成 token 的 uid 也必须为 0。
在成功调用
startChannelMediaRelay
方法后,如果想再次调用该方法,必须先调用stopChannelMediaRelay
方法退出当前的转发状态。