全部产品
视频直播

主播终止连麦

更新时间:2017-09-06 11:46:48   分享:   

  1. 主播向APP Server发送终止连麦通知,并终止连麦(即结束播放副麦A、C的播放地址)。

    (客户端代码:StartLiveViewController.mm文件中,调用SDK接口abortChat)

    1. - (void)sendCloseInviteRequest {
    2. [SendMessageManager closeVideoCall:self.roomId block:^(NSError *error) {
    3. }];
    4. }
  2. APP Server向主播和A、B、C发送终止连麦的信号。

    (APP Server端代码:controller\videocallCtrl.js文件中)

    1. let liveInfo = yield live.getLives(roomId);
    2. if (!liveInfo || liveInfo.length == 0) {
    3. response.fail(res, {
    4. code: 2003,
    5. message: `${roomId}直播记录不存在`
    6. })
    7. return
    8. }
    9. //结束连麦推送
    10. let msg = util.createMqttMsg({
    11. roomId: roomId,
    12. uid: liveInfo.uid,
    13. name: liveInfo.name,
    14. }, 4);
  3. 副麦A退出连麦(即结束推流、结束播放主播和副麦C的播放地址,开始播放混流地址)。

    (客户端代码:LiveRoomViewController.m文件中,调用SDK接口offlineChat)

    1. [self.publiserVideoCall offlineChat];
  4. 副麦C退出连麦(即结束推流、结束播放主播和副麦A的播放地址,开始播放混流地址)。

    代码同上

  5. APP Server调用AliLive的混流接口,结束混流,A、C退出混流画面。至此,连麦终止。

    (APP Server端代码:controller\videocallCtrl.js文件中,调用OpenAPI接口StopMultipleStreamMixService)

    1. static closeMix(mainRoomId) {
    2. console.log(`关闭混流:mainRoomId=${mainRoomId}`);
    3. return cdn.stopMux(mainRoomId);
    4. }
本文导读目录
本文导读目录
以上内容是否对您有帮助?