流事件通知
与音视频channel相关的事件通知
1 创建 GLOBAL_PUBLIC CHANNEL
{"action":"AEC_LIVE_CREATE_CHANNEL_GLOBAL_PUBLIC","userId":"xxx","roomId":"xxx","channelId":"xxx","conCurrentNumber":"200","extra" : "xxx"} |
创建公开的CHANNEL,上传者和连麦者需要登录,观众不需要登录或其他权限即可观看。
userId: 申请创建channel的用户ID
roomId: 此channel对应的聊天室ID,如果无聊天功能,则没有roomId参数
channelId: 流ID
conCurrentNumber: 此房间的人数上限
extra: (可选)客户端SDK发过来的自定义数据
2 创建 LOGIN_PUBLIC CHANNEL
{"action":"AEC_LIVE_CREATE_CHANNEL_LOGIN_PUBLIC","userId":"xxx","roomId":"xxx","channelId":"xxx","conCurrentNumber":"200","extra":"xxx"} |
创建只对登录用户可见的CHANNEL,上传者、连麦者和观众都需要登录才可以参与或观看。
userId: 申请创建channel的用户ID。
roomId: 此channel对应的聊天室ID,如果无聊天功能,则没有roomId参数。
conCurrentNumber: 此房间的人数上限。
extra: (可选)客户端SDK发过来的自定义数据。
3 创建 GROUP_PUBLIC CHANNEL
{"action":"AEC_LIVE_CREATE_CHANNEL_GROUP_PUBLIC","userId":"xxx","groupId":"xxx","channelId":"xxx","extra":"xxx"} |
创建仅在群内能观看的CHANNEL,上传者、连麦者和观众都需要在这个群内才可参与或观看。
userId: 申请创建channel的用户ID。
groupId: 对应的群ID。
extra: (可选)客户端SDK发过来的自定义数据。
4 申请上传
{"action":"AEC_LIVE_APPLY_UPLOAD_CHANNEL","userId":"xxx","channelId":"xxx"} |
申请上传音视频流
userId: 申请上传的用户ID。
返回的data字段的json中,conCurrentNumber表示该channel的人数上限,如果该channelId类型为群直播(AEC_LIVE_CREATE_CHANNEL_GROUP_PUBLIC),还需要返回对应的groupId。
5 设置上传者
{"action":"AEC_LIVE_SET_CHANNEL_UPLOADER","userId":"xxx","channelId":"xxx"} |
房主(主播)申请设置某用户的上传权限,如果是公开(AEC_LIVE_CREATE_CHANNEL_GLOBAL_PUBLIC)类型的房间,则用户只需要登录就能申请上传,不需要房主指定权限,如果是其他类型的房间,则需要房主主动指定用户为上传者,然后上传者才能申请上传。
userId: 需要设置上传权限的用户ID。
6 取消上传权限
{"action":"AEC_LIVE_UNSET_CHANNEL_UPLOADER","userId":"xxx","channelId":"xxx"} |
房主(主播)申请取消某用户的上传权限。
userId: 需要取消上传权限的用户ID。
7 上传者断开连接(离开)
{"action":"AEC_LIVE_UPLOADER_DISCONNECT","userId":"xxx","channelId":"xxx"} |
userId: 断开连接的用户ID。
8 上传者正在上传中
{"action" : "AEC_LIVE_UPLOADER_UPLOADING","userId" : "xxx","channelId" : "xxx"} |
上传者正在上传,每分钟会调用一次此事件,可根据业务逻辑决定返回值,如用户余额不足,可通过此事件终止用户继续上传。
userId: 正在上传的用户ID。
9 关闭音视频流
{"action":"AEC_LIVE_CLOSE_CHANNEL","userId":"xxx","channelId":"xxx"} |
用户申请关闭音视频流。
userId: 关闭channel的用户ID。
10 删除音视频流
{"action":"AEC_LIVE_DELETE_CHANNEL","userId":"xxx","channelId":"xxx"} |
用户申请删除音视频流。
userId: 删除channel的用户ID。
11 用户开始观看
{"action":"AEC_LIVE_USER_ONLINE","userId":"xxx","channelId":"xxx","time":"xxx"} |
可以在此事件中检查用户余额。
12 用户观看音视频中,每分钟调用一次
{"action":"AEC_LIVE_USER_PLAYING","userId":"xxx","channelId":"xxx","time":"xxx","discharge":"xxx"} |
此事件每分钟回调一次,通知该用户正在观看音视频。可以在此事件中检查用户余额。如果余额不足,可以阻止用户继续观看。
其中discharge表示一分钟内消耗的流量,单位为字节。
13 用户停止观看
{"action":"AEC_LIVE_USER_OFFLINE","userId":"xxx","channelId":"xxx","time":"xxx","discharge":"xxx"} |
14 创建LOGIN_SPECIFY CHANNEL
暂未开放{"action" : "AEC_LIVE_CREATE_CHANNEL_LOGIN_SPECIFY","userId" : "xxx","roomId" : "xxx", "channelId" : "xxx","conCurrentNumber" : "200","extra(可选)" : "xxxx","specify" : "xxxx"}
15 创建GROUP_SPECIFY CHANNEL
暂未开放{"action" : "AEC_LIVE_CREATE_CHANNEL_GROUP_SPECIFY","userId" : "xxx","groupId" : "xxx","channelId" : "xxx","extra(可选)" : "xxxx","specify" : "xxxx"}
16 创建LIVEPROXY_GLOBAL_PUBLIC CHANNEL
创建拉流的channel
{“action” : “AEC_LIVE_LIVEPROXY_CREATE_CHANNEL_GLOBAL_PUBLIC”,”roomId” : “xxx”,”channelId” : “xxx”,”conCurrentNumber” : “200”,”extra(可选)” : “xxxx”}
17 申请拉流转发
{"action" : "AEC_LIVE_LIVEPROXY_APPLY_UPLOAD_CHANNEL","channelId" : "xxx"}
返回 {"status":"x","data":{"conCurrentNumber":"xxx"}}
18 关闭拉流channel
{"action" : "AEC_LIVE_LIVEPROXY_CLOSE_CHANNEL","channelId" : "xxx"}
返回 {"status":"x"}
19 删除拉流channel
{"action" : "AEC_LIVE_LIVEPROXY_DELETE_CHANNEL","channelId" : "xxx"}
返回 {"status":"x"}