1、确定直播间内是否有距离很近的用户,排除是距离很近使声音重复录入造成的重音;
2、查看观众端的主动订阅接口,是否是即获取并订阅了合流,又获取订阅了分流;
正确示例:
//当前身份为主播,获取分流 if (room.remoteUsers.count) { NSMutableArray *streamArray = [NSMutableArray array]; for (RCRTCRemoteUser *user in room.remoteUsers) { if (user.remoteStreams.count) { [streamArray addObjectsFromArray:user.remoteStreams]; //当前主播订阅分流 } } }
//当前身份为观众,获取合流 NSArray *liveStreams = [room getLiveStreams]; if (liveStreams.count) { //观众订阅合流 } 3、查看房间回调事件中,是否有在分流的回调中判断主播身份,观众是否是在合流回调中订阅。
正确示例:
// 直播合流发布资源通知
- (void)didPublishLiveStreams:(NSArray<RCRTCInputStream *> *)streams { //观众在此处订阅合流; }
//远端用户发布资源通知
- (void)didPublishStreams:(NSArray<RCRTCInputStream *> *)streams{ if(当前身份为主播){ //订阅资源 } if(当前身份为观众){ //忽略资源通知 } }
