房间管理事件抄送
更新时间: 2024/11/26 16:54:50
本文介绍了在音视频通话过程中,有关房间模块不同事件类型的触发条件、字段说明以及相应的 JSON 示例。
事件类型
event_type | 事件含义 |
---|---|
1 | 房间启动 |
2 | 房间结束 |
3 | 录制文件下载信息抄送 |
4 | 用户进入房间 |
5 | 用户离开房间 |
6 | 用户加入房间失败 |
7 | 创建房间失败 |
8 | 房间时长消息抄送 |
9 | 用户角色变更为观众 |
10 | 用户角色变更为主播 |
11 | 用户开始发布视频流 |
12 | 用户停止发布视频流 |
13 | 用户开始发布音频流 |
14 | 用户停止发布音频流 |
15 | 主播进入房间 |
16 | 主播离开房间 |
1 房间启动
成功创建房间、且第一位成员成功加入房间时会触发该抄送。该抄送表示实时音视频通话正式开始。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 1 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
channelId | Number | 123 | 房间 ID。 |
channelName | String | abc | 房间名。 |
createtime | Number | 1606974852379 | 音视频通话开始的时间,可转为 13 位时间戳,单位为毫秒。 |
timestamp | Number | 1606974852479 | 该事件的发生时间,13 位时间戳,单位为毫秒。可转为 Long 值。 |
JSON 示例
JSON{
"eventType": 1,
"data": {
"channelId": 123,
"channelName": "abc",
"createtime": 1606974852379,
"timestamp": 1606974852479
}
}
2 房间结束
房间结束时、销毁房间时会触发该抄送。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 2 | 事件类型 |
- data | JSON 对象 | - | 抄送消息体。 |
channelId | Number | 123 | 房间 ID。 |
channelName | String | abc | 房间名。 |
createtime | Number | 1606974852379 | 第一个用户加入音视频房间的时间,可转为 13 位时间戳,单位为毫秒。 |
timestamp | Number | 1606974852479 | 该事件的发生时间,13 位时间戳,单位为毫秒。可转为 Long 值。 |
reason |
Number |
0 |
房间结束的原因。包括:
|
JSON 示例
JSON{
"eventType": 2,
"data": {
"channelId": 123,
"channelName": "abc",
"creaetime": 1606974852379,
"timestamp": 1606974952479,
"reason": 0
}
}
3 录制文件下载信息
当录制文件生成完毕,并且上传到点播系统成功后触发本抄送。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 3 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
caller | Boolean | false | 无效字段,请忽略。 |
channelId | Number | 123 | 房间 ID。 |
channelName | String | 123 | 房间名称。 |
filename |
String |
0-51657353189055-1606974909978-0-mix.mp4 |
文件名。混合录制文件的
|
md5 | String | e66ff965e0f43bd4e3897e84cb245dd0 | 文件的 MD5 值。 |
size | String | 24564438 | 文件大小,单位为字符。 |
type |
String |
mp4 |
文件的类型,即文件扩展名。包括:
|
url | String | http://. **.126.net/*/0-51657353189055-1606974909978-0-mix.mp4 | 文件的下载地址。wsSecret 和 wsTime 相关的值,否则用户会无法访问相应的资源。拼接防盗链 URL 的方法请参考 防盗链 URL 构成。 |
uid | Number | 0 | 用户账号,若该文件为混合录制文件,则该字段为 0。 |
taskId | String | abc | 在使用旁路推流服务时,若开启了旁路推流录制功能,相应的录制文件上传抄送中会携带旁路推流任务的 taskid。 |
mix |
Boolean |
true |
是否为混合录制文件。
|
vid | String | 3333091818 | 点播文件 ID,通过该参数可以调用点播接口查询相关信息。 |
pieceIndex | String | 0 | 录制文件的切片索引,如果单通通话录制时长超过切片时长,则录制文件会被且被切割成多个文件。 |
timestamp | Number | 1606974909978 | 录制文件生成的系统时间。 |
JSON 示例
JSON{
"eventType": 3,
"data": {
"vid": "3231091818",
"pieceIndex": "0",
"filename": "0-53657353689055-1606974909978-0-mix.mp4",
"size": "24564438",
"type": "mp4",
"mix": true,
"uid": 2221,
"url": "http://*****.vod.126.net/*****/0-52657353689055-1606974909978-0-mix.mp4",
"channelId": "52657353689055",
"md5": "e66ff965e0f43bd4e3897e84cb245dd0",
"timestamp": "1606974909978"
}
}
4 用户进入房间
用户进入房间时,触发该消息抄送。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 4 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
uid | Number | 123 | 用户 UID。 |
user | String | 123 | 用户 UID。内容和 uid 字段相同。 |
channelId | Number | 123 | 房间 ID。 |
channelName | String | abc | 房间名。 |
timestamp | Number | 1606974909978 | 发生该事件的 13 位时间戳,单位为毫秒。 |
platform |
Number |
N/A |
用户使用的设备类型。
|
userRole |
Number |
N/A |
用户角色。
|
JSON 示例
JSON{
"eventType": 4,
"data": {
"uid": 2334,
"user": "2334",
"channelId": 123,
"channelName": "abc",
"timestamp": 1606974909978,
"platform": 1,
"userRole": 0
}
}
5 用户离开房间
每个用户离开房间时,均触发此抄送。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 5 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
uid | Number | 234 | 用户 UID。 |
user | String | 123 | 用户 UID。内容和 uid 字段相同。 |
channelId | Number | 234 | 房间 ID。 |
channelName | String | abc | 房间名。 |
timestamp | Number | 1606974909978 | 发生该事件的 13 位时间戳,单位为毫秒。 |
platform |
Number |
N/A |
用户使用的设备类型。
|
reason |
Number |
0 |
发生该事件的原因。
|
duration | String | 123 | 用户在房间里的通话时长。单位为秒。 |
userRole |
Number |
N/A |
用户角色。
|
JSON 示例
JSON{
"eventType": 5,
"data": {
"uid": 1234,
"user": "1234",
"channelId": 234,
"channelName": "abc",
"timestamp": 1606974909978,
"platform": 1,
"reason": 0,
"duration": "123",
"userRole": 0
}
}
6 用户加入房间失败
房间内并发人数达到上限,导致用户加入房间失败,此时会触发此抄送。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 6 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
uid | Number | 123 | 用户 UID。 |
user | String | 123 | 用户 UID。内容和 uid 字段相同。 |
channelMaxUser | Number | 1000 | 房间能承载的最大用户数。 |
channelName | String | abc | 房间名。 |
channelId | Number | 12345 | 房间 ID。 |
timestamp | Number | 1606974909978 | 发生该事件的 13 位时间戳,单位为毫秒。 |
reason |
Number |
4 |
发生该事件的原因。包括:
|
JSON 示例
JSON{
"eventType": 6,
"data": {
"uid": 1234,
"user": "1234",
"channelName": "abc",
"channelId": 234,
"timestamp": 1606974909978,
"reason": 4,
"channelMaxUser": 200
}
}
7 创建房间失败
用户创建房间失败时会触发此抄送。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 7 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
maxChannel | Number | 1234 | App 下能承载的最大房间数。 |
reason | Number | 123 | 7:App 内并发房间数达到上限。 |
channelId | Number | 234 | 房间 ID。 |
channelName | String | abc | 房间名。 |
timestamp | Number | 1606974909978 | 发生该事件的 13 位时间戳,单位为毫秒。 |
JSON 示例
JSON{
"eventType": 7,
"data": {
"maxChannel": 1234,
"channelName": "abc",
"channelId": 234,
"timestamp": 1606974909978,
"reason": 7
}
}
8 房间时长消息抄送
此抄送的触发场景包括:
- 房间结束时触发。
- 房间创建后,每 12 小时触发一次,直至房间结束。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 8 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
channelName | String | abc | 房间名。 |
channelId | Number | 123 | 房间 ID。 |
live |
Number |
1 |
该房间是否已推流,即对外直播。
|
status |
String |
SUCCESS |
当前房间的状态。
|
type |
String |
AUDIO |
通话类型,其中:
|
duration | Number | 12 | 所有房间成员在房间里的时长的总和,单位为秒(s)。 |
createtime | Number | 1606974909978 | 音视频通话开始的时间,可转为 13 位时间戳,单位为毫秒。 |
members | array([]RoomReportDurationMember) | 参考下表 RoomReportDurationMember | 房间中的人员信息。 |
running |
Boolean |
true |
是否为超长时长通话的过程中的抄送。
|
RoomReportDurationMember 类型的字段说明:
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
duration | Number | 12 | 用户过去 12 小时在房间里的通话时长,单位为秒。 |
uid | Number | 1234 | 用户 ID。 |
userType |
Number |
2
|
用户类型。 |
JSON 示例
JSON{
"eventType": 8,
"data": {
"channelName": "abc",
"channelId": 123,
"live": 1,
"status": "SUCCESS",
"type": "AUDIO",
"duration": 12,
"createtime": 1606974909978,
"members": [{
"duration": 12,
"uid": 1234,
"userType": 2
}],
"running": true
}
}
9 用户角色变更为观众
用户角色由主播变更为观众时,触发此抄送。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 9 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
uid | Number | 123 | 用户 UID。 |
channelName | String | abc | 房间名。 |
channelId | Number | 12345 | 房间 ID。 |
timestamp | Number | 1606974909978 | 发生该事件的 13 位时间戳,单位为毫秒。 |
JSON 示例
JSON{
"eventType": 9,
"data": {
"uid": 1234,
"channelName": "abc",
"channelId": 234,
"timestamp": 1606974909978
}
}
10 用户角色变更为主播
用户角色由观众变更为主播时,触发此抄送。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 10 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
uid | Number | 123 | 用户 UID。 |
channelName | String | abc | 房间名。 |
channelId | Number | 12345 | 房间 ID。 |
timestamp | Number | 1606974909978 | 发生该事件的 13 位时间戳,单位为毫秒。 |
JSON 示例
JSON{
"eventType": 10,
"data": {
"uid": 1234,
"channelName": "abc",
"channelId": 234,
"timestamp": 1606974909978
}
}
11 用户开始发布视频流
房间中的用户开始发布视频流数据时,触发此抄送。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 11 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
uid | Number | 123 | 用户 UID。 |
channelId | Number | 12345 | 房间 ID。 |
channelName | String | abc | 房间名。 |
timestamp | Number | 1606974909978 | 发生该事件的 13 位时间戳,单位为毫秒。 |
streamType | Number | 0 | 流类型。0 表示主流,1 表示辅流。 |
JSON 示例
JSON{
"eventType": 11,
"data": {
"uid": 1234,
"channelName": "abc",
"channelId": 12345,
"timestamp": 1606974909978,
"streamType": 0
}
}
12 用户停止发布视频流
房间中的用户停止发布视频流数据时,触发此抄送。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 12 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
uid | Number | 1233 | 用户 UID。 |
channelId | Number | 12345 | 房间 ID。 |
channelName | String | abc | 房间名。 |
timestamp | Number | 1606974909978 | 发生该事件的 13 位时间戳,单位为毫秒。 |
streamType | Number | 0 | 流类型。0 表示主流,1 表示辅流。 |
JSON 示例
JSON{
"eventType": 12,
"data": {
"uid": 1234,
"channelName": "abc",
"channelId": 12345,
"timestamp": 1606974909978,
"streamType": 0
}
}
13 用户开始发布音频流
房间中的用户开始发布音频流数据时,触发此抄送。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 13 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
uid | Number | 1234 | 用户 UID。 |
channelId | Number | 12345 | 房间 ID。 |
channelName | String | abc | 房间名。 |
timestamp | Number | 1606974909978 | 发生该事件的 13 位时间戳,单位为毫秒。 |
JSON 示例
JSON{
"eventType": 13,
"data": {
"uid": 1234,
"channelName": "abc",
"channelId": 12345,
"timestamp": 1606974909978
}
}
14 用户停止发布音频流
房间中的用户停止发布音频流数据时,触发此抄送。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 14 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
uid | Number | 1234 | 用户 UID。 |
channelId | Number | 12345 | 房间 ID。 |
channelName | String | abc | 房间名。 |
timestamp | Number | 1606974909978 | 发生该事件的 13 位时间戳,单位为毫秒。 |
JSON 示例
JSON{
"eventType": 14,
"data": {
"uid": 1234,
"channelName": "abc",
"channelId": 12345,
"timestamp": 1606974909978
}
}
15 主播进入房间
主播进入房间时,触发该消息抄送。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 15 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
uid | Number | 123 | 用户 UID。 |
user | String | 123 | 用户 UID。内容和 uid 字段相同。 |
channelId | Number | 123 | 房间 ID。 |
channelName | String | abc | 房间名。 |
timestamp | Number | 1606974909978 | 发生该事件的 13 位时间戳,单位为毫秒。 |
platform |
Number |
N/A |
主播使用的设备类型。
|
JSON 示例
JSON{
"eventType": 15,
"data": {
"uid": 2334,
"user": "2334",
"channelId": 123,
"channelName": "abc",
"timestamp": 1606974909978,
"platform": 1
}
}
16 主播离开房间
每个主播离开房间时,均触发此抄送。
字段说明
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
eventType | Number | 16 | 事件类型。 |
- data | JSON 对象 | - | 抄送消息体。 |
uid | Number | 234 | 用户 UID。 |
user | String | 123 | 用户 UID。内容和 uid 字段相同。 |
channelId | Number | 234 | 房间 ID。 |
channelName | String | abc | 房间名。 |
timestamp | Number | 1606974909978 | 发生该事件的 13 位时间戳,单位为毫秒。 |
platform |
Number |
N/A |
主播使用的设备类型。
|
reason |
Number |
0 |
发生该事件的原因。
|
duration | String | 123 | 主播在房间里的通话时长。单位为秒。 |
JSON 示例
JSON{
"eventType": 16,
"data": {
"uid": 1234,
"user": "1234",
"channelId": 234,
"channelName": "abc",
"timestamp": 1606974909978,
"platform": 1,
"reason": 0,
"duration": "123"
}
}