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(当前身份为观众){ //忽略资源通知 } }