房间管理事件抄送

更新时间: 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

房间结束的原因。包括:

  • 0:所有成员退出房间,房间正常结束。
  • 1:服务器错误。
  • 2:调用删除房间接口。
  • 3:超时结束。服务端创建房间后 24 小时内无人加入,房间自动销毁。

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

文件名。混合录制文件的 filename 带有 -mix 标记,具体命名规则如下:

  • 实时音视频单人录制文件:uid-cid-timestamp-sliceindex.filetype
  • 实时音视频混合录制文件:0-cid-timestamp-sliceindex-mix.filetype
  • 互动直播录制文件:taskId-cid-timestamp-sliceindex.filetype
md5 String e66ff965e0f43bd4e3897e84cb245dd0 文件的 MD5 值。
size String 24564438 文件大小,单位为字符。

type

String

mp4

文件的类型,即文件扩展名。包括:

  • aac:实时音频录制文件。
  • mp4:实时视频录制文件。
  • flv:互动直播视频录制文件。
url String http://. **.126.net/*/0-51657353189055-1606974909978-0-mix.mp4 文件的下载地址。如果点播域名开启了 URL 鉴权,您需要手工拼接防盗链 URL,即在原始地址的最后手工增加 wsSecretwsTime 相关的值,否则用户会无法访问相应的资源。拼接防盗链 URL 的方法请参考 防盗链 URL 构成
uid Number 0 用户账号,若该文件为混合录制文件,则该字段为 0。
taskId String abc 在使用旁路推流服务时,若开启了旁路推流录制功能,相应的录制文件上传抄送中会携带旁路推流任务的 taskid。该 taskId 不是创建云端录制任务时返回的 taskId,云端录制事件中不会上报 taskId。

mix

Boolean

true

是否为混合录制文件。

  • true:混合录制文件。
  • false:单人录制文件。
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

用户使用的设备类型。

  • 1:Android。
  • 2:iOS。
  • 4:Windows。
  • 5:本地服务端录制 SDK。
  • 6:Linux。
  • 7:推拉流 SDK。
  • 8:winphone。
  • 9:macOS。
  • 12:小程序。
  • 16:Web。
  • 32:安全通。

userRole

Number

N/A

用户角色。

  • 0:主播。
  • 1:观众。

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

用户使用的设备类型。

  • 1:Android。
  • 2:iOS。
  • 4:Windows。
  • 5:本地服务端录制 SDK。
  • 6:Linux。
  • 7:推拉流 SDK。
  • 8:winphone。
  • 9:macOS。
  • 12:小程序。
  • 16:Web。
  • 32:安全通。

reason

Number

0

发生该事件的原因。

  • 0:正常离开。
  • 1:服务器错误。
  • 2:被踢出。
  • 3:超时离开。
duration String 123 用户在房间里的通话时长。单位为秒。

userRole

Number

N/A

用户角色。

  • 0:主播。
  • 1:观众。

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

发生该事件的原因。包括:

  • 4:房间内并发人数达到上限。
  • 5:应用内并发人数达到上限。

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

该房间是否已推流,即对外直播。

  • 0:该房间未开启直播。
  • 1:该房间已直播推流。

status

String

SUCCESS

当前房间的状态。

  • SUCCESS:正常挂断。
  • RUNNING:运行中。

type

String

AUDIO

通话类型,其中:

  • AUDIO:表示音频通话。
  • VIDEO:表示音视频通话。
duration Number 12 所有房间成员在房间里的时长的总和,单位为秒(s)。
createtime Number 1606974909978 音视频通话开始的时间,可转为 13 位时间戳,单位为毫秒。
members array([]RoomReportDurationMember) 参考下表 RoomReportDurationMember 房间中的人员信息。

running

Boolean

true

是否为超长时长通话的过程中的抄送。

  • true:超长时长通话的过程中的抄送。
  • false:表示普通时长通话的抄送或者超长时长通话的最后一次抄送。

RoomReportDurationMember 类型的字段说明:

字段 类型 示例 说明
duration Number 12 用户过去 12 小时在房间里的通话时长,单位为秒。
uid Number 1234 用户 ID。

userType

Number

2

  • 2:IM。
  • 3:独立音视频。
  • 4:录制 SDK。

用户类型。

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

主播使用的设备类型。

  • 1:Android。
  • 2:iOS。
  • 4:Windows。
  • 5:本地服务端录制 SDK。
  • 6:Linux。
  • 7:推拉流 SDK。
  • 8:winphone。
  • 9:macOS。
  • 12:小程序。
  • 16:Web。
  • 32:安全通。

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

主播使用的设备类型。

  • 1:Android。
  • 2:iOS。
  • 4:Windows。
  • 5:本地服务端录制 SDK。
  • 6:Linux。
  • 7:推拉流 SDK。
  • 8:winphone。
  • 9:macOS。
  • 12:小程序。
  • 16:Web。
  • 32:安全通。

reason

Number

0

发生该事件的原因。

  • 0:正常离开。
  • 1:服务器错误。
  • 2:被踢出。
  • 3:超时离开。
duration String 123 主播在房间里的通话时长。单位为秒。

JSON 示例

JSON{
  "eventType": 16,
  "data": {
    "uid": 1234,
    "user": "1234",
    "channelId": 234,
    "channelName": "abc",
    "timestamp": 1606974909978,
    "platform": 1,
    "reason": 0,
    "duration": "123"
  }
}
此文档是否对你有帮助?
有帮助
去反馈
  • 事件类型
  • 1 房间启动
  • 2 房间结束
  • 3 录制文件下载信息
  • 4 用户进入房间
  • 5 用户离开房间
  • 6 用户加入房间失败
  • 7 创建房间失败
  • 8 房间时长消息抄送
  • 9 用户角色变更为观众
  • 10 用户角色变更为主播
  • 11 用户开始发布视频流
  • 12 用户停止发布视频流
  • 13 用户开始发布音频流
  • 14 用户停止发布音频流
  • 15 主播进入房间
  • 16 主播离开房间