类型: interface
混音配置
| 方法 | 描述 |
|---|---|
| type | 混音播放类型 |
| play_count | 混音播放次数 + play_count <= 0: 无限循环 + play_count == 1: 播放一次(默认) + play_count > 1: 播放 play_count 次 |
| pitch | 与音乐文件原始音调相比的升高/降低值,取值范围为 [-12,12],默认值为 0。每相邻两个值的音高距离相差半音,正值表示升调,负值表示降调。 |
| start_pos | 混音起始位置。默认值为 0,单位为毫秒。 |
type
类型: AudioMixingType
混音播放类型
play_count
类型: number
混音播放次数
pitch
类型: number
与音乐文件原始音调相比的升高/降低值,取值范围为 [-12,12],默认值为 0。每相邻两个值的音高距离相差半音,正值表示升调,负值表示降调。
start_pos
类型: number
混音起始位置。默认值为 0,单位为毫秒。
类型: enum
混音播放类型
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAudioMixingTypePlayout | 0 | 仅本地播放 |
| kAudioMixingTypePublish | 1 | 仅远端播放 |
| kAudioMixingTypePlayoutAndPublish | 2 | 本地和远端同时播放 |
类型: interface
混音配置
| 方法 | 描述 |
|---|---|
| play_count | 混音播放次数 + play_count <= 0: 无限循环 + play_count == 1: 播放一次(默认) + play_count > 1: 播放 play_count 次 |
| start_pos | 混音起始位置。默认值为 0,单位为毫秒。 |
| callback_on_progress_interval | 设置音频文件混音时,收到 onMediaPlayerPlayingProgress 的间隔。单位毫秒。 + interval > 0 时,触发回调。实际间隔为 10 的倍数。如果输入数值不能被 10 整除,将自动向上取整。例如传入 52,实际间隔为 60 ms。+ interval <= 0 时,不会触发回调。 |
| sync_progress_to_record_frame | 在采集音频数据时,附带本地混音文件播放进度的时间戳。启用此功能会提升远端人声和音频文件混音播放时的同步效果。 |
| auto_play | 是否自动播放。如果不自动播放,调用 startAudioMixing 播放音乐文件。 |
| type | 混音播放类型 |
play_count
类型: number
混音播放次数
start_pos
类型: number
混音起始位置。默认值为 0,单位为毫秒。
callback_on_progress_interval
类型: string
设置音频文件混音时,收到 onMediaPlayerPlayingProgress 的间隔。单位毫秒。
52,实际间隔为 60 ms。sync_progress_to_record_frame
类型: boolean
在采集音频数据时,附带本地混音文件播放进度的时间戳。启用此功能会提升远端人声和音频文件混音播放时的同步效果。
注意
true 时开启此功能,false 时关闭此功能,默认为关闭。auto_play
类型: boolean
是否自动播放。如果不自动播放,调用 startAudioMixing 播放音乐文件。
type
类型: AudioMixingType
混音播放类型
类型: enum
混音播放声道类型
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAudioMixingDualMonoModeAuto | 0 | 和音频文件一致 |
| kAudioMixingDualMonoModeL | 1 | 只能听到音频文件中左声道的音频 |
| kAudioMixingDualMonoModeR | 2 | 只能听到音频文件中右声道的音频 |
| kAudioMixingDualMonoModeMix | 3 | 能同时听到音频文件中左右声道的音频 |
用户信息
类型
{
uid: string;
extra_info?: string;
}
ts成员
| 名称 | 类型 | 描述 |
|---|---|---|
| uid | string | 用户 ID。该字符串符合正则表达式:[a-zA-Z0-9_@\-\.]{1,128}。 你需要自行设置或管理 uid,并保证同一房间内每个 uid 的唯一性。 |
| extra_info | string | undefined | 用户的额外信息,最大长度为 200 字节。会在 onUserJoined 中回调给远端用户。 |
类型: interface
房间参数配置。房间是 RTC 通话的抽象概念。在同一个房间中的用户可以进行音视频通话。
| 方法 | 描述 |
|---|---|
| room_profile_type | 房间模式,默认为普通音视频通话模式,进房后不可更改。 |
| is_auto_publish | 是否自动发布音视频流,默认为自动发布。 创建和加入多房间时,只能将其中一个房间设置为自动发布。若每个房间均不做设置,则默认在第一个加入的房间内自动发布流。 若调用 setUserVisibility 将自身可见性设为 false,无论是默认的自动发布流还是手动设置的自动发布流都不会进行发布,你需要将自身可见性设为 true 后方可发布。 |
| is_auto_subscribe_audio | 是否自动订阅音频流,默认为自动订阅。包含主流和屏幕流。 进房后,你可以调用 subscribeStream 修改订阅设置。 |
| is_auto_subscribe_video | 是否自动订阅主视频流,默认为自动订阅。包含主流和屏幕流。 进房后,你可以调用 subscribeStream 修改订阅设置。 |
| remote_video_config | 远端视频流参数 |
room_profile_type
类型: RoomProfileType | undefined
房间模式,默认为普通音视频通话模式,进房后不可更改。
is_auto_publish
类型: boolean | undefined
是否自动发布音视频流,默认为自动发布。
创建和加入多房间时,只能将其中一个房间设置为自动发布。若每个房间均不做设置,则默认在第一个加入的房间内自动发布流。
若调用 setUserVisibility 将自身可见性设为 false,无论是默认的自动发布流还是手动设置的自动发布流都不会进行发布,你需要将自身可见性设为 true 后方可发布。
is_auto_subscribe_audio
类型: boolean | undefined
是否自动订阅音频流,默认为自动订阅。包含主流和屏幕流。
进房后,你可以调用 subscribeStream 修改订阅设置。
is_auto_subscribe_video
类型: boolean | undefined
是否自动订阅主视频流,默认为自动订阅。包含主流和屏幕流。
进房后,你可以调用 subscribeStream 修改订阅设置。
remote_video_config
类型: RemoteVideoConfig | undefined
远端视频流参数
类型: enum
房间模式
根据所需场景,选择合适的房间模式,应用不同的音视频算法、视频参数和网络配置
调用 setAudioProfile 改变音频参数配置
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kRoomProfileTypeCommunication | 0 | 默认场景,通用模式 与 kRoomProfileTypeMeeting = 16 配置相同。你可以联系技术支持更换默认配置参数。 |
| kRoomProfileTypeGame | 2 | 游戏语音模式,低功耗、低流量消耗。 低端机在此模式下运行时,进行了额外的性能优化: + 部分低端机型配置编码帧长 40/60 + 部分低端机型关闭软件 3A 音频处理 增强对 iOS 其他屏幕录制进行的兼容性,避免音频录制被 RTC 打断。 |
| kRoomProfileTypeCloudGame | 3 | 云游戏模式。 如果你的游戏场景需要低延迟的配置,使用此设置。 此设置下,弱网抗性较差。 |
| kRoomProfileTypeLowLatency | 4 | 低时延模式。SDK 会使用低延时设置。 当你的场景非游戏或云游戏场景,又需要极低延时的体验时,可以使用该模式。 该模式下,音视频通话延时会明显降低,但同时弱网抗性、通话音质等均会受到一定影响。 在使用此模式前,强烈建议咨询技术支持同学。 |
| kRoomProfileTypeChat | 5 | 适用于 1 vs 1 音视频通话 |
| kRoomProfileTypeChatRoom | 6 | 适用于 3 人及以上纯语音通话 音视频通话为媒体模式,上麦时切换为通话模式 |
| kRoomProfileTypeLwTogether | 7 | 实现多端同步播放音视频,适用于 “一起看” 或 “一起听” 场景。 该场景中,使用 RTC 信令同步播放进度,共享的音频内容不通过 RTC 进行传输。 |
| kRoomProfileTypeGameHD | 8 | 适用于对音质要求较高的游戏场景,优化音频 3A 策略,只通过媒体模式播放音频 |
| kRoomProfileTypeCoHost | 9 | 适用于直播中主播之间连麦的业务场景。 直播时通过 CDN,发起连麦 PK 时使用 RTC。 |
| kRoomProfileTypeInteractivePodcast | 10 | 适用于单主播和观众进行音视频互动的直播。通话模式,上下麦不会有模式切换,避免音量突变现象 |
| kRoomProfileTypeKTV | 11 | 线上 KTV 场景,音乐音质,低延迟 使用 RTC 传输伴奏音乐,混音后的歌声,适合独唱或单通合唱 |
| kRoomProfileTypeChorus | 12 | 适合在线实时合唱场景,高音质,超低延迟。使用本配置前请联系技术支持进行协助完成其他配置。 |
| kRoomProfileTypeVRChat | 13 | 适用于 VR 场景。支持最高 192 KHz 音频采样率,可开启球形立体声。自 V3.45 及之后版本支持。 |
| kRoomProfileTypeGameStreaming | 14 | 适用于 1 vs 1 游戏串流,支持公网或局域网。 |
| kRoomProfileTypeLanLiveStreaming | 15 | 适用于局域网的 1 对多视频直播,最高支持 8K, 60 帧/秒, 100 Mbps 码率 需要在局域网配置私有化部署媒体服务器。 |
| kRoomProfileTypeMeeting | 16 | 适用于云端会议中的个人设备 |
| kRoomProfileTypeMeetingRoom | 17 | 适用于云端会议中的会议室终端设备,例如 Rooms,投屏盒子等。 |
| kRoomProfileTypeClassroom | 18 | 适用于课堂互动,房间内所有成员都可以进行音视频互动 当你的场景中需要同时互动的成员超过 10 人时使用此模式 |
类型: interface
远端视频帧信息
| 方法 | 描述 |
|---|---|
| framerate | 期望订阅的最高帧率,单位:fps,默认值为 0 即满帧订阅,设为大于 0 的值时开始生效。 当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。 仅码流支持 SVC 分级编码特性时方可生效。 |
| resolution_width | 视频宽度,单位:px |
| resolution_height | 视频高度,单位:px |
framerate
类型: number | undefined
期望订阅的最高帧率,单位:fps,默认值为 0 即满帧订阅,设为大于 0 的值时开始生效。
当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。
仅码流支持 SVC 分级编码特性时方可生效。
resolution_width
类型: number | undefined
视频宽度,单位:px
resolution_height
类型: number | undefined
视频高度,单位:px
类型: enum
媒体流类型
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kMediaStreamTypeAudio | 1 | 只控制音频 |
| kMediaStreamTypeVideo | 2 | 只控制视频 |
| kMediaStreamTypeBoth | 3 | 同时控制音频和视频 |
类型: enum
暂停/恢复接收远端的媒体流类型。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kRTCPauseResumeControlMediaTypeAudio | 0 | 只控制音频,不影响视频 |
| kRTCPauseResumeControlMediaTypeVideo | 1 | 只控制视频,不影响音频 |
| kRTCPauseResumeControlMediaTypeVideoAndAudio | 2 | 同时控制音频和视频 |
类型: enum
发送消息的可靠有序性
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kMessageConfigReliableOrdered | 0 | 低延时可靠有序消息 |
| kMessageConfigUnreliableOrdered | 1 | 超低延时有序消息 |
| kMessageConfigUnreliableUnordered | 2 | 超低延时无序消息 |
类型: interface
媒体流跨房间转发的目标房间的相关信息
| 方法 | 描述 |
|---|---|
| forward_stream_dests | 目标房间信息,数组中的每个元素包含一个房间的信息。 |
forward_stream_dests
类型: ForwardStreamInfo[]
目标房间信息,数组中的每个元素包含一个房间的信息。
类型: interface
媒体流跨房间转发的目标房间的相关信息
| 方法 | 描述 |
|---|---|
| token | 使用转发目标房间 RoomID 和 UserID 生成 Token。 测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。 如果 Token 无效,转发失败。 |
| room_id | 跨房间转发媒体流过程中目标房间 ID |
token
类型: string
使用转发目标房间 RoomID 和 UserID 生成 Token。
测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。
如果 Token 无效,转发失败。
room_id
类型: string
跨房间转发媒体流过程中目标房间 ID
本地用户能收听到、且具有衰减效果的音频接收范围
类型
{
max: number;
min: number;
}
ts成员
| 名称 | 类型 | 描述 |
|---|---|---|
| max | number | 能够收听语音的最大距离值,该值须 > 0 且 ≥ min。 |
当收听者和声源距离处于 [min, max) 之间时,收听到的音量根据距离呈衰减效果。
超出该值范围的音频将无法收听到。 |
| min | number | 能够接收语音、并且具有衰减效果的最小距离值,该值须 ≥ 0,但 ≤ max。 |
|---|
本地用户在房间内的位置坐标,需自行建立空间直角坐标系
类型
{
x: number;
y: number;
z: number;
}
ts成员
| 名称 | 类型 | 描述 |
|---|---|---|
| x | number | x 坐标 |
| y | number | y 坐标 |
| z | number | z 坐标 |
类型: enum
空间音频音量随距离衰减模式
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAttenuationTypeNone | 0 | 不随距离衰减 |
| kAttenuationTypeLinear | 1 | 线性衰减,音量随距离增大而线性减小 |
| kAttenuationTypeExponential | 2 | 指数型衰减,音量随距离增大进行指数衰减 |
类型: interface
三维朝向信息,三个向量需要两两垂直。
| 方法 | 描述 |
|---|---|
| forward | 正前方朝向,默认值为 {1,0,0},即正前方朝向 x 轴正方向 |
| right | 正右方朝向,默认值为 {0,1,0},即右手朝向 y 轴正方向 |
| up | 正上方朝向,默认值为 {0,0,1},即头顶朝向 z 轴正方向 |
forward
类型: Orientation
正前方朝向,默认值为 {1,0,0},即正前方朝向 x 轴正方向
right
类型: Orientation
正右方朝向,默认值为 {0,1,0},即右手朝向 y 轴正方向
up
类型: Orientation
正上方朝向,默认值为 {0,0,1},即头顶朝向 z 轴正方向
类型: interface
方向朝向信息
| 方法 | 描述 |
|---|---|
| x | x 方向向量 |
| y | y 方向向量 |
| z | z 方向向量 |
x
类型: number
x 方向向量
y
类型: number
y 方向向量
z
类型: number
z 方向向量
类型: enum
音频选路优先级设置
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAudioSelectionPriorityNormal | 0 | 正常,参加音频选路 |
| kAudioSelectionPriorityHigh | 1 | 高优先级,跳过音频选路 |
类型: interface
字幕配置信息。
| 方法 | 描述 |
|---|---|
| mode | 字幕模式。 |
| target_language | 目标翻译语言。可点击 语言支持 查看翻译服务最新支持的语种信息。 |
mode
类型: SubtitleMode
字幕模式。
target_language
类型: string
目标翻译语言。可点击 语言支持 查看翻译服务最新支持的语种信息。
类型: enum
字幕模式。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kSubtitleModeRecognition | 0 | 识别模式。在此模式下,房间内用户语音会被转为文字。 |
| kSubtitleModeTranslation | 1 | 翻译模式。在此模式下,房间内用户语音会先被转为文字,再被翻译为目标语言。 |
类型: interface
用户在空间音频坐标系里的位置信息。
| 方法 | 描述 |
|---|---|
| position | 用户在空间音频坐标系里的位置,需自行建立空间直角坐标系。 |
| orientation | 用户在空间音频坐标系里的三维朝向信息。三个向量需要两两垂直。 |
position
类型: Position
用户在空间音频坐标系里的位置,需自行建立空间直角坐标系。
orientation
类型: HumanOrientation
用户在空间音频坐标系里的三维朝向信息。三个向量需要两两垂直。
类型: enum
反馈信息类型
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kProblemFeedbackOptionNone | 0 | 没有问题 |
| kProblemFeedbackOptionOtherMessage | 1 | 其他问题 |
| kProblemFeedbackOptionDisconnected | 2 | 连接失败 |
| kProblemFeedbackOptionEarBackDelay | 3 | 耳返延迟大 |
| kProblemFeedbackOptionLocalNoise | 11 | 本端有杂音 |
| kProblemFeedbackOptionLocalAudioLagging | 12 | 本端声音卡顿 |
| kProblemFeedbackOptionLocalNoAudio | 13 | 本端无声音 |
| kProblemFeedbackOptionLocalAudioStrength | 14 | 本端声音大/小 |
| kProblemFeedbackOptionLocalEcho | 15 | 本端有回声 |
| kProblemFeedbackOptionLocalVideoFuzzy | 25 | 本端视频模糊 |
| kProblemFeedbackOptionLocalNotSync | 26 | 本端音视频不同步 |
| kProblemFeedbackOptionLocalVideoLagging | 27 | 本端视频卡顿 |
| kProblemFeedbackOptionLocalNoVideo | 28 | 本端无画面 |
| kProblemFeedbackOptionRemoteNoise | 38 | 远端有杂音 |
| kProblemFeedbackOptionRemoteAudioLagging | 39 | 远端声音卡顿 |
| kProblemFeedbackOptionRemoteNoAudio | 40 | 远端无声音 |
| kProblemFeedbackOptionRemoteAudioStrength | 41 | 远端声音大/小 |
| kProblemFeedbackOptionRemoteEcho | 42 | 远端有回声 |
| kProblemFeedbackOptionRemoteVideoFuzzy | 52 | 远端视频模糊 |
| kProblemFeedbackOptionRemoteNotSync | 53 | 远端音视频不同步 |
| kProblemFeedbackOptionRemoteVideoLagging | 54 | 远端视频卡顿 |
| kProblemFeedbackOptionRemoteNoVideo | 55 | 远端无画面 |
类型: interface
音视频质量反馈的信息
| 方法 | 描述 |
|---|---|
| problem_desc | 预设问题以外的其他问题的具体描述。 |
| room_info | 音视频质量反馈的房间信息。 |
problem_desc
类型: string
预设问题以外的其他问题的具体描述。
room_info
类型: ProblemFeedbackRoomInfo[]
音视频质量反馈的房间信息。
类型: interface
音视频质量反馈的房间信息
| 方法 | 描述 |
|---|---|
| room_id | 房间 ID。 |
| user_id | 本地用户 ID。 |
room_id
类型: string
房间 ID。
user_id
类型: string
本地用户 ID。
类型: interface
插件信息
| 方法 | 描述 |
|---|---|
| id | 插件 ID,插件唯一标识 |
| path | 插件库路径 |
id
类型: string
插件 ID,插件唯一标识
path
类型: string
插件库路径
类型: interface
插件定义
| 方法 | 描述 |
|---|---|
| id | 插件 ID,插件唯一标识 |
| setEnabled | 启用插件 |
| setParameter | 设置参数 |
id
类型: string
插件 ID,插件唯一标识
setEnabled
启用插件
类型
(enabled: boolean) => number
ts参数
enabled
类型: boolean
是否启用插件
返回值
类型: number
0: 成功-1: 失败setParameter
设置参数
类型
(json_string: string) => number
ts参数
json_string
类型: string
json 字符串
返回值
类型: number
0: 成功-1: 失败类型: interface
音视频回路测试参数
| 方法 | 描述 |
|---|---|
| audioPropertiesReportInterval | 音量信息提示间隔,单位:ms,默认为 100ms + <= 0: 关闭信息提示+ (0,100]: 开启信息提示,不合法的 interval 值,SDK 自动设置为 100ms+ > 100: 开启信息提示,并将信息提示间隔设置为此值 |
| uid | 进行音视频通话回路测试的用户 ID |
| roomId | 测试用户加入的房间 ID。 |
| token | 对用户进房时进行鉴权验证的动态密钥,用于保证音视频通话回路测试的安全性。 |
audioPropertiesReportInterval
类型: number
音量信息提示间隔,单位:ms,默认为 100ms
+<= 0: 关闭信息提示
+(0,100]: 开启信息提示,不合法的 interval 值,SDK 自动设置为 100ms
+> 100: 开启信息提示,并将信息提示间隔设置为此值
uid
类型: string
进行音视频通话回路测试的用户 ID
roomId
类型: string
测试用户加入的房间 ID。
token
类型: string
对用户进房时进行鉴权验证的动态密钥,用于保证音视频通话回路测试的安全性。
类型: interface
音频属性信息提示的相关配置。
| 方法 | 描述 |
|---|---|
| interval | 信息提示间隔,单位:ms + <= 0: 关闭信息提示+ (0,100]: 开启信息提示,不合法的 interval 值,SDK 自动设置为 100ms+ > 100: 开启信息提示,并将信息提示间隔设置为此值 |
| enable_spectrum | 是否开启音频频谱检测。 |
| enable_vad | 是否开启人声检测 (VAD)。 |
| local_main_report_mode | 音量回调配置模式。 |
| audio_report_mode | 设置 onLocalAudioPropertiesReport 回调中是否包含本地混音音频数据。默认仅包含本地麦克风采集的音频数据和本地屏幕音频采集数据。 |
| smooth | 适用于音频属性信息提示的平滑系数。取值范围是 (0.0, 1.0]。默认值为 1.0,不开启平滑效果;值越小,提示音量平滑效果越明显。如果要开启平滑效果,可以设置为 0.3。 |
interval
类型: number
信息提示间隔,单位:ms
<= 0: 关闭信息提示(0,100]: 开启信息提示,不合法的 interval 值,SDK 自动设置为 100ms> 100: 开启信息提示,并将信息提示间隔设置为此值enable_spectrum
类型: boolean | undefined
是否开启音频频谱检测。
enable_vad
类型: boolean | undefined
是否开启人声检测 (VAD)。
local_main_report_mode
类型: AudioReportMode | undefined
音量回调配置模式。
audio_report_mode
类型: AudioPropertiesMode | undefined
设置 onLocalAudioPropertiesReport 回调中是否包含本地混音音频数据。
默认仅包含本地麦克风采集的音频数据和本地屏幕音频采集数据。
smooth
类型: number | undefined
适用于音频属性信息提示的平滑系数。取值范围是 (0.0, 1.0]。
默认值为 1.0,不开启平滑效果;值越小,提示音量平滑效果越明显。如果要开启平滑效果,可以设置为 0.3。
类型: enum
音量回调模式。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAudioReportModeNormal | 0 | 默认始终开启音量回调。 |
| kAudioReportModeDisconnect | 1 | 可见用户进房并停止推流后,关闭音量回调。 |
| kAudioReportModeReset | 2 | 可见用户进房并停止推流后,开启音量回调,回调值重置为0。 |
类型: enum
音频信息提示中是否包含本地混音音频数据。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAudioPropertiesModeMicrophone | 0 | 音频信息提示中,仅包含本地麦克风采集的音频数据和本地屏幕音频采集数据。 |
| kAudioPropertiesModeAudioMixing | 1 | 音频信息提示中,除本地麦克风采集的音频数据和本地屏幕音频采集数据外,还包含本地混音的音频数据。 |
类型: interface
视频流参数
| 方法 | 描述 |
|---|---|
| width | 视频宽度,单位:像素 |
| height | 视频高度,单位:像素 |
| frameRate | 视频帧率,单位:fps |
| maxBitrate | 最大发送编码码率(kbps),建议使用默认的自动码率。 设为 0 则不对视频流进行编码发送。 |
| minBitrate | 视频最小编码码率, 单位 kbps。编码码率不会低于 minBitrate。默认值为 0。范围:[0, maxBitrate),当 maxBitrate < minBitrate 时,为适配码率模式。以下情况,设置本参数无效: + 当 maxBitrate 为 0 时,不对视频流进行编码发送。+ 当 maxBitrate < 0 时,适配码率模式。 |
| encoderPreference | 视频编码质量策略 |
width
类型: number
视频宽度,单位:像素
height
类型: number
视频高度,单位:像素
frameRate
类型: number
视频帧率,单位:fps
maxBitrate
类型: number | undefined
最大发送编码码率(kbps),建议使用默认的自动码率。
minBitrate
类型: number | undefined
视频最小编码码率, 单位 kbps。编码码率不会低于 minBitrate。
默认值为 0。
范围:[0, maxBitrate),当 maxBitrate < minBitrate 时,为适配码率模式。
以下情况,设置本参数无效:
maxBitrate 为 0 时,不对视频流进行编码发送。maxBitrate < 0 时,适配码率模式。encoderPreference
类型: VideoEncodePreference | undefined
视频编码质量策略
类型: enum
编码策略偏好
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kVideoEncodePreferenceDisabled | 0 | 无偏好。不降低帧率和分辨率。 |
| kVideoEncodePreferenceFramerate | 1 | (默认值)帧率优先。分辨率不变。 |
| kVideoEncodePreferenceQuality | 2 | 分辨率优先。 |
| kVideoEncodePreferenceBalance | 3 | 平衡帧率与分辨率。 |
类型: enum
镜像类型
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kMirrorTypeNone | 0 | 本地预览和编码传输时均无镜像效果 |
| kMirrorTypeRender | 1 | 本地预览时有镜像效果,编码传输时无镜像效果 |
| kMirrorTypeRenderAndEncoder | 3 | 本地预览和编码传输时均有镜像效果 |
类型: enum
基础美颜模式
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kEffectBeautyWhite | 0 | 美白 |
| kEffectBeautySmooth | 1 | 磨皮 |
| kEffectBeautySharpen | 2 | 锐化 |
类型: interface
单流转推直播配置参数。
| 方法 | 描述 |
|---|---|
| room_id | 媒体流所在的房间 ID。必填。 |
| user_id | 媒体流所属的用户 ID |
| uri | 推流地址 |
| is_screen_stream | 媒体流是否为屏幕流。 |
room_id
类型: string
媒体流所在的房间 ID。必填。
user_id
类型: string
媒体流所属的用户 ID
uri
类型: string
推流地址
is_screen_stream
类型: boolean
媒体流是否为屏幕流。
类型: enum
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAnsModeDisable | 0 | 禁用音频降噪。 |
| kAnsModeLow | 1 | 适用于微弱降噪。 |
| kAnsModeMedium | 2 | 适用于抑制中度平稳噪音,如空调声、风扇声。 |
| kAnsModeHigh | 3 | 适用于抑制嘈杂非平稳噪音,如键盘声、敲击声、碰撞声、动物叫声。 |
| kAnsModeAutomatic | 4 | 启用音频降噪能力。具体的降噪算法由 RTC 决定。 |
类型: interface
远端流信息
| 方法 | 描述 |
|---|---|
| room_id | 媒体流所在房间的房间 ID。 如果此媒体流是通过 startForwardStreamToRooms 转发到你所在房间的媒体流时,你应将房间 ID 设置为你所在的房间 ID。 |
| user_id | 用户 ID |
| stream_index | 流属性,主流或屏幕流。 |
room_id
类型: string
媒体流所在房间的房间 ID。
如果此媒体流是通过 startForwardStreamToRooms 转发到你所在房间的媒体流时,你应将房间 ID 设置为你所在的房间 ID。
user_id
类型: string
用户 ID
stream_index
类型: StreamIndex
流属性,主流或屏幕流。
类型: enum
流属性
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kStreamIndexMain | 0 | 主流。包括:通过默认摄像头/麦克风采集到的视频/音频; |
| kStreamIndexScreen | 1 | 屏幕流。 屏幕共享时共享的视频流,或来自声卡的本地播放音频流。 |
类型: enum
超分模式。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kVideoSuperResolutionModeOff | 0 | 关闭超分。 |
| kVideoSuperResolutionModeOn | 1 | 开启超分。 |
类型: interface
媒体流信息同步的相关配置
| 方法 | 描述 |
|---|---|
| stream_index | 流属性,主流或屏幕流。 |
| repeat_count | 消息发送的重复次数,取值范围是 [0,25],建议设置为 [3,5]。 |
| stream_type | 媒体流信息同步的流类型, |
stream_index
类型: StreamIndex
流属性,主流或屏幕流。
repeat_count
类型: number
消息发送的重复次数,取值范围是 [0,25],建议设置为 [3,5]。
stream_type
类型: SyncInfoStreamType
值: 0
媒体流信息同步的流类型,
类型: interface
云代理信息
| 方法 | 描述 |
|---|---|
| cloud_proxy_ip | 云代理服务器 IP |
| cloud_proxy_port | 云代理服务器端口 |
cloud_proxy_ip
类型: string
云代理服务器 IP
cloud_proxy_port
类型: number
云代理服务器端口
类型: interface
公共流参数
| 方法 | 描述 |
|---|---|
| interpolation_mode | 补帧模式 + 0: 补最后一帧+ 1: 补背景图片,如果没有设置背景图片则补黑帧 |
| room_id | 合流房间 ID,必填 |
| background_image_uri | 背景图片链接 |
| video_param | 公共流视频参数。 |
| layout_regions | 公共流视窗布局信息。 |
| layout_mode | 公共流的布局模式 |
| bg_color | 背景颜色 |
interpolation_mode
类型: number
补帧模式
0: 补最后一帧1: 补背景图片,如果没有设置背景图片则补黑帧room_id
类型: string
合流房间 ID,必填
background_image_uri
类型: string
背景图片链接
video_param
公共流视频参数。
layout_regions
类型: PublicStreamLayoutRegion[]
公共流视窗布局信息。
layout_mode
类型: StreamLayoutMode
公共流的布局模式
bg_color
类型: string
背景颜色
类型: interface
公共流视频编码参数
| 方法 | 描述 |
|---|---|
| width | 公共流视频宽度,必填。单位为 px,范围为 [2, 1920],必须是偶数。 |
| height | 公共流视频高度,必填。单位为 px,范围为 [16, 1280],必须是偶数。 |
| fps | 公共流视频帧率。必填 范围:[1, 60] |
| bitrate_kpbs | 视频码率,必填 范围:[1,10000000] 单位为 bps |
width
类型: number
公共流视频宽度,必填。单位为 px,范围为 [2, 1920],必须是偶数。
height
类型: number
公共流视频高度,必填。单位为 px,范围为 [16, 1280],必须是偶数。
fps
类型: number
公共流视频帧率。必填
范围:[1, 60]
bitrate_kpbs
类型: number
视频码率,必填
范围:[1,10000000]
单位为 bps
类型: interface
单个视频流在公共流中的布局信息。
在多路视频流公共流时,你需要设置每一路视频流在公共流中的布局信息。
| 方法 | 描述 |
|---|---|
| user_id | 目标公共流用户的 ID, 不能为空 |
| room_id | 跨房间订阅流时,目标流所在的房间 ID, 不能为空 |
| alternate_image_uri | 背景图片地址 |
| x | 用户视频布局相对画布左侧的偏移量,取值的范围为 [0.0, 1.0)。必填。 |
| y | 用户视频布局相对画布顶端的偏移量,取值的范围为 [0.0, 1.0)。必填。 |
| width | 用户视频宽度相对画布宽度的比例,取值的范围为 (0.0, 1.0]。必填。 |
| height | 用户视频高度相对画布高度的比例,取值的范围为 (0.0, 1.0]。必填。 |
| alpha | 透明度,取值范围 [0,255], 0 为全透明,255 为不透明 |
| z_order | 用户视频布局在画布中的层级,取值范围 [0,100],0(默认)为底层,100 为顶层。 |
| stream_type | 必填。媒体流类型: + 0: 普通流(默认设置) + 1: 屏幕流 |
| media_type | 公共流输出类型。 |
| render_mode | 渲染时,视频内容缩放模式,必填。 |
| source_crop | 支持对每一路参与公共流的视频进行裁剪。 |
user_id
类型: string
目标公共流用户的 ID, 不能为空
room_id
类型: string
跨房间订阅流时,目标流所在的房间 ID, 不能为空
alternate_image_uri
类型: string
背景图片地址
x
类型: number
用户视频布局相对画布左侧的偏移量,取值的范围为 [0.0, 1.0)。必填。
y
类型: number
用户视频布局相对画布顶端的偏移量,取值的范围为 [0.0, 1.0)。必填。
width
类型: number
用户视频宽度相对画布宽度的比例,取值的范围为 (0.0, 1.0]。必填。
height
类型: number
用户视频高度相对画布高度的比例,取值的范围为 (0.0, 1.0]。必填。
alpha
类型: number
透明度,取值范围 [0,255], 0 为全透明,255 为不透明
z_order
类型: number
用户视频布局在画布中的层级,取值范围 [0,100],0(默认)为底层,100 为顶层。
stream_type
类型: number
必填。媒体流类型:
media_type
类型: TranscoderContentControlType
公共流输出类型。
render_mode
渲染时,视频内容缩放模式,必填。
source_crop
类型: SourceCrop
支持对每一路参与公共流的视频进行裁剪。
类型: enum
合流输出内容类型
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kHasAudioAndVideo | 0 | 音视频 |
| kHasAudioOnly | 1 | 音频 |
| kHasVideoOnly | 2 | 视频 |
类型: enum
渲染模式
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kRenderModeHidden | 1 | 视窗填满优先,默认值。 视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。 缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长大于等于视窗对应边长。 |
| kRenderModeFit | 2 | 视频帧内容全部显示优先。 视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将被涂黑。 缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长小于等于视窗对应边长。 |
| kRenderModeFill | 3 | 视频帧自适应画布 视频帧非等比缩放,直至画布被填满。在此过程中,视频帧的长宽比例可能会发生变化。 |
类型: interface
公共流视频裁剪配置
| 方法 | 描述 |
|---|---|
| LocationX | 裁剪后得到的视频帧左上角横坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0) |
| LocationY | 裁剪后得到的视频帧左上角纵坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0) |
| WidthProportion | 裁剪后得到的视频帧宽度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0] |
| HeightProportion | 裁剪后得到的视频帧高度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0] |
LocationX
类型: number
裁剪后得到的视频帧左上角横坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)
LocationY
类型: number
裁剪后得到的视频帧左上角纵坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)
WidthProportion
类型: number
裁剪后得到的视频帧宽度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]
HeightProportion
类型: number
裁剪后得到的视频帧高度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]
类型: enum
公共流的布局模式
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kLayoutAutoMode | 0 | (默认)自动布局 |
| kLayoutCustomerMode | 2 | 自定义 |
类型: interface
本地渲染选项
| 方法 | 描述 |
|---|---|
| render_mode | 渲染时,视频内容缩放模式 |
| mirror | 是否镜像渲染 |
render_mode
类型: RenderMode
渲染时,视频内容缩放模式
mirror
类型: boolean
是否镜像渲染
类型: enum
渲染时,视频内容缩放模式
成员
| 属性 | 值 | 描述 |
|---|---|---|
| FIT | 1 | 视频帧内容全部显示优先。 视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将被涂黑。 缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长小于等于视窗对应边长。 |
| HIDDEN | 2 | 视窗填满优先。 视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。 缩放完成后,视频帧的一边长和视窗的对应边长一致,另一边长大于等于视窗对应边长。 |
类型: enum
视频帧编码格式
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kI420 | YUV I420 格式 | |
| kRGBA | RGBA 格式, 字节序为 R8 G8 B8 A8 |
类型: interface
屏幕共享对象信息
startScreenVideoCapture 接口的中的参数类型
| 方法 | 描述 |
|---|---|
| type | 共享对象类型,屏幕或应用窗体 |
| source_id | 共享对象 ID |
| source_name | 屏幕共享对象的名称 |
| application | 共享的应用窗体所属应用的名称 当共享对象为应用窗体时有效 |
| primaryMonitor | 共享的屏幕是否为主屏。 当共享对象为屏幕时有效 |
| pid | 共享的应用窗体所属应用进程的 pid 当共享对象为应用窗体时有效 |
| region_rect | 屏幕共享对象的坐标。多显示器的场景下,屏幕坐标系统以主屏左上角为原点 (0, 0),向右向下扩展。 |
type
共享对象类型,屏幕或应用窗体
source_id
类型: number
共享对象 ID
source_name
类型: string
屏幕共享对象的名称
application
类型: string
共享的应用窗体所属应用的名称
当共享对象为应用窗体时有效
primaryMonitor
类型: boolean
共享的屏幕是否为主屏。
当共享对象为屏幕时有效
pid
类型: number
共享的应用窗体所属应用进程的 pid
当共享对象为应用窗体时有效
region_rect
类型: Rectangle
屏幕共享对象的坐标。多显示器的场景下,屏幕坐标系统以主屏左上角为原点 (0, 0),向右向下扩展。
类型: enum
屏幕采集对象的类型
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kScreenCaptureSourceTypeUnknown | 0 | 类型未知 |
| kScreenCaptureSourceTypeWindow | 1 | 应用程序的窗口 |
| kScreenCaptureSourceTypeScreen | 2 | 桌面 |
类型: interface
矩形区域,用于指定屏幕区域
| 方法 | 描述 |
|---|---|
| x | 矩形区域左上角的 x 坐标 |
| y | 矩形区域左上角的 y 坐标 |
| width | 矩形宽度 |
| height | 矩形高度 |
x
类型: number | undefined
矩形区域左上角的 x 坐标
y
类型: number | undefined
矩形区域左上角的 y 坐标
width
类型: number | undefined
矩形宽度
height
类型: number | undefined
矩形高度
类型: interface
屏幕共享时,内部采集参数配置
| 方法 | 描述 |
|---|---|
| region_rect | 采集区域 |
| capture_mouse_cursor | 是否采集鼠标状态 |
| filter_config | 屏幕过滤设置,填写不需要采集的窗口 ID |
| highlight_config | 采集区域的边框高亮设置 |
region_rect
类型: Rectangle
采集区域
capture_mouse_cursor
类型: MouseCursorCaptureState | undefined
是否采集鼠标状态
filter_config
类型: number[]
屏幕过滤设置,填写不需要采集的窗口 ID
highlight_config
类型: HighlightConfig
采集区域的边框高亮设置
类型: enum
内部采集屏幕视频流时,是否采集鼠标信息
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kMouseCursorCaptureStateOn | 0 | 采集鼠标信息 |
| kMouseCursorCaptureStateOff | 1 | 不采集鼠标信息 |
类型: interface
屏幕共享时的边框高亮设置
| 方法 | 描述 |
|---|---|
| enable_highlight | 是否显示高亮边框,默认显示。 |
| border_color | 边框的颜色, 颜色格式为十六进制 ARGB: 0xAARRGGBB, 默认为 0xFF29CCA3 |
| border_width | 边框的宽度, 单位:像素,默认为: 4 |
enable_highlight
类型: boolean | undefined
是否显示高亮边框,默认显示。
border_color
类型: number | undefined
边框的颜色, 颜色格式为十六进制 ARGB: 0xAARRGGBB, 默认为 0xFF29CCA3
border_width
类型: number | undefined
边框的宽度, 单位:像素,默认为: 4
类型: enum
音频声道。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAudioChannelAuto | -1 | 默认设置。 |
| kAudioChannelMono | 1 | 单声道 |
| kAudioChannelStereo | 2 | 双声道 |
类型: interface
屏幕共享对象缩略图
调用 getThumbnail 后返回本对象
| 方法 | 描述 |
|---|---|
| width | 宽度,单位:像素 |
| height | 高度,单位:像素 |
| data | 数据,采用 base64 编码的 png 字符串 |
width
类型: number
宽度,单位:像素
height
类型: number
高度,单位:像素
data
类型: string
数据,采用 base64 编码的 png 字符串
类型: interface
共享窗体的图标信息
调用 getWindowAppIcon 后返回本对象
| 方法 | 描述 |
|---|---|
| width | 宽度,单位:像素 |
| height | 高度,单位:像素 |
| data | 数据,采用 base64 编码的 png 字符串 |
width
类型: number
宽度,单位:像素
height
类型: number
高度,单位:像素
data
类型: string
数据,采用 base64 编码的 png 字符串
类型: interface
屏幕编码配置。参考 设置视频发布参数。
| 方法 | 描述 |
|---|---|
| width | 视频宽度,单位:像素。 |
| height | 视频高度,单位:像素。 |
| frameRate | 视频帧率,单位:fps。 |
| maxBitrate | 最大编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。 设为 -1 即适配码率模式,系统将根据输入的分辨率和帧率自动计算适用的码率。 设为 0 则不对视频流进行编码发送。 3.44 及以上版本,内部采集时默认值为 -1,3.44 以前版本无默认值,需手动设置。 |
| minBitrate | 最小编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。 最小编码码率必须小于或等于最大编码,否则不对视频流进行编码发送。 |
| encoderPreference | 屏幕流编码模式。 |
width
类型: number
视频宽度,单位:像素。
height
类型: number
视频高度,单位:像素。
frameRate
类型: number
视频帧率,单位:fps。
maxBitrate
类型: number | undefined
最大编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。
设为 -1 即适配码率模式,系统将根据输入的分辨率和帧率自动计算适用的码率。
设为 0 则不对视频流进行编码发送。
3.44 及以上版本,内部采集时默认值为 -1,3.44 以前版本无默认值,需手动设置。
minBitrate
类型: number | undefined
最小编码码率,使用 SDK 内部采集时可选设置,自定义采集时必须设置,单位:kbps。
最小编码码率必须小于或等于最大编码,否则不对视频流进行编码发送。
encoderPreference
类型: ScreenVideoEncodePreference | undefined
屏幕流编码模式。
类型: enum
屏幕流编码模式。默认采用清晰模式。若在采集时设置 filter_config 排除指定窗口,共享视频时帧率无法达到 30fps。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kScreenVideoEncodePreferenceAuto | 0 | 智能模式。根据屏幕内容智能决策选择流畅模式或清晰模式。 |
| kScreenVideoEncodePreferenceFramerate | 1 | 流畅模式,优先保障帧率。适用于共享游戏、视频等动态画面。 |
| kScreenVideoEncodePreferenceQuality | 2 | 清晰模式,优先保障分辨率。适用于共享PPT、文档、图片等静态画面。 |
类型: enum
SEI 发送模式。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kSingleSEIPerFrame | 0 | 单发模式。即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 按队列逐帧发送。 |
| kMultiSEIPerFrame | 1 | 多发模式。即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 随下个视频帧同时发送。 |
视频采集配置
类型
{
capturePreference?: CapturePreference;
width?: number;
height?: number;
frameRate?: number;
}
ts成员
| 名称 | 类型 | 描述 |
|---|---|---|
| capturePreference | CapturePreference | undefined | 视频采集模式 |
| width | number | undefined | 视频采集分辨率的宽度,单位:px。 |
| height | number | undefined | 视频采集分辨率的高度,单位:px。 |
| frameRate | number | undefined | 视频采集帧率,单位:fps。 |
类型: enum
视频采集配置
成员
| 属性 | 值 | 描述 |
|---|---|---|
| KAuto | 0 | (默认)自动设置采集参数。 SDK在开启采集时根据服务端下发的采集配置结合编码参数设置最佳采集参数。 |
| KManual | 1 | 手动设置采集参数,包括采集分辨率、帧率。 |
| KAutoPerformance | 2 | 采集参数与编码参数一致,即在 setVideoEncoderConfig 中设置的参数。 |
类型: interface
混音配置
| 方法 | 描述 |
|---|---|
| type | 混音播放类型 |
| play_count | 混音播放次数, + play_count <= 0: 无限循环 + play_count == 1: 播放一次(默认) + play_count > 1: 播放 play_count 次 |
| position | 混音时音频文件播放进度条位置,参数为整数,单位为毫秒 |
| callback_on_progress_interval | 设置音频文件播放进度回调的时间间隔,单位毫秒,并按照设置的值触发 onAudioMixingPlayingProgress 回调,默认不回调。 该值应为大于 0 的 10 的倍数,当传入的值不能被 10 整除时,则默认向上取整 10,如设为 52ms 时会默认调整为 60ms。 传入的值小于等于 0 时,不会触发进度回调。 |
| sync_progress_to_record_frame | 在采集音频数据时,附带本地混音文件播放进度的时间戳。启用此功能会提升远端人声和音频文件混音播放时的同步效果。 |
type
类型: AudioMixingType
混音播放类型
play_count
类型: number
混音播放次数,
position
类型: number
混音时音频文件播放进度条位置,参数为整数,单位为毫秒
callback_on_progress_interval
类型: number | undefined
设置音频文件播放进度回调的时间间隔,单位毫秒,并按照设置的值触发 onAudioMixingPlayingProgress 回调,默认不回调。
该值应为大于 0 的 10 的倍数,当传入的值不能被 10 整除时,则默认向上取整 10,如设为 52ms 时会默认调整为 60ms。
传入的值小于等于 0 时,不会触发进度回调。
sync_progress_to_record_frame
类型: boolean | undefined
在采集音频数据时,附带本地混音文件播放进度的时间戳。启用此功能会提升远端人声和音频文件混音播放时的同步效果。
注意
true 时开启此功能,false 时关闭此功能,默认为关闭。类型: interface
本地录制参数配置
| 方法 | 描述 |
|---|---|
| dir_path | 录制文件保存的绝对路径。你需要指定一个有读写权限的合法路径。 |
| file_type | 录制存储文件格式 + aac : 0 + mp4 : 1 |
dir_path
类型: string
录制文件保存的绝对路径。你需要指定一个有读写权限的合法路径。
file_type
类型: number
录制存储文件格式
类型: enum
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kRecordAudioOnly | 0 | 只录制音频 |
| kRecordVideoOnly | 1 | 只录制视频 |
| kRecordVideoAndAudio | 2 | 同时录制音频和视频 |
类型: enum
远端用户优先级,在性能不足需要回退时,会优先回退优先级低的用户的音视频流
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kRemoteUserPriorityLow | 0 | 用户优先级为低(默认值) |
| kRemoteUserPriorityMedium | 100 | 用户优先级为正常 |
| kRemoteUserPriorityHigh | 200 | 用户优先级为高 |
类型: interface
虚拟背景对象。
| 方法 | 描述 |
|---|---|
| source_type | 虚拟背景类型 |
| source_path | 自定义背景图片的绝对路径。 支持的格式为 jpg、jpeg、png。 图片分辨率超过 1080P 时,图片会被等比缩放至和视频一致。 图片和视频宽高比一致时,图片会被直接缩放至和视频一致。 图片和视频长宽比不一致时,为保证图片内容不变形,图片按短边缩放至与视频帧一致,使图片填满视频帧,对多出的高或宽进行剪裁。 自定义图片带有局部透明效果时,透明部分由黑色代替。 |
| source_color | 纯色背景使用的颜色。 |
source_type
类型: VirtualBackgroundSourceType | undefined
虚拟背景类型
source_path
类型: string
自定义背景图片的绝对路径。
支持的格式为 jpg、jpeg、png。
图片分辨率超过 1080P 时,图片会被等比缩放至和视频一致。
图片和视频宽高比一致时,图片会被直接缩放至和视频一致。
图片和视频长宽比不一致时,为保证图片内容不变形,图片按短边缩放至与视频帧一致,使图片填满视频帧,对多出的高或宽进行剪裁。
自定义图片带有局部透明效果时,透明部分由黑色代替。
source_color
类型: number | undefined
纯色背景使用的颜色。
类型: enum
虚拟背景类型。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kVirtualBackgroundSourceColor | 0 | 使用纯色背景替换视频原有背景。 |
| kVirtualBackgroundSourceImage | 1 | 使用自定义图片替换视频原有背景。 |
类型: interface
水印参数
| 方法 | 描述 |
|---|---|
| visibleInPreview | 水印是否在视频预览中可见,默认可见。 |
| positionInLandscapeMode | 横屏时的水印位置和大小 |
| positionInPortraitMode | 视频编码的方向模式为竖屏时的水印位置和大小 |
visibleInPreview
类型: boolean | undefined
水印是否在视频预览中可见,默认可见。
positionInLandscapeMode
类型: ByteWatermark
横屏时的水印位置和大小
positionInPortraitMode
类型: ByteWatermark
视频编码的方向模式为竖屏时的水印位置和大小
类型: interface
水印图片相对视频流的位置和大小。
| 方法 | 描述 |
|---|---|
| x | 水印图片相对视频流左上角的横向偏移与视频流宽度的比值,取值范围为 [0,1)。 |
| y | 水印图片相对视频流左上角的纵向偏移与视频流高度的比值,取值范围为 [0,1)。 |
| width | 水印图片宽度与视频流宽度的比值,取值范围 [0,1)。 |
| height | 水印图片高度与视频流高度的比值,取值范围为 [0,1)。 |
x
类型: number
水印图片相对视频流左上角的横向偏移与视频流宽度的比值,取值范围为 [0,1)。
y
类型: number
水印图片相对视频流左上角的纵向偏移与视频流高度的比值,取值范围为 [0,1)。
width
类型: number
水印图片宽度与视频流宽度的比值,取值范围 [0,1)。
height
类型: number
水印图片高度与视频流高度的比值,取值范围为 [0,1)。
类型: enum
原唱伴唱类型。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kOriginal | 1 | 播放原唱。 |
| kAccompy | 2 | 播放伴唱。 |
类型: enum
音乐播放类型。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kLocal | 0 | 仅本地播放。 |
| kRemote | 1 | 仅远端播放。 |
| kLocalAndRemote | 2 | 本地、远端同时播放。 |
类型: enum
歌词文件类型。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kKRC | 0 | KRC 歌词文件。 |
| kLRC | 1 | LRC 歌词文件。 |
类型: interface
K 歌评分配置。
| 方法 | 描述 |
|---|---|
| sample_rate | 音频采样率。仅支持 44100 Hz、48000 Hz。 |
| mode | 打分维度 |
| lyrics_filepath | 歌词文件路径。打分功能仅支持 KRC 歌词文件。 |
| midi_filepath | 歌曲 midi 文件路径。 |
sample_rate
类型: AudioSampleRate
音频采样率。仅支持 44100 Hz、48000 Hz。
mode
类型: MulDimSingScoringMode
值: 0
打分维度
lyrics_filepath
类型: string
歌词文件路径。打分功能仅支持 KRC 歌词文件。
midi_filepath
类型: string
歌曲 midi 文件路径。
类型: enum
音频采样率,单位为 HZ。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAudioSampleRateAuto | -1 | 默认设置。48000Hz。 |
| kAudioSampleRate8000 | 8000 | 8000 Hz 采样率 |
| kAudioSampleRate16000 | 16000 | 16000 Hz 采样率 |
| kAudioSampleRate32000 | 32000 | 32000 Hz 采样率 |
| kAudioSampleRate44100 | 44100 | 44100 Hz 采样率 |
| kAudioSampleRate48000 | 48000 | 48000 Hz 采样率 |
类型: interface
标准音高数据
| 方法 | 描述 |
|---|---|
| start_time | 开始时间,单位 ms。 |
| duration | 持续时间,单位 ms。 |
| pitch | 音高。 |
start_time
类型: number
开始时间,单位 ms。
duration
类型: number
持续时间,单位 ms。
pitch
类型: number
音高。
类型: interface
语音均衡效果。
| 方法 | 描述 |
|---|---|
| frequency | 频带。 |
| gain | 频带增益(dB)。取值范围是 [-15, 15]。 |
frequency
类型: VoiceEqualizationBandFrequency
频带。
gain
类型: number
频带增益(dB)。取值范围是 [-15, 15]。
类型: enum
音频均衡效果。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kVoiceEqualizationBandFrequency31 | 0 | 中心频率为 31Hz 的频带。 |
| kVoiceEqualizationBandFrequency62 | 1 | 中心频率为 62Hz 的频带。 |
| kVoiceEqualizationBandFrequency125 | 2 | 中心频率为 125Hz 的频带。 |
| kVoiceEqualizationBandFrequency250 | 3 | 中心频率为 250Hz 的频带。 |
| kVoiceEqualizationBandFrequency500 | 4 | 中心频率为 500Hz 的频带。 |
| kVoiceEqualizationBandFrequency1k | 5 | 中心频率为 1kHz 的频带。 |
| kVoiceEqualizationBandFrequency2k | 6 | 中心频率为 2kHz 的频带。 |
| kVoiceEqualizationBandFrequency4k | 7 | 中心频率为 4kHz 的频带。 |
| kVoiceEqualizationBandFrequency8k | 8 | 中心频率为 8kHz 的频带。 |
| kVoiceEqualizationBandFrequency16k | 9 | 中心频率为 16kHz 的频带。 |
类型: interface
音频混响效果。
| 方法 | 描述 |
|---|---|
| room_size | 混响模拟的房间大小,取值范围 [0.0, 100.0]。默认值为 50.0f。房间越大,混响越强。 |
| decay_time | 混响的拖尾长度,取值范围 [0.0, 100.0]。默认值为 50.0f。 |
| damping | 混响的衰减阻尼大小,取值范围 [0.0, 100.0]。默认值为 50.0f。 |
| wet_gain | 早期反射信号强度。取值范围 [-20.0, 10.0],单位为 dB。默认值为 0.0f。 |
| dry_gain | 原始信号强度。取值范围 [-20.0, 10.0],单位为 dB。默认值为 0.0f。 |
| pre_delay | 早期反射信号的延迟。取值范围 [0.0, 200.0],单位为 ms。默认值为 0.0f。 |
room_size
类型: number
混响模拟的房间大小,取值范围 [0.0, 100.0]。默认值为 50.0f。房间越大,混响越强。
decay_time
类型: number
混响的拖尾长度,取值范围 [0.0, 100.0]。默认值为 50.0f。
damping
类型: number
混响的衰减阻尼大小,取值范围 [0.0, 100.0]。默认值为 50.0f。
wet_gain
类型: number
早期反射信号强度。取值范围 [-20.0, 10.0],单位为 dB。默认值为 0.0f。
dry_gain
类型: number
原始信号强度。取值范围 [-20.0, 10.0],单位为 dB。默认值为 0.0f。
pre_delay
类型: number
早期反射信号的延迟。取值范围 [0.0, 200.0],单位为 ms。默认值为 0.0f。
类型: interface
录音配置
| 方法 | 描述 |
|---|---|
| absolute_file_name | 录制文件路径。一个有读写权限的绝对路径,包含文件名和文件后缀。 |
| frame_source | 录音内容来源 默认为 kAudioFrameSourceMixed = 2。 |
| sample_rate | 录音采样率 |
| channel | 录音音频声道。 |
| quality | 录音音质。仅在录制文件格式为 .aac 时可以设置。 |
absolute_file_name
类型: string
录制文件路径。一个有读写权限的绝对路径,包含文件名和文件后缀。
注意
录制文件的格式仅支持 .aac 和 .wav。
frame_source
类型: AudioFrameSource
录音内容来源
默认为 kAudioFrameSourceMixed = 2。
sample_rate
类型: AudioSampleRate
录音采样率
channel
类型: AudioChannel
录音音频声道。
注意
如果录制时设置的的音频声道数与采集时的音频声道数不同:
quality
类型: AudioQuality
录音音质。仅在录制文件格式为 .aac 时可以设置。
注意
采样率为 32kHz 时,不同音质录制文件(时长为 10min)的大小分别是:
类型: enum
音频文件录制内容来源。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAudioFrameSourceMic | 0 | 本地麦克风采集的音频数据。 |
| kAudioFrameSourcePlayback | 1 | 远端所有用户混音后的数据 |
| kAudioFrameSourceMixed | 2 | 本地麦克风和所有远端用户音频流的混音后的数据 |
类型: enum
音频质量。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAudioQualityLow | 0 | 低音质 |
| kAudioQualityMedium | 1 | 中音质 |
| kAudioQualityHigh | 2 | 高音质 |
| kAudioQualityUltraHigh | 3 | 超高音质 |
类型: enum
视频旋转信息,枚举类型,定义了以 90 度为间隔的四种旋转模式。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kVideoRotation0 | 0 | 顺时针旋转 0 度 |
| kVideoRotation90 | 90 | 顺时针旋转 90 度 |
| kVideoRotation180 | 180 | 顺时针旋转 180 度 |
| kVideoRotation270 | 270 | 顺时针旋转 270 度 |
类型: enum
数码变焦参数类型
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kZoomFocusOffset | 0 | 设置缩放系数 |
| kZoomMoveOffset | 1 | 设置移动步长 |
类型: enum
数码变焦操作类型
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kCameraMoveLeft | 0 | 相机向左移动 |
| kCameraMoveRight | 1 | 相机向右移动 |
| kCameraMoveUp | 2 | 相机向上移动 |
| kCameraMoveDown | 3 | 相机向下移动 |
| kCameraZoomOut | 4 | 相机缩小焦距 |
| kCameraZoomIn | 5 | 相机放大焦距 |
| kCameraReset | 6 | 恢复到原始画面 |
类型: interface
转推直播配置参数(新)
| 方法 | 描述 |
|---|---|
| is_support_client_push_stream | 本端是否具有推流能力。如果需要开启端云一体转推直播功能,你必须确保你的 App 包含 librtmp,具有推流能力。此时,设置该回调为 true 默认为 false。 |
| expected_mix_type | 设置合流类型。本参数不支持过程中更新。 |
| room_id | 媒体流所在的房间 ID。必填。 |
| user_id | 媒体流所属的用户 ID |
| push_url | 设置推流 CDN 地址。仅支持 RTMP 协议,Url 必须满足正则 /^rtmps?:\/\// |
| audio_config | 音频参数 |
| video_config | 视频参数 |
| client_mix_config | 设置客户端合流信息 |
| layout_regions | 设置视频流合流整体布局信息。必填。 |
| background_color | 背景颜色 |
| user_config_extra_info | 设置透传的 App 数据 |
is_support_client_push_stream
类型: boolean
本端是否具有推流能力。如果需要开启端云一体转推直播功能,你必须确保你的 App 包含 librtmp,具有推流能力。此时,设置该回调为 true
默认为 false。
expected_mix_type
类型: MixedStreamType
设置合流类型。本参数不支持过程中更新。建议设置。
room_id
类型: string
媒体流所在的房间 ID。建议设置。
user_id
类型: string
媒体流所属的用户 ID。建议设置。
push_url
类型: string
设置推流 CDN 地址。仅支持 RTMP 协议,Url 必须满足正则 /^rtmps?:\/\//。建议设置。
audio_config
音频参数。建议设置。
video_config
视频参数。建议设置。
client_mix_config
类型: MixedStreamClientMixConfig
设置客户端合流信息
layout_regions
类型: MixedStreamLayoutRegionConfig[]
设置视频流合流整体布局信息。建议设置。
background_color
类型: string
背景颜色。建议设置。
user_config_extra_info
类型: string
设置透传的 App 数据
类型: enum
合流类型(新)
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kMixedStreamTypeByServer | 0 | 服务端合流 |
| kMixedStreamTypeByClient | 1 | 端云一体合流。SDK 智能决策在客户端或服务端完成合流。 使用前,请联系技术支持同学开通,否则不生效。 |
类型: interface
音频合流配置参数(新)。值不合法或未设置时,自动使用默认值。
| 方法 | 描述 |
|---|---|
| sample_rate | 音频采样率,单位 Hz。可取 32000 Hz、44100 Hz、48000 Hz,默认值为 48000 Hz。 |
| channels | 音频声道数。可取 1(单声道)、2(双声道),默认值为 2。 |
| bitrate | 音频码率,单位 Kbps。可取范围 [32, 192],默认值为 64 Kbps。 |
| audio_profile | AAC 编码规格。默认值为 0。 |
| audio_codec | 音频编码格式。默认值为 0。 |
sample_rate
类型: 32000 | 44100 | 48000
音频采样率,单位 Hz。建议设置。可取 32000 Hz、44100 Hz、48000 Hz,默认值为 48000 Hz。
channels
类型: 1 | 2
音频声道数。建议设置。可取 1(单声道)、2(双声道),默认值为 2。
bitrate
类型: number
音频码率,单位 Kbps。建议设置。可取范围 [32, 192],默认值为 64 Kbps。
audio_profile
AAC 编码规格。建议设置。默认值为 0。
audio_codec
类型: MixedStreamAudioCodecType
值: 0
音频编码格式。建议设置。默认值为 0。
类型: enum
AAC 编码规格(新)。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kMixedStreamAudioProfileLC | 0 | AAC-LC 规格,默认值。 |
| kMixedStreamAudioProfileHEv1 | 1 | HE-AAC v1 规格。 |
| kMixedStreamAudioProfileHEv2 | 2 | HE-AAC v2 规格。 |
类型: interface
视频合流配置参数(新)。值不合法或未设置时,自动使用默认值。
| 方法 | 描述 |
|---|---|
| width | 合流视频宽度。单位为 px,范围为 [2, 1920],必须是偶数。默认值为 360 px。 设置值为非偶数时,自动向上取偶数。 |
| height | 合流视频高度。单位为 px,范围为 [2, 1920],必须是偶数。默认值为 640 px。 设置值为非偶数时,自动向上取偶数。 |
| fps | 合流视频帧率。单位为 FPS,取值范围为 [1,60],默认值为 15 FPS。 |
| gop | 视频 I 帧时间间隔。单位为秒,取值范围为 [1, 5],默认值为 2 秒。 本参数不支持过程中更新。 |
| bitrate | 合流视频码率。单位为 Kbps,取值范围为 [1,10000],默认值为自适应模式。 |
| video_codec | 视频编码格式。默认值为 0。本参数不支持过程中更新。 |
| enable_Bframe | 是否在合流中开启 B 帧,仅服务端合流支持: + true: 是 + false: 否 |
width
类型: number
合流视频宽度。建议设置。单位为 px,范围为 [2, 1920],必须是偶数。默认值为 360 px。
设置值为非偶数时,自动向上取偶数。
height
类型: number
合流视频高度。建议设置。单位为 px,范围为 [2, 1920],必须是偶数。默认值为 640 px。
设置值为非偶数时,自动向上取偶数。
fps
类型: number
合流视频帧率。单位为 FPS,取值范围为 [1,60],默认值为 15 FPS。
gop
类型: number
视频 I 帧时间间隔。建议设置。单位为秒,取值范围为 [1, 5],默认值为 2 秒。
本参数不支持过程中更新。
bitrate
类型: number
合流视频码率。建议设置。单位为 Kbps,取值范围为 [1,10000],默认值为自适应模式。
video_codec
视频编码格式。建议设置。默认值为 0。
本参数不支持过程中更新。
enable_Bframe
类型: boolean
是否在合流中开启 B 帧,仅服务端合流支持:
类型: enum
视频编码格式(新)。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kMixedStreamVideoCodecTypeH264 | 0 | H.264 格式,默认值。 |
| kMixedStreamVideoCodecTypeByteVC1 | 1 | ByteVC1 格式。 |
类型: interface
客户端合流参数(新)。
| 方法 | 描述 |
|---|---|
| use_audio_mixer | 客户端合流是否使用混音,默认为 true。 |
| video_format | 客户端合流回调视频格式。 |
use_audio_mixer
类型: boolean
客户端合流是否使用混音,默认为 true。
video_format
类型: MixedStreamClientMixVideoFormat
客户端合流回调视频格式。
类型: enum
客户端合流回调视频格式(新)。设置为系统不支持的格式时,自动回调系统默认格式。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kMixedStreamClientMixVideoFormatI420 | 0 | YUV I420。Android、Windows 默认回调格式。支持系统:Android、Windows。 |
| kMixedStreamClientMixVideoFormatTexture2D | 1 | OpenGL GL_TEXTURE_2D 格式纹理。支持系统:安卓。 |
| kMixedStreamClientMixVideoFormatCVPixelBufferBGRA | 2 | CVPixelBuffer BGRA。iOS 默认回调格式。支持系统: iOS。 |
| kMixedStreamClientMixVideoFormatNV12 | 3 | YUV NV12。macOS 默认回调格式。支持系统: macOS。 |
类型: interface
单个图片或视频流在合流中的布局信息(新)。
开启合流功能后,在多路图片或视频流合流时,你可以设置其中一路流在合流中的预设布局信息。
| 方法 | 描述 |
|---|---|
| region_id | 合流用户的 ID。必填。 |
| room_id | 图片或视频流所在房间的房间 ID。必填。 如果此图片或视频流是通过 startForwardStreamToRooms 转发到你所在房间的媒体流时,你应将房间 ID 设置为你所在的房间 ID。 |
| location_x | 视频流对应区域左上角的横坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。默认值为 0.0。 |
| location_y | 视频流对应区域左上角的纵坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。默认值为 0.0。 |
| width_proportion | 视频流对应区域宽度相对整体画面的归一化比例,取值的范围为 [0.0, 1.0]。默认值为 1.0。 |
| height_proportion | 视频流对应区域高度相对整体画面的归一化比例,取值的范围为 [0.0, 1.0]。默认值为 1.0。 |
| alpha | 透明度,可选范围为 (0.0, 1.0],0.0 为全透明。默认值为 1.0。 |
| corner_radius | 圆角半径相对画布宽度的比例。默认值为 0.0。 |
| z_order | 用户视频布局在画布中的层级。取值范围为 [0 - 100],0 为底层,值越大越上层。默认值为 0。 |
| is_local_user | 是否为本地用户: + true: 是 + false: 否 |
| stream_type | 是否为屏幕流: |
| media_type | 合流内容控制。默认值为 kMediaTypeAudioAndVideo。 |
| render_mode | 图片或视频流的缩放模式。默认值为 1。 |
| region_content_type | 合流布局区域类型。 |
| image_water_mark | 图片合流布局区域类型对应的数据。类型为图片时传入图片 RGBA 数据,当类型为视频流时传空。 |
| image_water_mark_param | 合流布局区域数据的对应参数。当类型为视频流时传空,类型为图片时传入对应图片的参数。 |
| spatial_position | 空间位置。 |
| apply_spatial_audio | 是否开启空间音频 |
region_id
类型: string
合流用户的 ID。建议设置。
room_id
类型: string
图片或视频流所在房间的房间 ID。建议设置。
如果此图片或视频流是通过 startForwardStreamToRooms 转发到你所在房间的媒体流时,你应将房间 ID 设置为你所在的房间 ID。
location_x
类型: number
视频流对应区域左上角的横坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。默认值为 0.0。建议设置。
location_y
类型: number
视频流对应区域左上角的纵坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。默认值为 0.0。建议设置。
width_proportion
类型: number
视频流对应区域宽度相对整体画面的归一化比例,取值的范围为 [0.0, 1.0]。默认值为 1.0。建议设置。
height_proportion
类型: number
视频流对应区域高度相对整体画面的归一化比例,取值的范围为 [0.0, 1.0]。默认值为 1.0。建议设置。
alpha
类型: number
透明度,可选范围为 (0.0, 1.0],0.0 为全透明。默认值为 1.0。
corner_radius
类型: number
圆角半径相对画布宽度的比例。默认值为 0.0。
注意
做范围判定时,首先根据画布的宽高,将 width,height,和 corner_radius 分别转换为像素值:width_px,height_px,和 corner_radius_px。然后判定是否满足 corner_radius_px < min(width_px/2, height_px/2):若满足,则设置成功;若不满足,则将 corner_radius_px 设定为 min(width_px/2, height_px/2),然后将 corner_radius 设定为 corner_radius_px 相对画布宽度的比例值。
z_order
类型: number
用户视频布局在画布中的层级。取值范围为 [0 - 100],0 为底层,值越大越上层。默认值为 0。
is_local_user
类型: boolean
是否为本地用户:
stream_type
是否为屏幕流:
media_type
合流内容控制。默认值为 kMediaTypeAudioAndVideo。
render_mode
图片或视频流的缩放模式。默认值为 1。
region_content_type
类型: MixedStreamLayoutRegionType
合流布局区域类型。
image_water_mark
类型: Uint8Array
图片合流布局区域类型对应的数据。类型为图片时传入图片 RGBA 数据,当类型为视频流时传空。
image_water_mark_param
类型: MixedStreamLayoutRegionImageWaterMarkConfig
合流布局区域数据的对应参数。当类型为视频流时传空,类型为图片时传入对应图片的参数。
spatial_position
类型: Position
空间位置。
apply_spatial_audio
类型: boolean
是否开启空间音频
类型: enum
region中流的类型属性
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kMixedStreamVideoTypeMain | 0 | 主流。包括: + 由摄像头/麦克风通过内部采集机制,采集到的流 + 通过自定义采集,采集到的流。 |
| kMixedStreamVideoTypeScreen | 1 | 屏幕流。 |
类型: enum
合流输出内容类型(新)。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kMixedStreamMediaTypeAudioAndVideo | 0 | 输出的混流包含音频和视频 |
| kMixedStreamMediaTypeAudioOnly | 1 | 输出的混流只包含音频 |
| kMixedStreamMediaTypeVideoOnly | 2 | 输出的混流只包含视频 |
类型: enum
图片或视频流的缩放模式(新)。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kMixedStreamRenderModeHidden | 1 | 视窗填满优先,默认值。 视频尺寸等比缩放,直至视窗被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。 |
| kMixedStreamRenderModeFit | 2 | 视频帧内容全部显示优先。 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成背景颜色。 |
| kMixedStreamRenderModeAdaptive | 3 | 视频帧自适应画布。 视频尺寸非等比例缩放,把窗口充满。在此过程中,视频帧的长宽比例可能会发生变化。 |
类型: enum
合流布局区域类型(新)。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kMixedStreamLayoutRegionTypeVideoStream | 0 | 合流布局区域类型为视频。 |
| kMixedStreamLayoutRegionTypeImage | 1 | 合流布局区域类型为图片。 |
类型: interface
图片合流相关参数(新)。
| 方法 | 描述 |
|---|---|
| image_width | 原始图片的宽度,单位为 px。 |
| image_height | 原始图片的高度,单位为 px。 |
image_width
类型: number
原始图片的宽度,单位为 px。
image_height
类型: number
原始图片的高度,单位为 px。
类型: interface
本地代理配置详细信息。
| 方法 | 描述 |
|---|---|
| local_proxy_type | 本地代理类型 |
| local_proxy_ip | 本地代理服务器 IP。 |
| local_proxy_port | 本地代理服务器端口。 |
| local_proxy_username | 本地代理用户名。 |
| local_proxy_password | 本地代理密码。 |
local_proxy_type
类型: LocalProxyType
本地代理类型
local_proxy_ip
类型: string
本地代理服务器 IP。
local_proxy_port
类型: number
本地代理服务器端口。
local_proxy_username
类型: string
本地代理用户名。
local_proxy_password
类型: string
本地代理密码。
类型: enum
本地代理的类型。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kLocalProxyTypeSocks5 | 1 | Socks5 代理。选用此代理服务器,需满足 Socks5 协议标准文档的要求。 |
| kLocalProxyTypeHttpTunnel | 2 | Http 隧道代理。 |
类型: enum
是否开启耳返功能
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kEarMonitorModeOff | 0 | 不开启 |
| kEarMonitorModeOn | 1 | 开启 |
类型: enum
音频回调方法
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAudioFrameCallbackRecord | 0 | 本地麦克风录制的音频数据回调 |
| kAudioFrameCallbackPlayback | 1 | 订阅的远端所有用户混音后的音频数据回调 |
| kAudioFrameCallbackMixed | 2 | 本地麦克风录制和订阅的远端所有用户混音后的音频数据回调 |
| kAudioFrameCallbackRemoteUser | 3 | 订阅的远端每个用户混音前的音频数据回调 |
| kAudioFrameCallbackRecordScreen | 4 | 本地屏幕录制的音频数据回调 |
类型: interface
音频格式
| 方法 | 描述 |
|---|---|
| sample_rate | 音频采样率 |
| channel | 音频声道 |
| samples_per_call | 单次回调的音频帧中包含的采样点数。默认值为 0,此时,采样点数取最小值。最小值为回调间隔是 0.01s 时的值,即 sampleRate * channel * 0.01s。最大值是 2048。超出取值范围时,采样点数取默认值。 |
sample_rate
类型: AudioSampleRate
音频采样率
channel
类型: AudioChannel
音频声道
samples_per_call
类型: number
单次回调的音频帧中包含的采样点数。默认值为 0,此时,采样点数取最小值。
最小值为回调间隔是 0.01s 时的值,即 sampleRate * channel * 0.01s。
最大值是 2048。超出取值范围时,采样点数取默认值。
该参数仅在设置读写回调时生效,调用 enableAudioFrameCallback 开启只读模式回调时设置该参数不生效。
类型: enum
远端音频流精准对齐模式
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAudioAlighmentModeOff | 0 | 不对齐 |
| kAudioAlighmentModeAudioMixing | 1 | 远端音频流都对齐伴奏进度同步播放 |
类型: interface
本地日志参数。
| 方法 | 描述 |
|---|---|
| log_path | 日志存储路径,必填。 |
| log_level | 日志等级,默认为警告级别,选填。 |
log_path
类型: string
日志存储路径,必填。
log_level
类型: LocalLogLevel
日志等级,默认为警告级别,选填。
类型: enum
本地日志输出等级。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kInfo | 0 | 信息级别。 |
| kWarning | 1 | (默认值)警告级别。 |
| kError | 2 | 错误级别。 |
| kNone | 3 | 关闭日志。 |
类型: enum
渲染类型
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kRenderTypeWebGL | 1 | WebGL渲染。 |
| kRenderTypeSoftware | 2 | Software渲染。 |
类型: interface
通话相关的统计信息
| 方法 | 描述 |
|---|---|
| txLostrate | 当前应用的上行丢包率,取值范围为 [0, 1]。 |
| rxLostrate | 当前应用的下行丢包率,取值范围为 [0, 1]。 |
| rtt | 客户端到服务端数据传输的往返时延(单位 ms) |
| duration | 进房到退房之间累计时长,单位为 s |
| tx_bytes | 本地用户的总发送字节数 (bytes),累计值 |
| rx_bytes | 本地用户的总接收字节数 (bytes),累计值 |
| tx_kbitrate | 发送码率 (kbps),获取该数据时的瞬时值 |
| rx_kbitrate | 接收码率 (kbps),获取该数据时的瞬时值 |
| rx_audio_kbitrate | 音频接收码率 (kbps),获取该数据时的瞬时值 |
| tx_audio_kbitrate | 音频发送码率 (kbps),获取该数据时的瞬时值 |
| rx_video_kbitrate | 视频接收码率 (kbps),获取该数据时的瞬时值 |
| tx_video_kbitrate | 视频发送码率 (kbps),获取该数据时的瞬时值 |
| rx_screen_kbitrate | 屏幕接收码率,获取该数据时的瞬时值,单位为 Kbps |
| tx_screen_kbitrate | 屏幕发送码率,获取该数据时的瞬时值,单位为 Kbps |
| user_count | 当前房间内的用户人数 |
| tx_cellular_kbitrate | 蜂窝路径发送的码率 (kbps),获取该数据时的瞬时值 |
| rx_cellular_kbitrate | 蜂窝路径接收码率 (kbps),获取该数据时的瞬时值 |
txLostrate
类型: number
当前应用的上行丢包率,取值范围为 [0, 1]。
rxLostrate
类型: number
当前应用的下行丢包率,取值范围为 [0, 1]。
rtt
类型: number
客户端到服务端数据传输的往返时延(单位 ms)
duration
类型: number
进房到退房之间累计时长,单位为 s
tx_bytes
类型: number
本地用户的总发送字节数 (bytes),累计值
rx_bytes
类型: number
本地用户的总接收字节数 (bytes),累计值
tx_kbitrate
类型: number
发送码率 (kbps),获取该数据时的瞬时值
rx_kbitrate
类型: number
接收码率 (kbps),获取该数据时的瞬时值
rx_audio_kbitrate
类型: number
音频接收码率 (kbps),获取该数据时的瞬时值
tx_audio_kbitrate
类型: number
音频发送码率 (kbps),获取该数据时的瞬时值
rx_video_kbitrate
类型: number
视频接收码率 (kbps),获取该数据时的瞬时值
tx_video_kbitrate
类型: number
视频发送码率 (kbps),获取该数据时的瞬时值
rx_screen_kbitrate
类型: number
屏幕接收码率,获取该数据时的瞬时值,单位为 Kbps
tx_screen_kbitrate
类型: number
屏幕发送码率,获取该数据时的瞬时值,单位为 Kbps
user_count
类型: number
当前房间内的用户人数
tx_cellular_kbitrate
类型: number
蜂窝路径发送的码率 (kbps),获取该数据时的瞬时值
rx_cellular_kbitrate
类型: number
蜂窝路径接收码率 (kbps),获取该数据时的瞬时值
类型: enum
用户离线原因。
房间内的远端用户离开房间时,本端用户会收到 onUserLeave 回调通知,此枚举类型为回调的用户离线原因。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kUserOfflineReasonQuit | 0 | 远端用户调用 leaveRoom 方法退出房间。 |
| kUserOfflineReasonDropped | 1 | 远端用户因网络等原因掉线。 |
| kUserOfflineReasonSwitchToInvisible | 2 | 远端用户切换至隐身状态。 |
| kUserOfflineReasonKickedByAdmin | 3 | 远端用户被踢出出房间。 因调用踢出用户的 OpenAPI,远端用户被踢出房间。 |
类型: enum
音视频同步状态
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAVSyncStateAVStreamSyncBegin | 0 | 音视频开始同步 |
| kAVSyncStateAudioStreamRemove | 1 | 音视频同步过程中音频移除,但不影响当前的同步关系 |
| kAVSyncStateVdieoStreamRemove | 2 | 音视频同步过程中视频移除,但不影响当前的同步关系 |
类型: interface
本地音/视频流统计信息,统计周期为 2s 。
本地用户发布音/视频流成功后,SDK 会周期性地通过 onLocalStreamStats 通知本地用户发布的音/视频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。
| 方法 | 描述 |
|---|---|
| audio_stats | 本地设备发送音频流的统计信息 |
| video_stats | 本地设备发送视频流的统计信息 |
| is_screen | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
audio_stats
类型: LocalAudioStats
本地设备发送音频流的统计信息
video_stats
类型: LocalVideoStats
本地设备发送视频流的统计信息
is_screen
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
类型: interface
本地音频流统计信息,统计周期为 2s 。 本地用户发布音频流成功后,SDK 会周期性地通过 onLocalStreamStats 通知用户发布的音频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。
| 方法 | 描述 |
|---|---|
| audio_loss_rate | 音频丢包率。此次统计周期内的音频上行丢包率,单位为 % ,取值范围为 [0, 1]。 |
| send_kbitrate | 发送码率。此次统计周期内的音频发送码率,单位为 kbps 。 |
| record_sample_rate | 采集采样率。此次统计周期内的音频采集采样率信息,单位为 Hz 。 |
| stats_interval | 统计间隔。此次统计周期的间隔,单位为 ms 。 此字段用于设置回调的统计周期,默认设置为 2s 。 |
| rtt | 往返时延。单位为 ms 。 |
| num_channels | 音频声道数。 |
| sent_sample_rate | 音频发送采样率。此次统计周期内的音频发送采样率信息,单位为 Hz 。 |
| jitter | 音频上行网络抖动,单位为 ms 。 |
audio_loss_rate
类型: number
音频丢包率。此次统计周期内的音频上行丢包率,单位为 % ,取值范围为 [0, 1]。
send_kbitrate
类型: number
发送码率。此次统计周期内的音频发送码率,单位为 kbps 。
record_sample_rate
类型: number
采集采样率。此次统计周期内的音频采集采样率信息,单位为 Hz 。
stats_interval
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
此字段用于设置回调的统计周期,默认设置为 2s 。
rtt
类型: number
往返时延。单位为 ms 。
num_channels
类型: number
音频声道数。
sent_sample_rate
类型: number
音频发送采样率。此次统计周期内的音频发送采样率信息,单位为 Hz 。
jitter
类型: number
音频上行网络抖动,单位为 ms 。
类型: interface
本地视频流统计信息,统计周期为 2s 。
本地用户发布视频流成功后,SDK 会周期性地通过 onLocalStreamStats 通知用户发布的视频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。
| 方法 | 描述 |
|---|---|
| sent_kbitrate | 发送码率。此次统计周期内的视频发送码率,单位为 kbps 。 |
| input_frame_rate | 采集帧率。此次统计周期内的视频采集帧率,单位为 fps 。 |
| sent_frame_rate | 发送帧率。此次统计周期内的视频发送帧率,单位为 fps 。 |
| encoder_output_frame_rate | 编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。 |
| renderer_output_frame_rate | 本地渲染帧率。此次统计周期内的本地视频渲染帧率,单位为 fps 。 |
| stats_interval | 统计间隔。此次统计周期的间隔,单位为 ms 。 此字段用于设置回调的统计周期,默认设置为 2s 。 |
| video_loss_rate | 视频丢包率。此次统计周期内的视频上行丢包率,取值范围为 [0,1] 。 |
| rtt | 往返时延,单位为 ms 。 |
| encoded_bitrate | 视频编码码率。此次统计周期内的视频编码码率,单位为 kbps 。 |
| encoded_frame_width | 实际发送的分辨率最大的视频流的视频编码宽度,单位为 px 。 |
| encoded_frame_height | 实际发送的分辨率最大的视频流的视频编码高度,单位为 px 。 |
| encoded_frame_count | 此次统计周期内实际发送的分辨率最大的视频流的发送的视频帧总数。 |
| codec_type | 视频的编码类型 |
| is_screen | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
| jitter | 视频上行网络抖动,单位为 ms 。 |
| codec_elapse_per_frame | 视频编码平均耗时,单位ms。 |
sent_kbitrate
类型: number
发送码率。此次统计周期内的视频发送码率,单位为 kbps 。
input_frame_rate
类型: number
采集帧率。此次统计周期内的视频采集帧率,单位为 fps 。
sent_frame_rate
类型: number
发送帧率。此次统计周期内的视频发送帧率,单位为 fps 。
encoder_output_frame_rate
类型: number
编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。
renderer_output_frame_rate
类型: number
本地渲染帧率。此次统计周期内的本地视频渲染帧率,单位为 fps 。
stats_interval
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
此字段用于设置回调的统计周期,默认设置为 2s 。
video_loss_rate
类型: number
视频丢包率。此次统计周期内的视频上行丢包率,取值范围为 [0,1] 。
rtt
类型: number
往返时延,单位为 ms 。
encoded_bitrate
类型: number
视频编码码率。此次统计周期内的视频编码码率,单位为 kbps 。
encoded_frame_width
类型: number
实际发送的分辨率最大的视频流的视频编码宽度,单位为 px 。
encoded_frame_height
类型: number
实际发送的分辨率最大的视频流的视频编码高度,单位为 px 。
encoded_frame_count
类型: number
此次统计周期内实际发送的分辨率最大的视频流的发送的视频帧总数。
codec_type
类型: VideoCodecType
视频的编码类型
is_screen
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
jitter
类型: number
视频上行网络抖动,单位为 ms 。
codec_elapse_per_frame
类型: number
视频编码平均耗时,单位ms。
类型: enum
视频的编码类型
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kVideoCodecUnknown | 0 | 未知类型 |
| kVideoCodecH264 | 1 | 标准H264 |
类型: interface
用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s 。
订阅远端用户发布音/视频流成功后,SDK 会周期性地通过 onRemoteStreamStats
通知本地用户订阅的远端音/视频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。
| 方法 | 描述 |
|---|---|
| uid | 用户 ID 。音频来源的远端用户 ID 。 |
| audio_stats | 远端音频流的统计信息 |
| video_stats | 远端视频流的统计信息 |
| is_screen | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
uid
类型: string
用户 ID 。音频来源的远端用户 ID 。
audio_stats
类型: RemoteAudioStats
远端音频流的统计信息
video_stats
类型: RemoteVideoStats
远端视频流的统计信息
is_screen
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
类型: interface
远端音频流统计信息,统计周期为 2s。
本地用户订阅远端音频流成功后,SDK 会周期性地通过 onRemoteStreamStats 通知本地用户订阅的音频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。
| 方法 | 描述 |
|---|---|
| audio_loss_rate | 音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。 |
| received_kbitrate | 接收码率。统计周期内的音频接收码率,单位为 kbps 。 |
| stall_count | 音频卡顿次数。统计周期内的卡顿次数。 |
| stall_duration | 音频卡顿时长。统计周期内的卡顿时长,单位为 ms 。 |
| e2e_delay | 用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。 |
| playout_sample_rate | 播放采样率。统计周期内的音频播放采样率信息,单位为 Hz 。 |
| stats_interval | 统计间隔。此次统计周期的间隔,单位为 ms 。 |
| rtt | 客户端到服务端数据传输的往返时延,单位为 ms。 |
| total_rtt | 发送端——服务端——接收端全链路数据传输往返时延。单位为 ms 。 |
| quality | 远端用户发送的音频流质量。 + 0: 网络质量未知。+ 1: 网络质量极好。+ 2: 主观感觉和 kNetworkQualityExcellent 差不多,但码率可能略低。+ 3: 主观感受有瑕疵但不影响沟通。+ 4: 勉强能沟通但不顺畅。+ 5: 网络质量非常差,基本不能沟通。 |
| jitter_buffer_delay | 因引入 jitter buffer 机制导致的延时。单位为 ms 。 |
| num_channels | 音频声道数。 |
| received_sample_rate | 音频接收采样率。统计周期内接收到的远端音频采样率信息,单位为 Hz 。 |
| frozen_rate | 远端用户在加入房间后发生音频卡顿的累计时长占音频总有效时长的百分比。音频有效时长是指远端用户进房发布音频流后,除停止发送音频流和禁用音频模块之外的音频时长。 |
| concealed_samples | 音频 PLC 样点总个数。 |
| concealment_event | PLC 累计次数。 |
| dec_sample_rate | 音频解码采样率。统计周期内的音频解码采样率信息,单位为 Hz 。 |
| dec_duration | 解码时长。对此次统计周期内接收的远端音频流进行解码的总耗时,单位为 s 。 |
| jitter | 音频下行网络抖动,单位为 ms 。 |
audio_loss_rate
类型: number
音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。
received_kbitrate
类型: number
接收码率。统计周期内的音频接收码率,单位为 kbps 。
stall_count
类型: number
音频卡顿次数。统计周期内的卡顿次数。
stall_duration
类型: number
音频卡顿时长。统计周期内的卡顿时长,单位为 ms 。
e2e_delay
类型: number
用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。
playout_sample_rate
类型: number
播放采样率。统计周期内的音频播放采样率信息,单位为 Hz 。
stats_interval
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
rtt
类型: number
客户端到服务端数据传输的往返时延,单位为 ms。
total_rtt
类型: number
发送端——服务端——接收端全链路数据传输往返时延。单位为 ms 。
quality
类型: number
远端用户发送的音频流质量。
0: 网络质量未知。1: 网络质量极好。2: 主观感觉和 kNetworkQualityExcellent 差不多,但码率可能略低。3: 主观感受有瑕疵但不影响沟通。4: 勉强能沟通但不顺畅。5: 网络质量非常差,基本不能沟通。jitter_buffer_delay
类型: number
因引入 jitter buffer 机制导致的延时。单位为 ms 。
num_channels
类型: number
音频声道数。
received_sample_rate
类型: number
音频接收采样率。统计周期内接收到的远端音频采样率信息,单位为 Hz 。
frozen_rate
类型: number
远端用户在加入房间后发生音频卡顿的累计时长占音频总有效时长的百分比。音频有效时长是指远端用户进房发布音频流后,除停止发送音频流和禁用音频模块之外的音频时长。
concealed_samples
类型: number
音频 PLC 样点总个数。
concealment_event
类型: number
PLC 累计次数。
dec_sample_rate
类型: number
音频解码采样率。统计周期内的音频解码采样率信息,单位为 Hz 。
dec_duration
类型: number
解码时长。对此次统计周期内接收的远端音频流进行解码的总耗时,单位为 s 。
jitter
类型: number
音频下行网络抖动,单位为 ms 。
类型: interface
远端音频流统计信息,统计周期为 2s 。
本地用户订阅远端音频流成功后,SDK 会周期性地通过 onRemoteStreamStats
通知本地用户订阅的远端视频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。
| 方法 | 描述 |
|---|---|
| width | 视频宽度 |
| height | 视频高度 |
| video_loss_rate | 视频丢包率。统计周期内的视频下行丢包率,单位为 % ,取值范围:[0,1] 。 |
| received_kbitrate | 接收码率。统计周期内的视频接收码率,单位为 kbps 。 |
| decoder_output_frame_rate | 解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。 |
| renderer_output_frame_rate | 渲染帧率。统计周期内的视频渲染帧率,单位 fps 。 |
| stall_count | 卡顿次数。统计周期内的卡顿次数。 |
| stall_duration | 卡顿时长。统计周期内的视频卡顿总时长。单位 ms 。 |
| e2eDelay | 用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。 |
| is_screen | 所属用户的媒体流是否为屏幕流。你可以知道当前数据来自主流还是屏幕流。 |
| stats_interval | 统计间隔,此次统计周期的间隔,单位为 ms 。 |
| rtt | 往返时延,单位为 ms 。 |
| frozen_rate | 远端用户在进房后发生视频卡顿的累计时长占视频总有效时长的百分比(%)。视频有效时长是指远端用户进房发布视频流后,除停止发送视频流和禁用视频模块之外的视频时长。 |
| codec_type | 视频的编码类型 |
| video_index | 对应多种分辨率的流的下标 |
| jitter | 视频下行网络抖动,单位为 ms 。 |
| codec_elapse_per_frame | 视频解码平均耗时,单位ms。 |
width
类型: number
视频宽度
height
类型: number
视频高度
video_loss_rate
类型: number
视频丢包率。统计周期内的视频下行丢包率,单位为 % ,取值范围:[0,1] 。
received_kbitrate
类型: number
接收码率。统计周期内的视频接收码率,单位为 kbps 。
decoder_output_frame_rate
类型: number
解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。
renderer_output_frame_rate
类型: number
渲染帧率。统计周期内的视频渲染帧率,单位 fps 。
stall_count
类型: number
卡顿次数。统计周期内的卡顿次数。
stall_duration
类型: number
卡顿时长。统计周期内的视频卡顿总时长。单位 ms 。
e2eDelay
类型: number
用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。
is_screen
类型: number
所属用户的媒体流是否为屏幕流。你可以知道当前数据来自主流还是屏幕流。
stats_interval
类型: number
统计间隔,此次统计周期的间隔,单位为 ms 。
注意
此字段用于设置回调的统计周期,目前设置为 2s 。
rtt
类型: number
往返时延,单位为 ms 。
frozen_rate
类型: number
远端用户在进房后发生视频卡顿的累计时长占视频总有效时长的百分比(%)。视频有效时长是指远端用户进房发布视频流后,除停止发送视频流和禁用视频模块之外的视频时长。
codec_type
类型: VideoCodecType
视频的编码类型
video_index
类型: number
对应多种分辨率的流的下标
jitter
类型: number
视频下行网络抖动,单位为 ms 。
codec_elapse_per_frame
类型: number
视频解码平均耗时,单位ms。
类型: enum
房间内远端流被移除的原因。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kStreamRemoveReasonUnpublish | 0 | 远端用户停止发布流。 |
| kStreamRemoveReasonPublishFailed | 1 | 远端用户发布流失败。 |
| kStreamRemoveReasonKeepLiveFailed | 2 | 保活失败。 |
| kStreamRemoveReasonClientDisconnected | 3 | 远端用户断网。 |
| kStreamRemoveReasonRepublish | 4 | 远端用户重新发布流。 |
| kStreamRemoveReasonOther | 5 | 其他原因。 |
类型: enum
订阅媒体流状态
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kSubscribeStateSuccess | 0 | 订阅/取消订阅流成功 |
| kSubscribeStateFailedNotInRoom | 1 | 订阅/取消订阅流失败,本地用户未在房间中 |
| kSubscribeStateFailedStreamNotFound | 2 | 订阅/取消订阅流失败,房间内未找到指定的音视频流 |
| kSubscribeStateFailedOverLimit | 3 | 超过订阅流数上限 |
类型: interface
手动订阅流的配置信息。
| 方法 | 描述 |
|---|---|
| is_screen | 是否是屏幕流,默认为否。 |
| sub_video | 是否订阅视频。 |
| sub_audio | 是否订阅音频。 |
| video_index | 订阅的视频流分辨率下标。 用户可以通过调用 setVideoEncoderConfig 方法在一路流中发布多个不同分辨率的视频。因此订阅流时,需要指定订阅的具体分辨率。此参数即用于指定需订阅的分辨率的下标,默认值为 0 。 |
| priority | 远端用户的需求优先级,0 为默认值。 + 0: 默认,用户优先级为低+ 100: 用户优先级为正常+ 200: 用户优先级为高当开启了订阅流回退选项功能(详见 setSubscribeFallbackOption 方法),弱网或性能不足时会优先保证收到的高优先级用户的流的质量。 |
| svc_layer | 远端用户的时域分层,0 为默认值。 仅码流支持 SVC 特性时可以生效。 |
| framerate | 期望订阅的最高帧率,单位:fps,默认值为 0,设为大于 0 的值时开始生效。 当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。 仅码流支持 SVC 分级编码特性时方可生效。 |
| sub_width | 用户通过指定 UI 对应的最合适的流的宽度,单位:px |
| sub_height | 用户通过指定 UI 对应的最合适的流的高度,单位:px |
is_screen
类型: boolean
是否是屏幕流,默认为否。
sub_video
类型: boolean
是否订阅视频。
sub_audio
类型: boolean
是否订阅音频。
video_index
类型: number
订阅的视频流分辨率下标。
用户可以通过调用 setVideoEncoderConfig 方法在一路流中发布多个不同分辨率的视频。因此订阅流时,需要指定订阅的具体分辨率。此参数即用于指定需订阅的分辨率的下标,默认值为 0 。
priority
类型: number
远端用户的需求优先级,0 为默认值。
0: 默认,用户优先级为低100: 用户优先级为正常200: 用户优先级为高svc_layer
类型: number
远端用户的时域分层,0 为默认值。
仅码流支持 SVC 特性时可以生效。
framerate
类型: number
期望订阅的最高帧率,单位:fps,默认值为 0,设为大于 0 的值时开始生效。
当发布端帧率低于设定帧率,或订阅端开启性能回退后下行弱网,则帧率会相应下降。
仅码流支持 SVC 分级编码特性时方可生效。
sub_width
类型: number
用户通过指定 UI 对应的最合适的流的宽度,单位:px
sub_height
类型: number
用户通过指定 UI 对应的最合适的流的高度,单位:px
类型: interface
跨房间转发媒体流过程中的不同目标房间的状态和错误信息
| 方法 | 描述 |
|---|---|
| room_id | 跨房间转发媒体流过程中目标房间 ID 空字符串代表所有目标房间 |
| state | 跨房间转发媒体流过程中该目标房间的状态、 |
| error | 跨房间转发媒体流过程中该目标房间抛出的错误码 |
room_id
类型: string
跨房间转发媒体流过程中目标房间 ID
空字符串代表所有目标房间
state
跨房间转发媒体流过程中该目标房间的状态、
error
跨房间转发媒体流过程中该目标房间抛出的错误码
类型: enum
跨房间转发媒体流过程中的不同目标房间的状态和错误信息
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kForwardStreamStateIdle | 0 | 空闲状态 + 成功调用 stopForwardStreamToRooms 后,所有目标房间为空闲状态。+ 成功调用 updateForwardStreamToRooms 减少目标房间后,本次减少的目标房间为空闲状态。 |
| kForwardStreamStateSuccess | 1 | 开始转发 + 调用 startForwardStreamToRooms 成功向所有房间开始转发媒体流后,返回此状态。+ 调用 updateForwardStreamToRooms 后,成功向新增目标房间开始转发媒体流后,返回此状态。 |
| kForwardStreamStateFailure | 2 | 转发失败,失败详情参考 ForwardStreamError 调用 startForwardStreamToRooms 或 updateForwardStreamToRooms 后,如遇转发失败,返回此状态。 |
类型: interface
跨房间转发媒体流过程中的不同目标房间发生的事件
| 方法 | 描述 |
|---|---|
| room_id | 跨房间转发媒体流过程中的发生该事件的目标房间 ID 空字符串代表所有目标房间 |
| event | 跨房间转发媒体流过程中该目标房间发生的事件 |
room_id
类型: string
跨房间转发媒体流过程中的发生该事件的目标房间 ID
空字符串代表所有目标房间
event
跨房间转发媒体流过程中该目标房间发生的事件
类型: enum
媒体流跨房间转发事件
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kForwardStreamEventDisconnected | 0 | 本端与服务器网络连接断开,暂停转发。 |
| kForwardStreamEventConnected | 1 | 本端与服务器网络连接恢复,转发服务连接成功。 |
| kForwardStreamEventInterrupt | 2 | 转发中断。转发过程中,如果相同 user_id 的用户进入目标房间,转发中断。 |
| kForwardStreamEventDstRoomUpdated | 3 | 目标房间已更新,由 updateForwardStreamToRooms 触发。 |
| kForwardStreamEventUnExpectAPICall | 4 | API 调用时序错误。例如,在调用 startForwardStreamToRooms 之前调用 updateForwardStreamToRooms 。 |
类型: interface
上行/下行网络质量
| 方法 | 描述 |
|---|---|
| uid | 用户 id |
| fraction_lost | 本端的上行/下行的丢包率,范围 [0.0,1.0] 当 uid 为本地用户时,代表发布流的上行丢包率。当 uid 为远端用户时,代表接收所有订阅流的下行丢包率。 |
| rtt | 当 uid 为本地用户时有效,客户端到服务端的往返延时(RTT),单位:ms |
| rx_quality | 下行网络质量分。范围 [0,5],分数越高网络质量越差。 |
| total_bandwidth | 本端的音视频 RTP 包 2 秒内的平均传输速率,单位:bps 当 uid 为本地用户时,代表发送速率。当 uid 为远端用户时,代表所有订阅流的接收速率。 |
| tx_quality | 上行网络质量分。范围 [0,5],分数越高网络质量越差。 |
uid
类型: string
用户 id
fraction_lost
类型: number
本端的上行/下行的丢包率,范围 [0.0,1.0]
当 uid 为本地用户时,代表发布流的上行丢包率。
当 uid 为远端用户时,代表接收所有订阅流的下行丢包率。
rtt
类型: number
当 uid 为本地用户时有效,客户端到服务端的往返延时(RTT),单位:ms
rx_quality
类型: NetworkQuality
下行网络质量分。范围 [0,5],分数越高网络质量越差。
total_bandwidth
类型: number
本端的音视频 RTP 包 2 秒内的平均传输速率,单位:bps
当 uid 为本地用户时,代表发送速率。
当 uid 为远端用户时,代表所有订阅流的接收速率。
tx_quality
类型: NetworkQuality
上行网络质量分。范围 [0,5],分数越高网络质量越差。
类型: enum
媒体流网络质量。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kNetworkQualityUnknown | 0 | 网络质量未知。 |
| kNetworkQualityExcellent | 1 | 网络质量极好。 |
| kNetworkQualityGood | 2 | 主观感觉和 kNetworkQualityExcellent 差不多,但码率可能略低。 |
| kNetworkQualityPoor | 3 | 主观感受有瑕疵但不影响沟通。 |
| kNetworkQualityBad | 4 | 勉强能沟通但不顺畅。 |
| kNetworkQualityVbad | 5 | 网络质量非常差,基本不能沟通。 |
类型: enum
设置房间附加消息结果。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kSetRoomExtraInfoSuccess | 0 | 设置房间附加信息成功 |
| kSetRoomExtraInfoErrorNotJoinRoom | -1 | 设置失败,尚未加入房间 |
| kSetRoomExtraInfoErrorKeyIsNull | -2 | 设置失败,key 指针为空 |
| kSetRoomExtraInfoErrorValueIsNull | -3 | 设置失败,value 指针为空 |
| kSetRoomExtraInfoResultUnknow | -99 | 设置失败,未知错误 |
| kSetRoomExtraInfoErrorKeyIsEmpty | -400 | 设置失败,key 长度为 0 |
| kSetRoomExtraInfoErrorTooOften | -406 | 调用 setRoomExtraInfo 过于频繁,建议不超过 10 次/秒。 |
| kSetRoomExtraInfoErrorSilentUser | -412 | 设置失败,用户已调用 setUserVisibility 将自身设为隐身状态。 |
| kSetRoomExtraInfoErrorKeyTooLong | -413 | 设置失败,Key 长度超过 10 字节 |
| kSetRoomExtraInfoErrorValueTooLong | -414 | 设置失败,value 长度超过 128 字节 |
| kSetRoomExtraInfoErrorServer | -500 | 设置失败,服务器错误 |
类型: enum
字幕任务状态。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kSubtitleStateStarted | 0 | 开启字幕。 |
| kSubtitleStateStoped | 1 | 关闭字幕。 |
| kSubtitleStateError | 2 | 字幕任务出现错误。 |
类型: interface
字幕具体内容。
| 方法 | 描述 |
|---|---|
| user_id | 说话者的用户ID。 |
| text | 语音识别或翻译后的文本, 采用 UTF-8 编码。 |
| sequence | 语音识别或翻译后形成的文本的序列号,同一发言人的完整发言和不完整发言会按递增顺序单独分别编号。 |
| definite | 语音识别出的文本是否为一段完整的一句话。 true 代表是, false 代表不是。 |
user_id
类型: string
说话者的用户ID。
text
类型: string
语音识别或翻译后的文本, 采用 UTF-8 编码。
sequence
类型: number
语音识别或翻译后形成的文本的序列号,同一发言人的完整发言和不完整发言会按递增顺序单独分别编号。
definite
类型: boolean
语音识别出的文本是否为一段完整的一句话。 true 代表是, false 代表不是。
类型: interface
歌曲数据。
| 方法 | 描述 |
|---|---|
| music_id | 音乐 ID。 |
| music_name | 音乐名称。 |
| singer | 歌手。 |
| vendor_id | 版权商 ID。 |
| vendor_name | 版权商名称。 |
| update_timestamp | 最新更新时间戳,单位为毫秒。 |
| poster_url | 封面地址。 |
| lyric_status | 歌词格式类型。 |
| duration | 歌曲长度,单位为毫秒。 |
| enable_score | 歌曲是否支持打分。 |
| climax_start_time | 歌曲高潮片段开始时间,单位为毫秒。 |
| climax_stop_time | 歌曲高潮片段停止时间,单位为毫秒。 |
music_id
类型: string
音乐 ID。
music_name
类型: string
音乐名称。
singer
类型: string
歌手。
vendor_id
类型: string
版权商 ID。
vendor_name
类型: string
版权商名称。
update_timestamp
类型: number
最新更新时间戳,单位为毫秒。
poster_url
类型: string
封面地址。
lyric_status
类型: LyricStatus
歌词格式类型。
duration
类型: number
歌曲长度,单位为毫秒。
enable_score
类型: boolean
歌曲是否支持打分。
climax_start_time
类型: number
歌曲高潮片段开始时间,单位为毫秒。
climax_stop_time
类型: number
歌曲高潮片段停止时间,单位为毫秒。
类型: enum
歌词格式类型。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kNone | 0 | 无歌词。 |
| kKRC | 1 | KRC 歌词。 |
| kLRC | 2 | LRC 歌词。 |
| kKRCAndLRC | 3 | KRC 歌词和 LRC 歌词均有。 |
类型: interface
热榜歌曲数据。
| 方法 | 描述 |
|---|---|
| hot_type | 热榜类别。多个热榜类别可以按位或组合。 |
| hot_name | 热榜名称。 |
| musics | 歌曲数据。 |
hot_type
类型: MusicHotType
热榜类别。多个热榜类别可以按位或组合。
hot_name
类型: string
热榜名称。
musics
类型: MusicInfo[]
歌曲数据。
类型: enum
热榜类别。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kMusicHotTypeContentCenter | 火山内容中心热歌榜。 | |
| kMusicHotTypeProject | 项目热歌榜。 |
类型: interface
歌曲下载信息。
| 方法 | 描述 |
|---|---|
| local_file_path | 文件存放路径。 |
| music_id | 音乐 ID。 |
| type | 下载文件类型。 |
local_file_path
类型: string
文件存放路径。
music_id
类型: string
音乐 ID。
type
类型: DownloadFileType
下载文件类型。
类型: enum
下载文件类型。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kDownloadFileTypeMusic | 1 | 音频文件。 |
| kDownloadFileTypeKRC | 2 | KRC 歌词文件。 |
| kDownloadFileTypeLRC | 3 | LRC 歌词文件。 |
| kDownloadFileTypeMIDI | 4 | MIDI 文件。 |
类型: enum
音乐播放状态。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kPlaying | 1 | 播放中。 |
| kPaused | 2 | 暂停中。 |
| kStoped | 3 | 已停止。 |
| kFailed | 4 | 播放失败。 |
| kFinished | 5 | 播放结束。 |
类型: enum
超分状态改变原因。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kVideoSuperResolutionModeChangedReasonAPIOff | 0 | 调用 setRemoteVideoSuperResolution 成功关闭超分。 |
| kVideoSuperResolutionModeChangedReasonAPIOn | 1 | 调用 setRemoteVideoSuperResolution 成功开启超分。 |
| kVideoSuperResolutionModeChangedReasonResolutionExceed | 2 | 开启超分失败,远端视频流的原始视频分辨率超过 640 × 360 px。 |
| kVideoSuperResolutionModeChangedReasonOverUse | 3 | 开启超分失败,已对一路远端流开启超分。 |
| kVideoSuperResolutionModeChangedReasonDeviceNotSupport | 4 | 设备不支持使用超分辨率。 |
| kVideoSuperResolutionModeChangedReasonDynamicClose | 5 | 当前设备性能存在风险,已动态关闭超分。 |
| kVideoSuperResolutionModeChangedReasonOtherSettingDisabled | 6 | 超分因其他原因关闭。 |
| kVideoSuperResolutionModeChangedReasonOtherSettingEnabled | 7 | 超分因其他原因开启。 |
| kVideoSuperResolutionModeChangedReasonNoComponent | 8 | SDK 没有编译超分组件。 |
| kVideoSuperResolutionModeChangedReasonStreamNotExist | 9 | 远端流不存在。房间 ID 或用户 ID 无效,或对方没有发布流。 |
类型: interface
用户信息
| 方法 | 描述 |
|---|---|
| user_id | 用户 id |
| meta_data | 元数据 |
user_id
类型: string
用户 id
meta_data
类型: string
元数据
类型: enum
首帧发送状态
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kFirstFrameSendStateSending | 0 | 发送中 |
| kFirstFrameSendStateSent | 1 | 发送成功 |
| kFirstFrameSendStateEnd | 2 | 发送失败 |
类型: enum
首帧播放状态
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kFirstFramePlayStatePlaying | 0 | 播放中 |
| kFirstFramePlayStatePlayed | 1 | 播放成功 |
| kFirstFramePlayStateEnd | 2 | 播放失败 |
类型: interface
人脸检测结果
| 方法 | 描述 |
|---|---|
| detect_result | 人脸检测结果 + 0:检测成功 + !0:检测失败。详见错误码表。 |
| face_count | 检测到的人脸的数量 |
| rect | 识别到人脸的矩形框。数组的长度和检测到的人脸数量一致。 |
| image_width | 原始图片宽度(px) |
| image_height | 原始图片高度(px) |
| frame_timestamp_us | 进行人脸识别的视频帧的时间戳。 |
detect_result
类型: number
人脸检测结果
face_count
类型: number
检测到的人脸的数量
rect
类型: Rectangle[]
识别到人脸的矩形框。数组的长度和检测到的人脸数量一致。
image_width
类型: number
原始图片宽度(px)
image_height
类型: number
原始图片高度(px)
frame_timestamp_us
类型: number
进行人脸识别的视频帧的时间戳。
类型: enum
音频设备类型
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kRTCAudioDeviceTypeUnknown | -1 | 未知设备类型 |
| kRTCAudioDeviceTypeRenderDevice | 0 | 音频渲染设备 |
| kRTCAudioDeviceTypeCaptureDevice | 1 | 音频采集设备 |
| kRTCAudioDeviceTypeScreenCaptureDevice | 2 | 屏幕流音频设备 |
类型: interface
实时评分信息。
| 方法 | 描述 |
|---|---|
| current_position | 当前播放进度。 |
| user_pitch | 演唱者的音高。 |
| standard_pitch | 标准音高。 |
| sentence_index | 歌词分句索引。 |
| sentence_score | 上一句歌词的评分。 |
| total_score | 当前演唱的累计分数。 |
| average_score | 当前演唱的平均分数。 |
current_position
类型: number
当前播放进度。
user_pitch
类型: number
演唱者的音高。
standard_pitch
类型: number
标准音高。
sentence_index
类型: number
歌词分句索引。
sentence_score
类型: number
上一句歌词的评分。
total_score
类型: number
当前演唱的累计分数。
average_score
类型: number
当前演唱的平均分数。
类型: enum
录音配置
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAudioRecordingStateError | 0 | 录制异常 |
| kAudioRecordingStateProcessing | 1 | 录制进行中 |
| kAudioRecordingStateSuccess | 2 | 已结束录制,并且录制文件保存成功。 |
类型: enum
SEI 信息来源。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kDataMessageSourceTypeDefault | 0 | 通过客户端或服务端的插入的自定义消息。 |
| kDataMessageSourceTypeSystem | 1 | 系统数据,包含音量指示信息。 |
类型: enum
通话前回声检测结果
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kHardwareEchoDetectionCanceled | 0 | 主动调用 stopHardwareEchoDetection 结束流程时,未有回声检测结果。 |
| kHardwareEchoDetectionUnknown | 1 | 未检测出结果。建议重试,如果仍然失败请联系技术支持协助排查。 |
| kHardwareEchoDetectionNormal | 2 | 无回声 |
| kHardwareEchoDetectionPoor | 3 | 有回声。可通过 UI 建议用户使用耳机设备入会。 |
类型: enum
本地代理连接状态。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kLocalProxyStateInited | 0 | TCP 代理服务器连接成功。 |
| kLocalProxyStateConnected | 1 | 本地代理连接成功。 |
| kLocalProxyStateError | 2 | 本地代理连接出现错误。 |
类型: enum
转推直播事件
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kStreamMixingStart | 1 | 请求发起转推直播任务 |
| kStreamMixingStartSuccess | 2 | 发起转推直播任务成功 |
| kStreamMixingStartFailed | 3 | 发起转推直播任务失败 |
| kStreamMixingUpdate | 4 | 请求更新转推直播任务配置 |
| kStreamMixingUpdateSuccess | 5 | 成功更新转推直播任务配置 |
| kStreamMixingUpdateFailed | 6 | 更新转推直播任务配置失败 |
| kStreamMixingStop | 7 | 请求结束转推直播任务 |
| kStreamMixingStopSuccess | 8 | 结束转推直播任务成功 |
| kStreamMixingStopFailed | 9 | 结束转推直播任务失败 |
| kStreamMixingChangeMixType | 10 | 更新转推直播任务配置的请求超时 |
| kStreamMixingFirstAudioFrameByClientMix | 11 | 得到客户端合流音频首帧 |
| kStreamMixingFirstVideoFrameByClientMix | 12 | 收到客户端合流视频首帧 |
| kStreamMixingUpdateTimeout | 13 | 更新转推直播任务配置超时 |
| kStreamMixingStartTimeout | 14 | 发起转推直播任务配置超时 |
| kStreamMixingRequestParamError | 15 | 合流布局参数错误 |
| kStreamMixingMixImageEvent | 16 | 合流加图片 |
类型: interface
设置视频帧
| 方法 | 描述 |
|---|---|
| channel_id | 房间 ID |
| user_id | 用户 ID |
| plane_y | 视频数据缓冲区 Y |
| plane_u | 视频数据缓冲区 U |
| plane_v | 视频数据缓冲区 V |
| width | 视频分辨率宽度,单位:像素 |
| height | 视频分辨率高度,单位:像素 |
| plane_size_y | 视频数据缓冲区 Y 大小 |
| plane_size_u | 视频数据缓冲区 U 大小 |
| plane_size_v | 视频数据缓冲区 V 大小 |
| format | 视频帧数据格式 |
| rotation | 视频帧旋转角度 |
| rgba | 视频数据缓冲区 RGBA |
| rgba_size | 视频数据缓冲区 RGBA 大小 |
| public_stream_id | 公共流 ID |
| task_id | 合流任务 ID |
channel_id
类型: string
房间 ID
user_id
类型: string
用户 ID
plane_y
类型: Uint8Array
视频数据缓冲区 Y
plane_u
类型: Uint8Array
视频数据缓冲区 U
plane_v
类型: Uint8Array
视频数据缓冲区 V
width
类型: number
视频分辨率宽度,单位:像素
height
类型: number
视频分辨率高度,单位:像素
plane_size_y
类型: number
视频数据缓冲区 Y 大小
plane_size_u
类型: number
视频数据缓冲区 U 大小
plane_size_v
类型: number
视频数据缓冲区 V 大小
format
类型: VideoPixelFormat
视频帧数据格式
rotation
类型: number
视频帧旋转角度
rgba
类型: Uint8Array
视频数据缓冲区 RGBA
rgba_size
类型: number
视频数据缓冲区 RGBA 大小
public_stream_id
类型: number
公共流 ID
task_id
类型: string
合流任务 ID
类型: enum
视频帧颜色编码格式
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kVideoPixelFormatUnknown | 0 | 未知的颜色编码格式 |
| kVideoPixelFormatI420 | 1 | YUV I420 格式 |
| kVideoPixelFormatNV12 | 2 | YUV NV12 格式 |
| kVideoPixelFormatNV21 | 3 | YUV NV21 格式 |
| kVideoPixelFormatRGB24 | 4 | RGB 24bit格式, |
| kVideoPixelFormatRGBA | 5 | RGBA 编码格式 |
| kVideoPixelFormatARGB | 6 | ARGB 编码格式 |
| kVideoPixelFormatBGRA | 7 | BGRA 编码格式 |
类型: interface
设置音频帧
| 方法 | 描述 |
|---|---|
| frame_type | 音频帧类型 |
| channels | 音频通道数 双声道的情况下,左右声道的音频帧数据以 LRLRLR 形式排布。 |
| sample_rate | 音频采样率 |
| buffer | 音频数据内存地址 |
| render_time_ms | 音频帧时间戳,单位:毫秒 |
| mute | 获取音频静音标志 |
frame_type
类型: AudioFrameType
值: 0
音频帧类型
channels
类型: number
音频通道数
双声道的情况下,左右声道的音频帧数据以 LRLRLR 形式排布。
sample_rate
类型: number
音频采样率
buffer
类型: Uint8Array
音频数据内存地址
render_time_ms
类型: number
音频帧时间戳,单位:毫秒
mute
类型: boolean
获取音频静音标志
类型: interface
数据帧
| 方法 | 描述 |
|---|---|
| frame_type | 数据帧类型 |
| u8_data | 数据帧数据 |
| u64_ts_us | 数据帧时间戳,单位:微秒 |
frame_type
类型: DataFrameType
值: 0
数据帧类型
u8_data
类型: Uint8Array
数据帧数据
u64_ts_us
类型: number
数据帧时间戳,单位:微秒
类型: interface
视频帧信息
| 方法 | 描述 |
|---|---|
| width | 视频帧的宽度(像素) |
| height | 视频帧的高度(像素) |
| rotation | 视频帧顺时针旋转角度。 |
width
类型: number
视频帧的宽度(像素)
height
类型: number
视频帧的高度(像素)
rotation
类型: VideoRotation
视频帧顺时针旋转角度。
类型: enum
音频混音文件播放状态。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kAudioMixingStatePreloaded | 0 | 混音已加载 |
| kAudioMixingStatePlaying | 1 | 混音正在播放 |
| kAudioMixingStatePaused | 2 | 混音暂停 |
| kAudioMixingStateStopped | 3 | 混音停止 |
| kAudioMixingStateFailed | 4 | 混音播放失败 |
| kAudioMixingStateFinished | 5 | 混音播放结束 |
类型: enum
SDK 与信令服务器连接状态。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kConnectionStateDisconnected | 1 | 连接断开。 |
| kConnectionStateConnecting | 2 | 首次连接,正在连接中。 |
| kConnectionStateConnected | 3 | 涵盖了以下情况: + 首次连接时,10秒连接不成功; + 连接成功后,断连 10 秒。自动重连中。 |
| kConnectionStateReconnecting | 4 | 涵盖了以下情况: + 首次连接时,10秒连接不成功; + 连接成功后,断连 10 秒。自动重连中。 |
| kConnectionStateReconnected | 5 | 连接断开后重连成功。 |
| kConnectionStateLost | 6 | 处于 kConnectionStateDisconnected 状态超过 10 秒,且期间重连未成功。SDK 仍将继续尝试重连。 |
类型: enum
SDK 网络连接类型。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kNetworkTypeUnknown | -1 | 网络连接类型未知。 |
| kNetworkTypeDisconnected | 0 | 网络连接已断开。 |
| kNetworkTypeLAN | 1 | 网络连接类型为 LAN 。 |
| kNetworkTypeWIFI | 2 | 网络连接类型为 Wi-Fi(包含热点)。 |
| kNetworkTypeMobile2G | 3 | 网络连接类型为 2G 移动网络。 |
| kNetworkTypeMobile3G | 4 | 网络连接类型为 3G 移动网络。 |
| kNetworkTypeMobile4G | 5 | 网络连接类型为 4G 移动网络。 |
| kNetworkTypeMobile5G | 6 | 网络连接类型为 5G 移动网络。 |
类型: enum
是否开启发布性能回退
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kPerformanceAlarmModeNormal | 0 | 未开启发布性能回退 |
| kPerformanceAlarmModeSimulcast | 1 | 已开启发布性能回退 |
类型: enum
onPerformanceAlarms 告警的原因
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kPerformanceAlarmReasonBandwidthFallbacked | 0 | 网络原因差,造成了发送性能回退。仅在开启发送性能回退时,会收到此原因。 |
| kPerformanceAlarmReasonBandwidthResumed | 1 | 网络性能恢复,发送性能回退恢复。仅在开启发送性能回退时,会收到此原因。 |
| kPerformanceAlarmReasonPerformanceFallbacked | 2 | 如果未开启发送性能回退,收到此告警时,意味着性能不足;如果开启了发送性能回退,收到此告警时,意味着性能不足,且已发生发送性能回退。 |
| kPerformanceAlarmReasonPerformanceResumed | 3 | 如果未开启发送性能回退,收到此告警时,意味着性能不足已恢复; 如果开启了发送性能回退,收到此告警时,意味着性能不足已恢复,且已发生发送性能回退恢复。 |
类型: interface
性能回退相关数据
| 方法 | 描述 |
|---|---|
| width | 未开启发布回退时,此值表示推荐的视频输入宽度,当回退模式为大小流模式时,表示当前推流的最大宽度 如果未开启发送性能回退,此值表示推荐的视频输入宽度; 如果开启了发送性能回退,此值表示当前推流的最大宽度。 |
| heigth | 如果未开启发送性能回退,此值表示推荐的视频输入高度; 如果开启了发送性能回退,此值表示当前推流的最大高度。 |
| frame_rate | 如果未开启发送性能回退,此值表示推荐的视频输入帧率,单位 fps; 如果开启了发送性能回退,此值表示当前推流的最大帧率,单位 fps。 |
width
类型: number
未开启发布回退时,此值表示推荐的视频输入宽度,当回退模式为大小流模式时,表示当前推流的最大宽度
如果未开启发送性能回退,此值表示推荐的视频输入宽度;
如果开启了发送性能回退,此值表示当前推流的最大宽度。
heigth
类型: number
如果未开启发送性能回退,此值表示推荐的视频输入高度;
如果开启了发送性能回退,此值表示当前推流的最大高度。
frame_rate
类型: number
如果未开启发送性能回退,此值表示推荐的视频输入帧率,单位 fps;
如果开启了发送性能回退,此值表示当前推流的最大帧率,单位 fps。
类型: interface
App 使用的 cpu 和内存信息。
信息由 SDK 周期性(2s)地通过 onSysStats 回调通知给用户。
| 方法 | 描述 |
|---|---|
| cpu_cores | 当前系统 CPU 核数 |
| cpu_app_usage | 当前应用的 cpu 使用率,取值范围为 [0, 1]。 |
| cpu_total_usage | 当前系统的 cpu 使用率,取值范围为 [0, 1]。 |
| memory_usage | 当前应用的内存使用量(单位 MB) |
| full_memory | 全量内存(单位字节) |
| total_memory_usage | 系统已使用内存(单位字节) |
| free_memory | 空闲可分配内存(单位字节) |
| memory_ratio | 当前应用的内存使用率(单位 %) |
| total_memory_ratio | 系统内存使用率(单位 %) |
cpu_cores
类型: number
当前系统 CPU 核数
cpu_app_usage
类型: number
当前应用的 cpu 使用率,取值范围为 [0, 1]。
cpu_total_usage
类型: number
当前系统的 cpu 使用率,取值范围为 [0, 1]。
memory_usage
类型: number
当前应用的内存使用量(单位 MB)
full_memory
类型: number
全量内存(单位字节)
total_memory_usage
类型: number
系统已使用内存(单位字节)
free_memory
类型: number
空闲可分配内存(单位字节)
memory_ratio
类型: number
当前应用的内存使用率(单位 %)
total_memory_ratio
类型: number
系统内存使用率(单位 %)
类型: interface
流切换信息。本地用户订阅的远端流触发回退策略时的流切换信息。
| 方法 | 描述 |
|---|---|
| uid | 订阅的音视频流的发布者的用户 ID。 |
| is_screen | 是否是屏幕流。 |
| before_video_index | 流切换前本地用户订阅的视频流的分辨率对应的索引。 |
| after_video_index | 流切换后本地用户订阅的视频流的分辨率对应的索引。 |
| before_enable | 流切换前是否有视频流。 |
| after_enable | 流切换后是否有视频流。 |
| reason | 触发流回退的原因 |
uid
类型: string
订阅的音视频流的发布者的用户 ID。
is_screen
类型: boolean
是否是屏幕流。
before_video_index
类型: number
流切换前本地用户订阅的视频流的分辨率对应的索引。
after_video_index
类型: number
流切换后本地用户订阅的视频流的分辨率对应的索引。
before_enable
类型: boolean
流切换前是否有视频流。
after_enable
类型: boolean
流切换后是否有视频流。
reason
触发流回退的原因
类型: enum
远端订阅流发生回退或恢复的原因
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kFallbackOrRecoverReasonUnknown | -1 | 其他原因,非带宽和性能原因引起的回退或恢复。默认值 |
| kFallbackOrRecoverReasonSubscribeFallbackByBandwidth | 0 | 由带宽不足导致的订阅端音视频流回退。 |
| kFallbackOrRecoverReasonSubscribeFallbackByPerformance | 1 | 由性能不足导致的订阅端音视频流回退。 |
| kFallbackOrRecoverReasonSubscribeRecoverByBandwidth | 2 | 由带宽恢复导致的订阅端音视频流恢复。 |
| kFallbackOrRecoverReasonSubscribeRecoverByPerformance | 3 | 由性能恢复导致的订阅端音视频流恢复。 |
| kFallbackOrRecoverReasonPublishFallbackByBandwidth | 4 | 由带宽不足导致的发布端音视频流回退。 |
| kFallbackOrRecoverReasonPublishFallbackByPerformance | 5 | 由性能不足导致的发布端音视频流回退。 |
| kFallbackOrRecoverReasonPublishRecoverByBandwidth | 6 | 由带宽恢复导致的发布端音视频流恢复。 |
| kFallbackOrRecoverReasonPublishRecoverByPerformance | 7 | 由性能恢复导致的发布端音视频流恢复。 |
类型: enum
本地音频流状态。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kLocalAudioStreamStateStopped | 0 | 本地音频默认初始状态。 麦克风停止工作时回调该状态,对应错误码 kLocalAudioStreamErrorOk |
| kLocalAudioStreamStateRecording | 1 | 本地音频录制设备启动成功。 采集到音频首帧时回调该状态,对应错误码 kLocalAudioStreamErrorOk |
| kLocalAudioStreamStateEncoding | 2 | 本地音频首帧编码成功。 音频首帧编码成功时回调该状态,对应错误码 kLocalAudioStreamErrorOk |
| kLocalAudioStreamStateFailed | 3 | 本地音频启动失败,在以下时机回调该状态: +本地录音设备启动失败,对应错误码 kLocalAudioStreamErrorRecordFailure +检测到没有录音设备权限,对应错误码 kLocalAudioStreamErrorDeviceNoPermission +音频编码失败,对应错误码 kLocalAudioStreamErrorEncodeFailure |
类型: enum
远端音频流状态。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kRemoteAudioStateStopped | 0 | 不接收远端音频流。 |
| kRemoteAudioStateStarting | 1 | |
| kRemoteAudioStateDecoding | 2 | |
| kRemoteAudioStateFrozen | 3 | 远端音频流卡顿。 |
类型: enum
接收远端音频流状态改变的原因。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kRemoteAudioStateChangeReasonInternal | 0 | 内部原因 |
| kRemoteAudioStateChangeReasonNetworkCongestion | 1 | 网络阻塞 |
| kRemoteAudioStateChangeReasonNetworkRecovery | 2 | 网络恢复正常 |
| kRemoteAudioStateChangeReasonLocalMuted | 3 | 本地用户停止接收远端音频流 |
| kRemoteAudioStateChangeReasonLocalUnmuted | 4 | 本地用户恢复接收远端音频流 |
| kRemoteAudioStateChangeReasonRemoteMuted | 5 | 远端用户停止发送音频流 |
| kRemoteAudioStateChangeReasonRemoteUnmuted | 6 | 远端用户恢复发送音频流 |
| kRemoteAudioStateChangeReasonRemoteOffline | 7 | 远端用户离开房间 |
类型: enum
本地视频流状态
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kLocalVideoStreamStateStopped | 0 | 本地视频采集停止状态 |
| kLocalVideoStreamStateRecording | 1 | 本地视频采集设备启动成功 |
| kLocalVideoStreamStateEncoding | 2 | 本地视频采集后,首帧编码成功 |
| kLocalVideoStreamStateFailed | 3 | 本地视频采集设备启动失败 |
类型: enum
远端视频流状态。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kRemoteVideoStateStopped | 0 | 远端视频流默认初始状态,视频尚未开始播放。 |
| kRemoteVideoStateStarting | 1 | 本地用户已接收远端视频流首包。 |
| kRemoteVideoStateDecoding | 2 | 远端视频流正在解码,正常播放。 |
| kRemoteVideoStateFrozen | 3 | 远端视频流卡顿,可能有网络等原因。 |
| kRemoteVideoStateFailed | 4 | 远端视频流播放失败。 |
类型: enum
远端视频流状态改变的原因
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kRemoteVideoStateChangeReasonInternal | 0 | 内部原因 |
| kRemoteVideoStateChangeReasonNetworkCongestion | 1 | 网络阻塞 |
| kRemoteVideoStateChangeReasonNetworkRecovery | 2 | 网络恢复正常 |
| kRemoteVideoStateChangeReasonLocalMuted | 3 | 本地用户停止接收远端视频流或本地用户禁用视频模块 |
| kRemoteVideoStateChangeReasonLocalUnmuted | 4 | 本地用户恢复接收远端视频流或本地用户启用视频模块 |
| kRemoteVideoStateChangeReasonRemoteMuted | 5 | 远端用户停止发送视频流或远端用户禁用视频模块 |
| kRemoteVideoStateChangeReasonRemoteUnmuted | 6 | 远端用户恢复发送视频流或远端用户启用视频模块 |
| kRemoteVideoStateChangeReasonRemoteOffline | 7 | 远端用户离开频道。 状态转换参考 onStreamRemove(85533#onstreamremove) |
类型: enum
转推直播事件
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kSingleStreamPushStart | 1 | 开始推流。 |
| kSingleStreamPushSuccess | 2 | 推流成功。 |
| kSingleStreamPushFailed | 3 | 推流失败。 |
| kSingleStreamPushStop | 4 | 停止推流。 |
| kSingleStreamPushTimeout | 5 | 单流转推直播任务处理超时,请检查网络状态并重试。 |
| kSingleStreamPushParamError | 6 | 参数错误。 |
类型: interface
本地录制的详细信息
| 方法 | 描述 |
|---|---|
| file_path | 录制文件的绝对路径,包含文件名和文件后缀 |
| video_codec_type | 录制文件的视频编码类型 |
| width | 录制视频的宽,单位:像素。纯音频录制请忽略该字段 |
| height | 录制视频的高,单位:像素。纯音频录制请忽略该字段 |
file_path
类型: string
录制文件的绝对路径,包含文件名和文件后缀
video_codec_type
类型: VideoCodecType
录制文件的视频编码类型
width
类型: number
录制视频的宽,单位:像素。纯音频录制请忽略该字段
height
类型: number
录制视频的高,单位:像素。纯音频录制请忽略该字段
类型: interface
本地录制进度
| 方法 | 描述 |
|---|---|
| duration | 当前文件的累计录制时长,单位:毫秒 |
| file_size | 当前录制文件的大小,单位:byte |
duration
类型: number
当前文件的累计录制时长,单位:毫秒
file_size
类型: number
当前录制文件的大小,单位:byte
类型: interface
本地音频属性信息
| 方法 | 描述 |
|---|---|
| stream_index | 流属性,主流或屏幕流。 |
| audio_properties_info | 音频属性信息, |
stream_index
类型: StreamIndex
流属性,主流或屏幕流。
audio_properties_info
音频属性信息,
类型: interface
音频属性信息
| 方法 | 描述 |
|---|---|
| linear_volume | 线性音量,与原始音量呈线性关系,数值越大,音量越大。取值范围是:[0,255]。 - 0, 25: 无声 - 26, 75: 低音量 - 76, 204: 中音量 - 205, 255: 高音量 |
| nonlinear_volume | 非线性音量。由原始音量的对数值转化而来,因此在中低音量时更灵敏,可以用作 Active Speaker(房间内最活跃用户)的识别。取值范围是:[-127,0],单位 dB。 - -127, -60: 无声 - -59, -40: 低音量 - -39, -20: 中音量 - -19, 0: 高音量 |
| vad | 人声检测(VAD)结果 - 1: 检测到人声。 - 0: 未检测到人声。 - -1: 未开启 VAD。 |
| spectrum | 频谱数组。默认长度为 257。 |
linear_volume
类型: number
线性音量,与原始音量呈线性关系,数值越大,音量越大。取值范围是:[0,255]。
nonlinear_volume
类型: number
非线性音量。由原始音量的对数值转化而来,因此在中低音量时更灵敏,可以用作 Active Speaker(房间内最活跃用户)的识别。取值范围是:[-127,0],单位 dB。
vad
类型: number
人声检测(VAD)结果
spectrum
类型: number[]
频谱数组。默认长度为 257。
类型: interface
远端音频属性信息
| 方法 | 描述 |
|---|---|
| stream_key | 流属性,主流或屏幕流。 |
| audio_properties_info | 音频属性信息 |
stream_key
类型: RemoteStreamKey
流属性,主流或屏幕流。
audio_properties_info
音频属性信息
类型: enum
音视频回路测试结果
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kTestSuccess | 0 | 接收到采集的音视频的回放,通话回路检测成功 |
| kTestTimeout | 1 | 测试超过 60s 仍未完成,已自动停止 |
| kTestIntervalShort | 2 | 上一次测试结束和下一次测试开始之间的时间间隔少于 5s |
| kAudioDeviceError | 3 | 音频采集异常 |
| kVideoDeviceError | 4 | 视频采集异常 |
| kAudioReceiveError | 5 | 音频接收异常 |
| kVideoReceiveError | 6 | 视频接收异常 |
| kInternalError | 7 | 内部错误,不可恢复 |
类型: enum
媒体设备警告
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kMediaDeviceWarningOK | 0 | 无警告 |
| kMediaDeviceWarningOperationDenied | 1 | 非法设备操作。在使用外部设备时,调用了 SDK 内部设备 API。 |
| kMediaDeviceWarningCaptureSilence | 2 | 采集静音。 |
| kMediaDeviceWarningDetectLeakEcho | 11 | 通话中出现回声现象。 当 RoomProfileType 为 kRoomProfileTypeMeeting 和kRoomProfileTypeMeetingRoom,且 AEC 关闭时,SDK 自动启动回声检测,如果检测到回声问题,将通过onAudioDeviceWarning 返回本枚举值。 |
| kMediaDeviceWarningCaptureDetectHowling | 16 | 啸叫。触发该回调的情况如下:1)不支持啸叫抑制的房间模式下,检测到啸叫;2)支持啸叫抑制的房间模式下,检测到未被抑制的啸叫。 仅 kRoomProfileTypeCommunication、kRoomProfileTypeMeeting、kRoomProfileTypeMeetingRoom 三种房间模式支持啸叫抑制。 建议提醒用户检查客户端的距离或将麦克风和扬声器调至静音。 |
类型: enum
黑帧视频流状态
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kSEIStreamEventTypeStreamAdd | 0 | 远端用户发布黑帧视频流。 纯语音通话场景下,远端用户调用 sendSEIMessage 发送 SEI 数据时,SDK 会自动发布一路黑帧视频流,并触发该回调。 |
| kSEIStreamEventTypeStreamRemove | 1 | 远端黑帧视频流移除。该回调的触发时机包括: + 远端用户开启摄像头采集,由语音通话切换至视频通话,黑帧视频流停止发布; + 远端用户调用 sendSEIMessage 后 1min 内未有 SEI 数据发送,黑帧视频流停止发布; + 远端用户切换至自定义视频采集时,黑帧视频流停止发布。 |
类型: enum
播放状态。
成员
| 属性 | 值 | 描述 |
|---|---|---|
| kPlayerStateIdle | 0 | 播放未启动 |
| kPlayerStatePreloaded | 1 | 已加载 |
| kPlayerStateOpened | 2 | 播放文件已打开 |
| kPlayerStatePlaying | 3 | 正在播放 |
| kPlayerStatePaused | 4 | 播放已暂停 |
| kPlayerStateStopped | 5 | 播放已停止 |
| kPlayerStateFailed | 6 | 播放失败 |