流事件通知

与音视频channel相关的事件通知

1 创建 GLOBAL_PUBLIC CHANNEL

{"action":"AEC_LIVE_CREATE_CHANNEL_GLOBAL_PUBLIC","userId":"xxx","roomId":"xxx","channelId":"xxx","conCurrentNumber":"200","extra" : "xxx"}
//返回 {"status":"x"}

创建公开的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"}
//返回 {"status":"x"}

创建只对登录用户可见的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"}
//返回 {"status":"x"}

创建仅在群内能观看的CHANNEL,上传者、连麦者和观众都需要在这个群内才可参与或观看。
userId: 申请创建channel的用户ID。
groupId: 对应的群ID。
extra: (可选)客户端SDK发过来的自定义数据。

4 申请上传

{"action":"AEC_LIVE_APPLY_UPLOAD_CHANNEL","userId":"xxx","channelId":"xxx"}
//返回 {"status":"x","data":{"conCurrentNumber":"xxx","groupId(可选)":"xxxx"}}

申请上传音视频流
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"}
//返回 {"status":"x"}

房主(主播)申请设置某用户的上传权限,如果是公开(AEC_LIVE_CREATE_CHANNEL_GLOBAL_PUBLIC)类型的房间,则用户只需要登录就能申请上传,不需要房主指定权限,如果是其他类型的房间,则需要房主主动指定用户为上传者,然后上传者才能申请上传。
userId: 需要设置上传权限的用户ID。

6 取消上传权限

{"action":"AEC_LIVE_UNSET_CHANNEL_UPLOADER","userId":"xxx","channelId":"xxx"}
//返回 {"status":"x"}

房主(主播)申请取消某用户的上传权限。
userId: 需要取消上传权限的用户ID。

7 上传者断开连接(离开)

{"action":"AEC_LIVE_UPLOADER_DISCONNECT","userId":"xxx","channelId":"xxx"}
//返回 {"status":"x"}

userId: 断开连接的用户ID。

8 上传者正在上传中

{"action" : "AEC_LIVE_UPLOADER_UPLOADING","userId" : "xxx","channelId" : "xxx"}
//返回 {"status":"x"}

上传者正在上传,每分钟会调用一次此事件,可根据业务逻辑决定返回值,如用户余额不足,可通过此事件终止用户继续上传。
userId: 正在上传的用户ID。

9 关闭音视频流

{"action":"AEC_LIVE_CLOSE_CHANNEL","userId":"xxx","channelId":"xxx"}
//返回 {"status":"x"}

用户申请关闭音视频流。
userId: 关闭channel的用户ID。

10 删除音视频流

{"action":"AEC_LIVE_DELETE_CHANNEL","userId":"xxx","channelId":"xxx"}
//返回 {"status":"x"}

用户申请删除音视频流。
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"}