双向互动直播

  1. 初始化

    // 设置AccessKey
    [BDCloudAVBidirectRTMPSession setPlayerAccessKey:kAccessKey];
    
    NSURL *url = [NSURL URLWithString:@"<rtmp url>"];
    UserRole role = <user role>;
    NSString *userId = @"<user's id>";
    self.session = [[BDCloudAVBidirectRTMPSession alloc] initWithURL:url
                                                                role:role
                                                                userId:userId];
    
    // 设置事件回调
    self.session.delegate = self;
    
    // 添加预览窗口
    [self.view addSubView:self.session.view];
    
  2. 开始预览

    参考视频录制章节。

  3. 特效处理

    参考视频录制章节。

  4. 连接服务器

    [self.session connect];
    
  5. 开始推流

    [self.session start];
    
  6. 观众端播放

    NSURL *url = [NSURL URLWithString:@"<rtmp url>"];
    [self.session startPlaybackWithURL:url];
    
    // 添加播放窗口
    [self.view addSubView:self.session.playView];
    
  7. 请求连麦

    NSURL *url = [NSURL URLWithString:@"<rtmp url>"];
    NSString *userId = @"<user's id>";
    [self.session startCall:url userId:userId];
    
  8. 拒绝连麦

    NSURL *url = [NSURL URLWithString:@"<rtmp url>"];
    NSString *userId = @"<user's id>";
    [self.session stopCall:url userId:userId];
    
  9. 停止推流

    [self.session stop];
    
  10. 停止预览

    参考视频录制章节。

  11. 断开连接

    [self.session disconnect];