互动直播 iOS 源码导读

概述

互动直播是网易云通信的一款针对目前市场比较热门的直播解决方案。在方案中结合了网易云通信 IM 能力的聊天室模型和网易云通信音视频能力的互动直播模型。在使用本解决方案之前请务必了解聊天室和互动直播能力。

旁路直播的逻辑

由于聊天室和多人会议都不是直接针对直播的方案模型,所以需要在应用上层补充一些控制指令来保证直播业务逻辑。 控制指令分为两套:

点对点系统通知

进入麦序队列

参数 说明
type 自定义系统通知类型:加入连麦队列通知 NTESLiveCustomNotificationTypePushMic
roomid 房间ID 聊天室ID
style 网络通话类型 NIMNetCallType枚举
info 进入聊天队列用户信息 {"nick" : "","avatar" : ""} 字典

退出麦序队列

参数 说明
type 自定义系统通知类型:退出连麦队列通知 NTESLiveCustomNotificationTypePopMic
roomid 房间ID 聊天室ID

主播同意连麦

参数 说明
type 自定义系统通知类型:主播同意连麦通知 NTESLiveCustomNotificationTypeAgreeConnectMic
roomid 房间ID 聊天室ID
style 连麦者连麦方式 NIMNetCallType枚举

连麦者拒绝连麦

当连麦者受到主播同意连麦通知时,会检查自身的连麦状态,如果连麦状态过期则需要发送一条拒绝消息告诉主播

参数 说明
type 自定义系统通知类型:连麦者拒绝连麦通知 NTESLiveCustomNotificationTypeRejectAgree
roomid 房间ID 聊天室ID

主播强制连麦者断开

参数 说明
type 自定义系统通知类型:主播强制连麦者断开 NTESLiveCustomNotificationTypeForceDisconnect
roomid 房间ID 聊天室ID

聊天室广播消息

连麦者已连麦

参数 说明
uid 连麦者的 accid
nick 连麦者的昵称
avatar 连麦者的头像
style 连麦者的连麦方式

连麦者已断开

参数 说明
uid 连麦者的 accid