音视频直播场景下不同的观众如何获取合流布局中各主播的位置
主要思路步骤:
1、设置合流布局的操作由主播完成,当主播合流布局设置成功后,可以将各个主播在合流布局中的位置尺寸存放在房间的 KV 属性中;
2、主播每次设置合流都去更新这个 KV 并通知给房间内的其他人,观众获取到 KV 后,根据 KV 中的尺寸数据与观众手机上渲染视图的大小计算主播的实际占位区域。
需要注意的细节:
1、如果使用了融云的 IM 聊天室的话,建议使用聊天室的 KV 属性设置( https://doc.rongcloud.cn/im/IOS/5.X/noui/chatroom/chatroomExtension 1 ):
[[RCIMClient sharedRCIMClient] setChatRoomEntry:chatroomId
key:key
value:value
sendNotification:isNotice
autoDelete:isDelete
notificationExtra:extra
success:^{
} error:^(RCErrorCode nErrorCode) {
}];
如果只是使用音视频房间,没有绑定对应的聊天室聊天的话,可以使用音视频房间的 KV 属性设置( https://doc.rongcloud.cn/live/IOS/5.X/room/attribute 1 ):
[[RCRTCEngine sharedInstance].room setAttribute:[info toJsonString]
forKey:@"属性 Key 值"
message:message
completion:^(BOOL isSuccess, RCRTCCode code) {}];
2、KV 内存放的数据是客户根据业务自主决定的,可以存放一个 mode,mode 内绑定主播id,对应的位置以及其他信息。设置时机可以在设置合流布局成功后( https://doc.rongcloud.cn/live/IOS/5.X/stream/mcu ):
[self.liveInfo setMixConfig:config completion:^(BOOL isSuccess, RCRTCCode code) {
if (isSuccess) {
//设置 kv
} else {
NSLog(@"%ld",(long)code);
}
}];
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!