房间状态回调
# RTC 房间状态同步
本功能用于在音视频通话过程中,向 App 服务端同步房间的各种状态信息。
包括:音视频通话过程中的房间创建、销毁、用户加入房间、用户退出房间、发布音视频资源。
# 开通方式
如需要单独使用音视频状态同步功能,可提交工单申请开通,申请时需提交同步状态的目标应用服务器 URL 地址。
融云会将房间内所有信息都同步给这个地址,开通 30 分钟后生效。
接收状态地址示例:http(s): //example.com/state_receive.php
# 表单参数
名称 | 类型 | 说明 |
---|---|---|
appKey | string | 应用 AppKey,在开发者后台创建应用后获取 |
channelId | string | 房间 Id |
event | number | 事件类型: 1: 房间信息同步(定期); 2: 房间创建; 3: 房间销毁; 11: 成员加入; 12: 成员退出; 20: 资源发生变动(发布资源或者取消发布资源) |
userId | string | 当前事件的用户 Id |
timestamp | number | 当前事件发生的 Unix 时间戳 |
durationTime | number | 当 event 为成员退出时,此时间为该用户单次房间进出累计时长,当 event 为房间销毁时,此时间为房间总时长,单位为毫秒 |
token | string | 媒体资源订阅的鉴权 token 用于自备机录像等需要订阅资源的功能。 |
members | list | 用户资源信息 只有在房间信息同步时,members 里的用户资源信息列表才是全量的; 其他事件都只包含对应事件中增量的用户资源信息,如 user1 资源发布,那 members 里的信息只有 user1 的资源信息。 |
members.{id} .userId | string | 用户 ID |
members.{id} .data | dict | 用户发布的资源信息 |
members.{id} .data.uris | string | 序列化的用户资源信息集合,详情见下面说明。 |
请求方法: POST
Content-Type: application/json
Request:
{ "appKey": "appKey", "channelId": "roomId", "userId": "123", "event": 20, "timestamp": 1586244141831, "token": "tokenXXXXXXXZkSv/g262Z829cyG7K3dhBeWH8IMjcx7UZoaNPFqIY4ZlefkBnVXtz5O+IEfo2WgVpYrtn2qZ2DeXNwiMXsDr4YX/Q4/QkX2nG+mMv4UNf1wI7tfUo8Z0J/qKyZkFUDy", "extera": "", "members": [ { "userId": "123", "joinTime": 1586244140932, "data": { "uris": "[{\"mediaType\":0,\"msid\":\"123_RongCloudRTC\",\"uri\":\"{\\\"clusterId\\\":\\\"127.0.0.1:7788\\\",\\\"connectionId\\\":\\\"AAkxNTExMDExMDcAAzEyMwADMTIzAA==\\\",\\\"resourceId\\\":\\\"123_RongCloudRTC_0\\\",\\\"serverId\\\":\\\"127.0.0.1:7788\\\",\\\"ssrc\\\":565942760,\\\"timestamp\\\":0}\",\"tag\":\"RongCloudRTC\",\"state\":1},{\"mediaType\":1,\"msid\":\"123_RongCloudRTC\",\"uri\":\"{\\\"clusterId\\\":\\\"127.0.0.1:7788\\\",\\\"connectionId\\\":\\\"AAkxNTExMDExMDcAAzEyMwADMTIzAA==\\\",\\\"resourceId\\\":\\\"123_RongCloudRTC_1\\\",\\\"serverId\\\":\\\"127.0.0.1:7788\\\",\\\"ssrc\\\":2336866097,\\\"timestamp\\\":0}\",\"tag\":\"RongCloudRTC\",\"state\":1}]" } } ] }
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# uris 反序列化字段说明
uris 为当前用户发布的资源信息集合,反序列化后的字段说明如下:
参数名称 | 类型 | 说明 |
---|---|---|
tag | String | 用户发布资源时指定的标签信息,用于表示每一组流 |
msid | string | 发布的资源唯一 ID |
mediaType | number | 资源的类型 0: 音频; 1: 视频 |
state | number | 资源的状态 0: 关闭; 1: 开启 |
uri | string | 资源全网唯一的资源 URI |
[ { "mediaType":0, "msid":"123_RongCloudRTC", "uri":"{\"clusterId\":\"127.0.0.1:7788\",\"connectionId\":\"AAkxNTExMDExMDcAAzEyMwADMTIzAA==\",\"resourceId\":\"123_RongCloudRTC_0\",\"serverId\":\"127.0.0.1:7788\",\"ssrc\":565942760,\"timestamp\":0}", "tag":"RongCloudRTC", "state":1 }, { "mediaType":1, "msid":"123_RongCloudRTC", "uri":"{\"clusterId\":\"127.0.0.1:7788\",\"connectionId\":\"AAkxNTExMDExMDcAAzEyMwADMTIzAA==\",\"resourceId\":\"123_RongCloudRTC_1\",\"serverId\":\"127.0.0.1:7788\",\"ssrc\":2336866097,\"timestamp\":0}", "tag":"RongCloudRTC", "state":1 } ]
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16