类型: class
开启该功能后,当检测到远端人声时,本地的媒体播放音量会自动减弱,从而保证远端人声的清晰可辨;当远端人声消失时,本地媒体音量会恢复到闪避前的音量水平。 |
| startAudioDeviceRecordTest | 开始音频采集设备和音频播放设备测试。 |
|---|---|
| stopAudioDeviceRecordAndPlayTest | 停止采集本地音频,并开始播放采集到的声音。录音播放完毕后,设备测试流程结束。 |
| stopAudioDevicePlayTest | 停止由调用 startAudioDeviceRecordTest 开始的音频播放设备测试。 |
在音频播放设备测试自动结束前,可调用本接口停止音频采集与播放测试。 |
| static getSDKVersion | 获取当前 SDK 版本信息 |
| static setLogConfig | 设置日志文件 |
| static getErrorDescription | 获取错误码的描述 |
| static getCurrentProcessId | 获取加载引擎进程的 ID 方便调试 |
| static setRenderType | 设置渲染类型 |
创建引擎对象
类型
(app_id: string, parameters: string) => number
ts注意
RTCVideo 的生命周期,即 handler 必须在调用 createRTCVideo 之前创建,在调用 destroyRTCVideo 之后销毁。参数
app_id
类型: string
每个应用的唯一标识符,由 RTC 控制台随机生成的。不同的 AppId 生成的实例在 RTC 中进行音视频通话完全独立,无法互通。 获取到当前应用的目录路径。
parameters
类型: string
私有参数。如需使用请联系技术支持人员。
返回值
类型: number
0: 成功-1: 失败创建房间
类型
(room_id: string) => veRTCRoom
ts注意
多次调用此方法以创建多个 veRTCRoom 实例。分别调用各实例中的 joinRoom 方法,同时加入多个房间。多房间模式下,用户可以同时订阅各房间的音视频流。
参数
room_id
类型: string
标识通话房间的房间 ID,最大长度为 128 字节的非空字符串。支持的字符集范围为:
• 26个大写字母 A ~ Z
• 26个小写字母 a ~ z
• 10个数字 0 ~ 9
• 下划线 "_", at 符 "@", 减号 "-"
请勿使用同样的 roomId 创建多个房间,否则后创建的房间实例会替换先创建的房间实例。
返回值
类型: veRTCRoom
0: 成功-1: 失败销毁引擎实例对象
类型
() => number
ts注意
RTCVideo 实例相关的业务场景全部结束后,才调用此方法RTCVideo 实例相关的内存,并且停止与媒体服务器的任何交互返回值
类型: number
0: 成功-1: 失败将用户反馈的问题上报到 RTC
类型
(type: ProblemFeedbackOption, info: ProblemFeedbackInfo) => number
ts注意
参数
type
反馈问题类型。
info
预设问题以外的其他问题的具体描述,房间信息。
返回值
类型: number
设置业务标识参数
类型
(business_id: string) => number
ts注意
可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。
参数
business_id
类型: string
用户设置的自己的 business_id 值。business_id 相当于一个 sub AppId,可以分担和细化现在 AppId 的逻辑划分的功能, 但不需要鉴权。business_id 只是一个标签,颗粒度需要用户自定义。
返回值
类型: number
@。设置传输时使用内置加密的方式
类型
(encrypt_type: number, key: string) => number
ts注意
该方法必须在进房之前调用,可重复调用,以最后调用的参数作为生效参数。
参数
encrypt_type
类型: number
加密算法
0: 不使用内置加密1:AES-128-CBC 加密算法2:AES-256-CBC 加密算法3:AES-128-ECB 加密算法4:AES-256-ECB 加密算法key
类型: string
加密密钥,长度限制为 36 位,超出部分将会被截断
返回值
类型: number
0: 成功-1: 失败初始化插件管理器
类型
() => number
ts注意
该方法必须在创建引擎之后,进房之前调用。
返回值
类型: number
0: 成功-1: 失败释放插件管理器
类型
() => number
ts注意
该方法必须在初始化插件管理器之后,销毁引擎之前调用。
返回值
类型: number
0: 成功-1: 失败注册插件
类型
(info: RTCPluginInfo) => number
ts注意
该方法必须在初始化插件管理器之后调用。
参数
info
类型: RTCPluginInfo
#RTCPluginInfo类型:id是插件的唯一标识,path是插件库的路径
返回值
类型: number
0: 成功-1: 失败获取插件实例
类型
(plugin_id: string) => RTCPlugin | undefined
ts注意
该方法必须在注册插件之后调用。
参数
plugin_id
类型: string
是插件的唯一标识
返回值
类型: RTCPlugin | undefined
#RTCPlugin类型,如果插件不存在返回undefined
卸载插件
类型
(plugin_id: string) => number
ts注意
该方法必须在注册插件之后调用。
参数
plugin_id
类型: string
是插件的唯一标识
返回值
类型: number
0: 成功-1: 失败开启内部音频采集。默认为关闭状态。
类型
() => number
ts注意
返回值
类型: number
关闭内部音频采集。默认为关闭状态。
类型
() => number
ts注意
返回值
类型: number
获取当前系统内音频播放设备列表。如果后续设备有变更,你会收到 onAudioDeviceStateChanged] 回调通知,然后需要重新调用本接口以获得新的设备列表。
类型
() => { device_name: string; device_id: string;}[]
ts返回值
类型: { device_name: string; device_id: string; }[]
包含系统中所有音频播放设备的列表和相关信息
获取当前系统内音频采集设备列表。如果后续设备有变更,你需要重新调用本接口以获得新的设备列表。
类型
() => { device_name: string; device_id: string;}[]
ts返回值
类型: { device_name: string; device_id: string; }[]
包含系统中所有音频采集设备列表和相关信息
设置音频播放设备。
类型
(device_id: string) => number
ts注意
当你调用 followSystemPlaybackDevice 设置音频播放设备跟随系统后,将无法调用此接口设置音频播放设备。
参数
device_id
类型: string
音频播放设备 ID,可通过 enumerateAudioPlaybackDevices 获取。
返回值
类型: number
方法调用结果
设置音频采集设备。
类型
(device_id: string) => number
ts注意
当你调用 followSystemCaptureDevice 设置音频采集设备跟随系统后,将无法调用此接口设置音频采集设备。
参数
device_id
类型: string
音频采集设备 ID,可通过 enumerateAudioPlaybackDevices 获取。
返回值
类型: number
方法调用结果
获取当前音频播放设备 ID。
类型
() => string
ts返回值
类型: string
当前音频播放设备 ID
获取当前音频采集设备 ID。
类型
() => string
ts返回值
类型: string
当前音频采集设备 ID
设置当前音频播放设备音量
类型
(volume: number) => number
ts参数
volume
类型: number
音频播放设备音量,取值范围为 [0,255], 超出此范围设置无效。
返回值
类型: number
方法调用结果
获取当前音频播放设备音量
类型
() => number
ts返回值
类型: number
音频播放设备音量,范围应在 [0,255] 内。
设置当前音频采集设备音量
类型
(volume: number) => number
ts参数
volume
类型: number
音频采集设备音量,取值范围为 [0,255], 超出此范围设置无效。
返回值
类型: number
方法调用结果
获取当前音频采集设备音量
类型
() => number
ts返回值
类型: number
范围应在 [0,255] 内。
设置当前音频播放设备静音状态,默认为非静音。
类型
(mute: boolean) => number
ts参数
mute
类型: boolean
返回值
类型: number
方法调用结果
获取当前音频播放设备是否静音的信息。
类型
() => boolean
ts返回值
类型: boolean
设置当前音频采集设备静音状态,默认为非静音。
类型
(mute: boolean) => number
ts参数
mute
类型: boolean
返回值
类型: number
方法调用结果
获取当前音频采集设备是否静音的信息。
类型
() => boolean
ts返回值
类型: boolean
调节音频采集音量
类型
(index: number, volume: number) => number
ts注意
在开启音频采集前后,你都可以使用此接口设定采集音量。
参数
index
类型: number
流索引,指定调节主流还是调节屏幕流的音量
volume
类型: number
采集的音量值和原始音量的比值,范围是 [0, 400],单位为 %,自带溢出保护。
只改变音频数据的音量信息,不涉及本端硬件的音量调节。
为保证更好的通话质量,建议将 volume 值设为 [0,100]。
返回值
类型: number
调节本地播放的所有远端用户混音后的音量。播放音频前或播放音频时,你都可以使用此接口设定播放音量。
类型
(volume: number) => number
ts参数
volume
类型: number
音频播放音量,取值范围: [0,400]。
只改变音频数据的音量信息,不涉及本端硬件的音量调节。
为保证更好的通话质量,建议将 volume 值设为 [0,100]。
返回值
类型: number
调节来自远端用户的音频播放音量
类型
(room_id: string, user_id: string, volume: number) => number
ts参数
room_id
类型: string
音频来源用户所在的房间 ID
user_id
类型: string
音频来源的远端用户 ID
volume
类型: number
播放音量
只改变音频数据的音量信息,不涉及本端硬件的音量调节。
取值范围: [0,400]
返回值
类型: number
停止音频播放设备测试。
类型
() => number
ts注意
调用 startAudioPlaybackDeviceTest 后,需调用本方法停止测试。
返回值
类型: number
方法调用结果
0:成功< 0:失败设置音质档位。
类型
(audio_profile: number) => number
ts注意
参数
audio_profile
类型: number
音质档位
0: 默认音质,服务器下发或客户端已设置的 RoomProfileType 的音质配置1: 流畅音质,单声道,采样率为 16 kHz,编码码率为 32 Kbps。流畅优先、低功耗、低流量消耗,适用于大部分游戏场景,如小队语音、组队语音、国战语音等。2: 单声道标准音质。采样率为 24 kHz,编码码率为 48 kbps。适用于对音质有一定要求的场景,同时延时、功耗和流量消耗相对适中,适合教育场景和狼人杀等游戏。3: 双声道音乐音质。采样率为 48kHz,编码码率为 128 kbps。超高音质,同时延时、功耗和流量消耗相对较大,适用于连麦 PK 等音乐场景。游戏场景不建议使用。4: 双声道标准音质。采样率为 48 KHz,编码码率最大值为 80 Kbps。5: 单声道音乐音质。采样率为 48 kHz,编码码率最大值为 64 Kbps返回值
类型: number
0:成功!0:失败启动音频播放设备测试。 该方法测试播放设备是否能正常工作。SDK 播放指定的音频文件,测试者如果能听到声音,说明播放设备能正常工作。
类型
(test_audio_file_path: string, indication_interval: number) => number
ts注意
参数
test_audio_file_path
类型: string
音频文件的绝对路径,路径字符串使用 UTF-8 编码格式,支持以下音频格式: mp3,aac,m4a,3gp,wav。
indication_interval
类型: number
设置 onAudioPlaybackDeviceTestVolume 音量回调的时间间隔,推荐设置为 200 毫秒或以上。单位为毫秒。最小值为 10 毫秒。
返回值
类型: number
方法调用结果
开始音频设备回路测试。
类型
(echo_test_config: EchoTestConfig, play_delay_time: number) => number
ts注意
kWarningCodeInEchoTestMode。参数
echo_test_config
类型: EchoTestConfig
回路测试参数设置
play_delay_time
类型: number
音视频延迟播放的时间间隔,用于指定在开始检测多长时间后期望收到回放。取值范围为 [2,10],单位为秒,默认为 2 秒。
返回值
类型: number
方法调用结果:
停止音频设备回路测试。
类型
() => number
ts注意
返回值
类型: number
方法调用结果
尝试初始化音频播放设备,可检测出设备不存在、权限被拒绝/禁用等异常问题。
类型
(device_id: string) => number
ts注意
参数
device_id
类型: string
设备索引号
返回值
类型: number
设备状态错误码
尝试初始化音频播放设备,可检测出设备不存在、权限被拒绝/禁用等异常问题。
类型
(device_id: string) => number
ts注意
参数
device_id
类型: string
设备索引号
返回值
类型: number
设备状态错误码
启用音频信息提示。
类型
(config: AudioPropertiesConfig) => number
ts注意
开启提示后,你可以:
参数
config
音频属性信息提示的相关配置。
返回值
类型: number
开启/关闭音量均衡功能。
类型
(enable: boolean) => number
ts注意
开启音量均衡功能后,人声的响度会调整为 -16lufs。如果已调用 setAudioMixingLoudness 传入了混音音乐的原始响度,此音乐播放时,响度会调整为 -20lufs。(Linux 不支持)
参数
enable
类型: boolean
是否开启音量均衡功能:
返回值
类型: number
摄像头处于关闭状态时,使用静态图片填充本地推送的视频流。可重复调用该接口来更新图片。若要停止发送图片,可传入空字符串或启用内部摄像头采集。
类型
(file_path: string) => number
ts注意
参数
file_path
类型: string
设置静态图片的路径。
支持本地文件绝对路径,不支持网络链接,长度限制为 512 字节。
静态图片支持类型为 JPEG/JPG、PNG、BMP。
若图片宽高比与设置的编码宽高比不一致,图片会被等比缩放,黑边填充空白区域。推流帧率与码率与设置的编码参数一致。
返回值
类型: number
开启内部视频采集。默认为关闭状态。
类型
() => number
ts注意
返回值
类型: number
0:成功!0:失败关闭内部视频采集。默认为关闭状态。
类型
() => number
ts注意
返回值
类型: number
获取当前系统内视频采集设备列表。
类型
() => { device_name: string; device_id: string;}[]
ts返回值
类型: { device_name: string; device_id: string; }[]
包含系统中所有视频采集设备的列表和相关信息
设置音频播放路由是否跟随系统。
类型
(followed: boolean) => number
ts参数
followed
类型: boolean
音频播放路由是否跟随系统
返回值
类型: number
设置音频采集路由是否跟随系统。
类型
(followed: boolean) => number
ts参数
followed
类型: boolean
音频采集路由是否跟随系统
返回值
类型: number
设置当前视频采集设备
类型
(device_id: string) => number
ts参数
device_id
类型: string
视频设备 ID,可以通过 EnumerateVideoCaptureDevices 获取
返回值
类型: number
获取当前 SDK 正在使用的视频采集设备 ID
类型
() => string
ts返回值
类型: string
当前 SDK 正在使用的视频采集设备 ID
视频发布端设置期望发布的最大分辨率视频流参数,包括分辨率、帧率、码率、缩放模式、网络不佳时的回退策略等。
类型
(solutions: VideoEncoderConfig[]) => number
ts注意
参数
solutions
类型: VideoEncoderConfig[]
视频参数数组首地址。要推送的多路视频流的参数需注意,所设置的分辨率是各路流的最大分辨率。 最多支持 3 路参数。当设置了多路参数时,分辨率和帧率必须是依次减小,从大到小排列的。 最大分辨率没有限制。但是如果设置的分辨率无法编码,就会导致编码推流失败。
返回值
类型: number
视频发布端设置期望发布的最大分辨率视频流参数,包括分辨率、帧率、码率、缩放模式、网络不佳时的回退策略等。
类型
(max_solution: VideoEncoderConfig) => any
ts注意
参数
max_solution
期望发布的最大分辨率视频流参数。
返回值
为采集到的视频流开启镜像
类型
(mirror_type: MirrorType) => number
ts注意
| 前置摄像头 | 后置摄像头 | 自定义采集视频源 | 桌面端摄像头 | |
|---|---|---|---|---|
| 移动端 | 本地预览镜像,编码传输不镜像 | 本地预览不镜像,编码传输不镜像 | 本地预览不镜像,编码传输不镜像 | / |
| 桌面端 | / | / | 本地预览不镜像,编码传输不镜像 | 本地预览镜像,编码传输不镜像 |
参数
mirror_type
类型: MirrorType
镜像类型
返回值
类型: number
该方法设置视频流发布端是否开启发布多路编码参数不同的视频流的模式。
类型
(enabled: boolean) => number
ts注意
参数
enabled
类型: boolean
是否开启推送多路视频流模式:
返回值
类型: number
视频特效许可证检查
类型
(license_path: string, algo_model_dir: string) => number
ts注意
开始使用视频特效前,你必须先调用这个方法进行许可证验证
参数
license_path
类型: string
许可证文件绝对路径
algo_model_dir
类型: string
算法模型绝对路径,即存放特效 SDK 所有算法模型的目录。
返回值
类型: number
0: 调用成功1000: 未集成 CV SDK1001: 本版本不支持 CV 功能<0: 调用失败,具体错误码请参考 错误码表。从 CV SDK 获取授权消息,用于获取在线许可证。
类型
() => string
ts注意
返回值
类型: string
授权消息字符串
开启高级美颜、滤镜等视频特效。
类型
() => number
ts注意
返回值
类型: number
关闭视频特效。
类型
() => number
ts注意
调用 enableVideoEffect 开启视频特效。
返回值
类型: number
开启/关闭基础美颜
类型
(enabled: boolean) => number
ts注意
参数
enabled
类型: boolean
是否开启基础美颜强度,true: 开启,false: 关闭
返回值
类型: number
调整基础美颜强度
类型
(beauty_mode: EffectBeautyMode, intensity: number) => number
ts注意
参数
beauty_mode
类型: EffectBeautyMode
基础美颜模式
intensity
类型: number
美颜强度,取值范围为 [0,1]。强度为 0 表示关闭,默认强度为 0.5。
返回值
类型: number
0: 调用成功-1000: 未集成 CV SDK-1001: 本版本不支持 CV 功能<0: 调用失败,具体错误码请参考 错误码表。设置视频特效素材包,支持同时设置多个素材包
类型
(effect_node_paths: string[] | null) => number
ts参数
effect_node_paths
类型: string[] | null
特效素材包路径数组。取消当前视频特效,将此参数设置为 null。
返回值
类型: number
设置特效强度
类型
(effect_node_path: string, node_key: string, node_value: number) => number
ts参数
effect_node_path
类型: string
特效素材包路径
node_key
类型: string
需要设置的素材 key 名称,取值请参考 素材 key 对应说明。
node_value
类型: number
需要设置的强度值 取值范围 [0,1],超出范围时设置无效。
返回值
类型: number
设置颜色滤镜
类型
(res_path: string) => number
ts参数
res_path
类型: string
滤镜资源包绝对路径。
返回值
类型: number
设置已启用颜色滤镜的强度
类型
(intensity: number) => number
ts参数
intensity
类型: number
滤镜强度。取值范围 [0,1],超出范围时设置无效。
返回值
类型: number
新增单流转推直播任务。
类型
(task_id: string, param: PushSingleStreamParam) => number
ts注意
onStreamPushEvent 回调。stopPushStreamToCDN 停止任务。参数
task_id
类型: string
任务 ID。你可以发起多个转推直播任务,并用不同的任务 ID 加以区分。当你需要发起多个转推直播任务时,应使用多个 ID;当你仅需发起一个转推直播任务时,建议使用空字符串。
param
转推直播配置参数
返回值
类型: number
停止转推直播。
类型
(task_id: string) => number
ts注意
关于启动转推直播,参看 startPushStreamToCDN 和 startPushSingleStreamToCDN。
参数
task_id
类型: string
转推直播任务 ID。指定想要停止的转推直播任务。
返回值
类型: number
支持根据业务场景,设置通话中的音频降噪模式。
类型
(ans_mode: AnsMode) => number
ts注意
该接口可重复调用,仅最后一次调用生效。
参数
ans_Mode
类型: AnsMode
降噪模式。
返回值
类型: number
设置远端视频超分模式。
类型
(stream_key: RemoteStreamKey, mode: VideoSuperResolutionMode) => number
ts注意
参数
stream_key
类型: RemoteStreamKey
远端流信息,用于指定需要设置超分的视频流来源及属性。
mode
超分模式。
返回值
类型: number
0: RETURN_STATUS_SUCCESS,SDK 调用成功,并不代表超分模式实际状态,需要根据回调 onRemoteVideoSuperResolutionModeChanged 判断实际状态。-1: RETURN_STATUS_NATIVE_IN_VALID,native library 未加载。-2: RETURN_STATUS_PARAMETER_ERR,参数非法,指针为空或字符串为空。-9: RETURN_STATUS_SCREEN_NOT_SUPPORT,不支持对屏幕流开启超分。截取本地视频画面
类型
(stream_index: StreamIndex) => number
ts注意
参数
stream_index
类型: StreamIndex
截图的视频流的属性,为主流还是屏幕流。
返回值
类型: number
本地截图任务的编号,从 1 开始递增。 调用成功后通过 onTakeLocalSnapshotResult 回调快照文件。
截取远端视频画面
类型
(stream_key: RemoteStreamKey) => number
ts注意
参数
stream_key
类型: RemoteStreamKey
截图的视频流
返回值
类型: number
本地截图任务的编号,从 1 开始递增。 调用成功后通过 onTakeLocalSnapshotResult 回调快照文件。
通过 NTP 协议,获取网络时间。
类型
() => number
ts注意
0。同步完成后,会收到 onNetworkTimeSynchronized,此后,再次调用此 API,即可获取准确的网络时间。返回值
类型: number
发送音频流同步信息。将消息通过音频流发送到远端,并实现与音频流同步。
类型
(data: Uint8Array, config: StreamSycnInfoConfig) => number
ts注意
参数
data
类型: Uint8Array
消息内容。
config
音频流同步信息的相关配置。
返回值
类型: number
>= 0: 消息发送成功。返回成功发送的次数。-1: 消息发送失败。消息长度大于 255 字节。-2: 消息发送失败。传入的消息内容为空。-3: 消息发送失败。通过屏幕流进行消息同步时,此屏幕流还未发布。-4: 消息发送失败。通过用麦克风或自定义设备采集到的音频流进行消息同步时,此音频流还未发布,详见错误码 ErrorCode。开启云代理
类型
(cloud_proxies?: CloudProxyInfo[]) => number
ts注意
参数
cloud_proxies
类型: CloudProxyInfo[]
默认值: ' []'
云代理服务器信息列表。
返回值
类型: number
关闭云代理
类型
() => number
ts注意
要开启云代理,调用 startCloudProxy。
返回值
类型: number
发布一路公共流。
类型
(public_stream_id: string, param: IPublicStreamParam) => number
ts注意
appID 的用户,可以调用 startPlayPublicStream 获取和播放指定的公共流。updatePublicStreamParam 接口。stopPushPublicStream 停止发布公共流。参数
public_stream_id
类型: string
公共流 ID。
param
公共流参数。
一路公共流可以包含多路房间内的媒体流,按照指定的布局方式进行聚合。
如果指定的媒体流还未发布,则公共流将在指定流开始发布后实时更新。
返回值
类型: number
onPushPublicStreamResult 回调。停止发布当前用户发布的公共流
类型
(public_stream_id: string) => number
ts注意
关于发布公共流,查看 startPushPublicStream。
参数
public_stream_id
类型: string
公共流 ID
指定的流必须为当前用户所发布。
返回值
类型: number
更新公共流参数
类型
(public_stream_id: string, param: IPublicStreamParam) => number
ts注意
关于发布公共流,查看 startPushPublicStream。
参数
public_stream_id
类型: string
公共流 ID
param
公共流参数。
指定的流必须为当前用户所发布的。
返回值
类型: number
订阅指定公共流。无论用户是否在房间内,都可以调用本接口获取和播放指定的公共流。
类型
(public_stream_id: string) => number
ts注意
setupPublicStreamVideo 绑定内部渲染视图:setPublicStreamVideoSink 绑定自定义渲染视图:onFirstPublicStreamVideoFrameDecoded 和 onFirstPublicStreamAudioFrame 回调公共流的视频和音频首帧解码情况。onPublicStreamSEIMessageReceived 回调公共流中包含的 SEI 信息。stopPlayPublicStream 接口取消订阅公共流。参数
public_stream_id
类型: string
公共流 ID,如果指定流暂未发布,则本地客户端将在其开始发布后接收到流数据。
返回值
类型: number
onPlayPublicStreamResult 回调。取消订阅指定公共流
类型
(public_stream_id: string) => number
ts注意
关于订阅公共流,查看 startPlayPublicStream。
参数
public_stream_id
类型: string
公共流 ID
返回值
类型: number
为公共流绑定本地视图
类型
(public_stream_id: string, view: HTMLDivElement, renderOptions?: RenderOptions) => number
ts注意
removePublicStreamVideo。参数
public_stream_id
类型: string
公共流 ID
view
类型: HTMLDivElement
视图
renderOptions
类型: RenderOptions
默认值: ' { render_mode: RenderMode.FIT, mirror: false, }'
渲染选项
返回值
类型: number
0:成功-1: 失败为公共流解绑本地视图
类型
(public_stream_id: string) => number
ts注意
停止接收公共流时解绑视图。
参数
public_stream_id
类型: string
公共流 ID
返回值
类型: number
0:成功-1: 失败为指定公共流绑定自定义渲染器。
类型
(public_stream_id: string, required_format: PixelFormat) => number
ts注意
详见自定义视频渲染。
参数
public_stream_id
类型: string
公共流 ID
required_format
类型: PixelFormat
适用的视频帧编码格式
返回值
类型: number
为指定公共解绑自定义渲染器。
类型
(public_stream_id: string) => number
ts注意
详见自定义视频渲染。
参数
public_stream_id
类型: string
公共流 ID
返回值
类型: number
在屏幕共享时,开始使用 RTC SDK 内部采集方式,采集屏幕音频
类型
(device_id?: string) => number
ts注意
参数
device_id
类型: string | undefined
设备 ID。Mac下需要传入虚拟的声卡id,windows 下不用传入
返回值
类型: number
0:成功!0:失败采集屏幕视频流,用于共享。屏幕视频流包括:屏幕上显示的内容,应用窗口中显示的内容,或虚拟屏幕中显示的内容。其中,虚拟屏幕中显示的内容仅在 Windows 平台上支持。
类型
(source_info: ScreenCaptureSourceInfo, capture_params: ScreenCaptureParameters) => number
ts注意
onLocalScreenFrame 本地屏幕视频回调事件。参数
source_info
待共享的屏幕源,你可以调用 getScreenCaptureSourceList 获得所有可以共享的屏幕源。
capture_params
共享参数
返回值
类型: number
在屏幕共享时,停止使用 RTC SDK 内部采集方式,采集屏幕音频。
类型
() => number
ts注意
要开始屏幕音频内部采集,调用 startScreenAudioCapture。
返回值
类型: number
停止屏幕视频流采集。
类型
() => number
ts注意
返回值
类型: number
更新屏幕共享区域。
类型
(region_rect?: Rectangle) => number
ts注意
调用此接口前,必须已通过调用 startScreenVideoCapture 开启了内部屏幕流采集。
参数
region_rect
类型: Rectangle
默认值: ' { x: 0, y: 0, width: 0, height: 0 }'
此参数描述了调用此接口后的采集区域,和 startScreenVideoCapture 中 source_info 设定区域的相对关系。
返回值
类型: number
通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新边框高亮设置。默认展示表框。
类型
(highlight_config?: HighlightConfig) => number
ts注意
调用此接口前,必须已通过调用 startScreenVideoCapture 开启了内部屏幕流采集。
参数
highlight_config
类型: HighlightConfig
默认值: ' { enable_highlight: true, border_color: 0xff29cca3, border_width: 4, }'
边框高亮设置
返回值
类型: number
通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新对鼠标的处理设置。默认采集鼠标。
类型
(capture_mouse_cursor?: MouseCursorCaptureState) => number
ts注意
调用此接口前,必须已通过调用 startScreenVideoCapture 开启了内部屏幕流采集。
参数
capture_mouse_cursor
默认值: ' MouseCursorCaptureState.kMouseCursorCaptureStateOn'
内部采集屏幕视频流时,是否采集鼠标信息
返回值
类型: number
通过 RTC SDK 提供的采集模块采集屏幕视频流时,设置需要过滤的窗口。
类型
(filter_config?: number[]) => number
ts注意
参数
filter_config
类型: number[]
默认值: ' []'
窗口过滤设置
返回值
类型: number
在屏幕共享时,设置屏幕音频流的声道数
类型
(channel: AudioChannel) => number
ts注意
当你调用 setScreenAudioStreamIndex 并设置屏幕音频流和麦克风音频流混流时,此接口不生效,音频通道数由 setAudioProfile 控制。
参数
channel
类型: AudioChannel
声道数
返回值
类型: number
获取屏幕采集对象列表。
类型
() => ScreenCaptureSourceInfo[]
ts注意
不同的平台上,对最小化的窗口的处理方式不同:在 Windows 平台上,最小化的窗口也会包含在返回列表中;在 macOS 和 Linux 平台上,最小化的窗口不会包含在返回列表中。
返回值
类型: ScreenCaptureSourceInfo[]
屏幕采集对象列表,包括应用窗口和屏幕。由用户选择其中一个共享对象,并在调用 startScreenVideoCapture 时作为参数传给 RTC SDK。
获取共享对象缩略图
类型
(type: ScreenCaptureSourceType, source_id: number, max_width: number, max_height: number) => ThumbnailInfo
ts参数
type
屏幕采集对象的类型
source_id
类型: number
屏幕共享对象的 ID,可通过 getScreenCaptureSourceList 枚举共享对象列表中获取。
max_width
类型: number
最大宽度。保持采集对象本身的宽高比不变,将缩略图缩放到指定范围内的最大宽高。如果给出的尺寸与共享对象比例不同,得到的缩略图会有黑边。
max_height
类型: number
最大高度。参见 maxWidth 的说明。
返回值
类型: ThumbnailInfo
共享对象缩略图
获取应用窗体所属应用的图标。
类型
(source_id: number, max_width: number, max_height: number) => AppIconInfo
ts参数
source_id
类型: number
屏幕共享对象的 ID,可通过 getScreenCaptureSourceList 枚举共享对象列表中获取。
max_width
类型: number
最大宽度。返回的图标将是宽高相等的,输入宽高不等时,取二者较小值。宽高范围为 [32,256],超出该范围将返回 nullptr,默认输出 100 x 100 的图像。
max_height
类型: number
最大高度。参见 maxWidth 的说明。
返回值
类型: AppIconInfo
应用窗体所属应用的图标。当屏幕共享对象为应用窗体时有效,否则返回 nullptr。
在屏幕共享时,设置屏幕音频流和麦克风采集到的音频流的混流方式
类型
(index: number) => number
ts注意
你应该在 publishScreen 之前,调用此方法。否则,你将收到 onWarning 的报错:kWarningCodeSetScreenAudioStreamIndexFailed`
参数
index
类型: number
混流方式
0: 将屏幕音频流和麦克风采集到的音频流混流 1: 将屏幕音频流和麦克风采集到的音频流分为两路音频流返回值
类型: number
为发布的屏幕共享视频流设置期望的编码参数,包括分辨率、帧率、码率、网络不佳时的回退策略等。
类型
(screen_solution: ScreenVideoEncoderConfig) => number
ts注意
调用该方法之前,屏幕共享视频流默认的编码参数为:分辨率 1920px × 1080px,帧率 15fps。
参数
screen_solution
屏幕共享视频流参数。
返回值
类型: number
必须先登录,才能发送房间外点对点消息和向应用服务器发送消息
类型
(token: string, uid: string) => number
ts注意
参数
token
类型: string
动态密钥。 用户登录必须携带的 Token,用于鉴权验证。 本 Token 与加入房间时必须携带的 Token 不同。测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。
uid
类型: string
用户 ID 用户 ID 在 appid 的维度下是唯一的。
返回值
类型: number
0:成功-1:失败。无效参数-2:无效调用。用户已经登录。成功登录后再次调用本接口将收到此返回值调用本接口登出后,无法调用房间外消息以及端到服务器消息相关的方法或收到相关回调。
类型
() => number
ts注意
返回值
类型: number
更新用户用于登录的 Token。
类型
(token: string) => number
ts注意
参数
token
类型: string
Token 有一定的有效期,当 Token 过期时,需调用此方法更新登录的 Token 信息。
返回值
类型: number
设置业务服务器参数。
类型
(signature: string, url: string) => number
ts注意
参数
signature
类型: string
动态签名 业务服务器会使用该签名对请求进行鉴权验证。
url
类型: string
业务服务器的地址
返回值
类型: number
查询对端用户或本端用户的登录状态
类型
(peer_user_id: string) => number
ts注意
参数
peer_user_id
类型: string
需要查询的用户 ID
返回值
类型: number
给房间外指定的用户发送文本消息(P2P)
类型
(uid: string, message: string, config: MessageConfig) => number
ts注意
参数
uid
类型: string
消息接收用户的 ID
message
类型: string
发送的文本消息内容,消息不超过 64 KB。
config
类型: MessageConfig
消息类型
返回值
类型: number
>0:发送成功,返回这次发送消息的编号,从 1 开始递增-1:发送失败,RtcEngine 实例未创建-2:发送失败,uid 为空给房间外指定的用户发送二进制消息(P2P)
类型
(uid: string, length: number, message: Uint8Array, config: MessageConfig) => number
ts注意
参数
uid
类型: string
消息接收用户的 ID
length
类型: number
二进制字符串的长度
message
类型: Uint8Array
发送的二进制消息内容,每条消息不超过 64 KB。
config
类型: MessageConfig
消息类型
返回值
类型: number
>0:发送成功,返回这次发送消息的编号,从 1 开始递增-1:发送失败,RtcEngine 实例未创建-2:发送失败,uid 为空客户端给业务服务器发送文本消息(P2Server)
类型
(message: string) => number
ts注意
参数
message
类型: string
发送的文本消息内容,消息不超过 64 KB。
返回值
类型: number
>0:发送成功,返回这次发送消息的编号,从 1 开始递增-1:发送失败,Video 实例未创建客户端给业务服务器发送二进制消息(P2Server)
类型
(length: number, message: Uint8Array) => number
ts注意
参数
length
类型: number
二进制字符串的长度
message
类型: Uint8Array
发送的二进制消息内容,消息不超过 46KB。
返回值
类型: number
>0:发送成功,返回这次发送消息的编号,从 1 开始递增-1:发送失败,RtcEngine 实例未创建通过视频帧发送 SEI 数据。
类型
(stream_index: number, message: Uint8Array, repeat_count: number, mode: SEICountPerFrame) => number
ts注意
参数
stream_index
类型: number
媒体流类型
message
类型: Uint8Array
SEI 消息。超过 4KB 的消息会被丢弃。
repeat_count
类型: number
消息发送重复次数。取值范围是 [0, max{29, %{视频帧率}-1}]。推荐范围 [2,4]。
调用此接口后,这些 SEI 数据会添加到从当前视频帧开始的连续 %{repeat_count} 个视频帧中。
mode
类型: SEICountPerFrame
返回值
类型: number
设置 RTC SDK 内部采集时的视频采集参数。指定视频采集参数包括模式、分辨率、帧率。
类型
(video_capture_config?: VideoCaptureConfig) => number
ts注意
参数
config
类型: VideoCaptureConfig | undefined
视频采集参数
返回值
类型: number
方法调用结果:
0:成功
!0:失败
开始播放音乐文件及混音
类型
(mix_id: number, file_path: string, config: AudioMixingConfig) => number
ts注意
参数
mix_id
类型: number
混音 ID,用于标识混音,请保证混音 ID 唯一性。 如果已经通过 preloadAudioMixing 将音效加载至内存,确保此处的 ID 与 preloadAudioMixing 设置的 ID 相同。 如果使用相同的 ID 重复调用本方法,前一次混音会停止,后一次混音开始,且 SDK 会使用 onAudioMixingStateChanged 回调通知前一次混音已停止。
file_path
类型: string
用于混音文件路径。
支持在线文件的 URL、和本地文件的绝对路径。对于在线文件的 URL,仅支持 https 协议。
推荐的音频文件采样率:8KHz、16KHz、22.05KHz、44.1KHz、48KHz。
不同平台支持的本地音频文件格式:
| mp3 | mp4 | aac | m4a | 3gp | wav | ogg | ts | wma | |
|---|---|---|---|---|---|---|---|---|---|
| macOS | Y | Y | Y | Y | Y | Y | |||
| Windows | Y | Y | Y | Y | Y | Y | Y | Y | |
| Linux | Y |
| mp3 | mp4 | aac | m4a | 3gp | wav | ogg | ts | wma | |
|---|---|---|---|---|---|---|---|---|---|
| macOS | Y | Y | Y | Y | |||||
| Windows | Y | Y | Y | Y | Y | Y | Y |
config
混音配置,设置混音的播放次数、是否本地播放混音、以及是否将混音发送至远端
返回值
类型: number
停止播放音乐文件及混音
类型
(mix_id: number) => number
ts注意
参数
mix_id
类型: number
混音 ID
返回值
类型: number
暂停播放音乐文件及混音
类型
(mix_id: number) => number
ts注意
参数
mix_id
类型: number
混音 ID
返回值
类型: number
恢复播放音乐文件及混音
类型
(mix_id: number) => number
ts注意
参数
mix_id
类型: number
混音 ID
返回值
类型: number
预加载指定音乐文件到内存中,以避免频繁播放同一文件时的重复加载,减少 CPU 占用。
类型
(mix_id: number, file_path: string) => number
ts注意
参数
mix_id
类型: number
混音 ID 应用调用者维护,请保证唯一性。 如果使用相同的 ID 调用本方法,后一次会覆盖前一次。 如果先调用 startAudioMixing ,再使用相同的 ID 调用本方法 ,会先回调 onAudioMixingStateChanged 上一个混音停止,然后加载后一个混音。 使用一个 ID 调用本方法预加载 A.mp3 后,如果需要使用相同的 ID 调用 startAudioMixing 播放 B.mp3,请先调用 unloadAudioMixing 卸载 A.mp3 ,否则会报错 kAudioMixingErrorLoadConflict。
file_path
类型: string
指定需要混音的本地文件的绝对路径,支持音频文件格式有: mp3,aac,m4a,3gp,wav。 预加载的文件长度不得超过 20s。
返回值
类型: number
卸载指定音乐文件
类型
(mix_id: number) => number
ts注意
不论音乐文件是否播放,调用本方法卸载该文件后,SDK 会回调通知混音已停止,见 onAudioMixingStateChanged。
参数
mix_id
类型: number
混音 ID
返回值
类型: number
调节音乐文件在本地和远端播放的音量大小
类型
(mix_id: number, volume: number, type: number) => number
ts注意
参数
mix_id
类型: number
混音 ID
volume
类型: number
音乐文件播放音量范围为 0~400。
type
类型: number
混音播放类型 设置音乐文件是否本地播放、以及是否发送到远端,由此控制音乐文件本地或远端播放的音量
0: 仅本地播放1: 仅发送到远端2: 在本地播放并发送到远端返回值
类型: number
获取音乐文件时长
类型
(mix_id: number) => number
ts注意
调用本方法获取音乐文件时长前,需要先调用 preloadAudioMixing 或 startAudioMixing。
参数
mix_id
类型: number
混音 ID
返回值
类型: number
>0: 成功, 音乐文件时长,单位为毫秒。<0: 失败获取音乐文件播放进度
类型
(mix_id: number) => number
ts注意
调用本方法获取音乐文件播放进度前,需要先调用 startAudioMixing 开始播放音乐文件。
参数
mix_id
类型: number
混音 ID
返回值
类型: number
>0: 成功, 音乐文件播放进度,单位为毫秒。<0: 失败设置音乐文件的播放位置
类型
(mix_id: number, position: number) => number
ts注意
在播放在线文件时,调用此接口可能造成播放延迟的现象。
参数
mix_id
类型: number
混音 ID
position
类型: number
音频文件起始播放位置,单位为毫秒。
你可以通过 getAudioMixingDuration 获取音频文件总时长,position 的值应小于音频文件总时长。
返回值
类型: number
获取混音音频文件的实际播放时长(单位:毫秒)。
类型
(mix_id: number) => any
ts注意
参数
mix_id
类型: number
混音 ID
返回值
> 0: 实际播放时长。< 0: 失败设置当前音频文件的声道模式
类型
(mix_id: number, mode: AudioMixingDualMonoMode) => number
ts注意
调用本方法设置音频文件的声道模式前,需要先调用 startAudioMixing 开始播放音频文件。
参数
mix_id
类型: number
混音 ID
mode
声道模式。默认的声道模式和源文件一致,详见 AudioMixingDualMonoMode。
返回值
类型: number
开启本地播放音乐文件变调功能,多用于 K 歌场景。
类型
(mix_id: number, pitch: number) => number
ts注意
本方法需要在调用 startAudioMixing 开始播放音频文件后、调用 stopAudioMixing 停止播放音频文件前使用,否则会触发 onAudioMixingStateChanged 回调报错
参数
mix_id
类型: number
混音 ID
pitch
类型: number
相对于音乐文件原始音调的升高/降低值,取值范围[-12,12],默认值为 0,即不做调整。
取值范围内每相邻两个值的音高距离相差半音,正值表示升调,负值表示降调,设置的绝对值越大表示音调升高或降低越多。
超出取值范围则设置失败,并且会触发 onAudioMixingStateChanged 回调,提示 AudioMixingState 状态为 AUDIO_MIXING_STATE_FAILED 混音播放失败,AudioMixingError 错误码为 AUDIO_MIXING_ERROR_ID_TYPE_INVALID_PITCH 设置混音文件音调不合法
返回值
类型: number
设置混音时音频文件的播放速度
类型
(mix_id: number, speed: number) => number
ts注意
参数
mix_id
类型: number
混音 ID
speed
类型: number
播放速度与原始文件速度的比例,单位:%,取值范围为 [50,200],默认值为 100。
超出取值范围则设置失败,你会收到 onAudioMixingStateChanged 回调,提示 AudioMixingState 状态为 kAudioMixingStateFailed 混音播放失败,AudioMixingError 错误码为 kAudioMixingErrorInValidPlaybackSpeed 设置混音文件的播放速度不合法。
返回值
类型: number
如果你需要使用 enableVocalInstrumentBalance 对混音使音频文件/PCM 音频数据进行音量调整,你必须通过此接口传入其原始响度。
类型
(mix_id: number, loudness: number) => number
ts注意
建议在 startAudioMixing 开始播放音频文件之前调用该接口,以免播放过程中的音量突变导致听感体验下降。
参数
mix_id
类型: number
混音 ID
loudness
类型: number
原始响度,单位:lufs,取值范围为 [-70.0, 0.0]。
当设置的值小于 -70.0lufs 时,则默认调整为 -70.0lufs,大于 0.0lufs 时,则不对该响度做音均衡处理。默认值为 1.0lufs,即不做处理。
返回值
类型: number
设置混音时音频文件播放进度回调的间隔
类型
(mix_id: number, interval: number) => number
ts注意
本方法需要在调用 startAudioMixing 开始播放音频文件后、调用 stopAudioMixing 停止播放音频文件前使用,否则会触发 onAudioMixingStateChanged 回调报错。 若想在音乐文件开始播放前设置播放进度回调间隔,你需调用 startAudioMixing 在 AudioMixingConfig 中设置时间间隔,开始播放后可以通过此接口更新回调间隔。
参数
mix_id
类型: number
混音 ID。可以通过多次调用本接口传入不同的 ID 对多个 ID 进行间隔设置。
interval
类型: number
音频文件播放进度回调的时间间隔,单位毫秒。
• interval 的值为大于 0 的 10 的倍数,当设置的值不能被 10 整除时,则默认向上取整 10,如设为 52ms 时会默认调整为 60ms。设置完成后 SDK 将会按照设置的时间间隔触发 onAudioMixingPlayingProgress 回调。
• interval 的值小于等于 0 时,不会触发进度回调。
返回值
类型: number
获取当前音频文件的音轨索引
类型
(mix_id: number) => number
ts注意
调用本方法获取音频文件的音轨前,需要先调用 startAudioMixing 开始播放音频文件。
参数
mix_id
类型: number
混音 ID
返回值
类型: number
指定当前音频文件的播放音轨
类型
(mix_id: number, audio_track_index: number) => number
ts注意
调用本方法设置音频文件的音轨前,需要先调用 startAudioMixing 开始播放音频文件。
参数
mix_id
类型: number
混音 ID
audio_track_index
类型: number
指定的播放音轨
设置的参数值需要小于或等于 getAudioTrackCount 的返回值
返回值
类型: number
开启本地语音变调功能,多用于 K 歌场景。使用该方法,你可以对本地语音的音调进行升调或降调等调整。
类型
(pitch: number) => number
ts参数
pitch
类型: number
相对于语音原始音调的升高/降低值,取值范围[-12,12],默认值为 0,即不做调整。
取值范围内每相邻两个值的音高距离相差半音,正值表示升调,负值表示降调,设置的绝对值越大表示音调升高或降低越多。
超出取值范围则设置失败,并且会触发 onWarning 回调,提示码为 WARNING_CODE_SET_SCREEN_STREAM_INVALID_VOICE_PITCH 设置语音音调不合法
返回值
类型: number
该方法将通话过程中的音视频数据录制到本地的文件中。
类型
(type: StreamIndex, config: RecordingConfig, recording_type: RecordingType) => number
ts注意
参数
type
类型: StreamIndex
流属性,指定录制主流还是屏幕流
config
类型: RecordingConfig
本地录制参数配置
recording_type
类型: RecordingType
录制存储文件格式
返回值
类型: number
停止本地录制
类型
(type: number) => number
ts注意
参数
type
类型: number
流属性,指定停止主流或者屏幕流录制
返回值
类型: number
设置发布的音视频流回退选项 。你可以调用这个接口来设置网络情况不佳或设备性能不足时只发送小流,以保证通话质量。
类型
(option: number) => number
ts注意
参数
option
类型: number
本地发布的音视频流回退选项
返回值
类型: number
设置订阅的音视频流回退选项。 你可以通过调用该接口来设置网络情况不佳或性能不足时只订阅小流或音频流,以保证通话质量。
类型
(option: number) => number
ts注意
参数
option
类型: number
远端订阅流回退处理选项
0: 关闭订阅音视频流时的性能回退功能 1: 只接收视频小流2: 先尝试只接收视频小流;如果网络环境无法显示视频,则再回退到只接收远端订阅的音频流返回值
类型: number
方法调用结果
设置用户优先级
类型
(room_id: string, user_id: string, priority: RemoteUserPriority) => number
ts注意
参数
room_id
类型: string
房间 ID
user_id
类型: string
远端用户的 ID
priority
远端用户的需求优先级
返回值
类型: number
开启通话前网络探测
类型
(is_test_uplink: boolean, expected_uplink_bitrate: number, is_test_downlink: boolean, expected_downlink_biterate: number) => number
ts注意
参数
is_test_uplink
类型: boolean
是否探测上行带宽
expected_uplink_bitrate
类型: number
期望上行带宽,单位:kbps范围为 {0, [100-10000]},其中, 0 表示由 SDK 指定最高码率。
is_test_downlink
类型: boolean
是否探测下行带宽
expected_downlink_biterate
类型: number
期望下行带宽,单位:kbps范围为 {0, [100-10000]},其中, 0 表示由 SDK 指定最高码率。
返回值
类型: number
false,或期望带宽超过了范围 [100,10000]停止通话前网络探测
类型
() => number
ts注意
调用本接口后,会收到一次 onNetworkDetectionStopped 回调通知探测停止。
返回值
类型: number
将摄像头采集画面中的人像背景替换为指定图片或纯色背景。
类型
(background_sticker_path: string, source: VirtualBackgroundSource) => number
ts注意
参数
background_sticker_path
类型: string
背景贴纸特效素材绝对路径。
source
背景贴纸对象。
返回值
类型: number
0: 调用成功-1000: 未集成 CV SDK-1001: 本版本不支持 CV 功能–1002: 特效 SDK 版本不兼容<0: 调用失败,具体错误码请参考 错误码表。关闭虚拟背景。
类型
() => number
ts注意
调用 enableVirtualBackground 开启虚拟背景后,可以调用此接口关闭虚拟背景。
返回值
类型: number
0: 调用成功。–1000: 未集成特效 SDK。–1001: 特效 SDK 不支持该功能。–1002: 特效 SDK 版本不兼容。< 0: 调用失败,错误码对应具体描述参看 错误码表。开启人脸识别功能,并设置人脸检测结果回调观察者。
类型
(interval_ms: number, face_model_path: string) => number
ts注意
此观察者后,你会周期性收到 onFaceDetectResult 回调。
参数
interval_ms
类型: number
两次回调之间的最小时间间隔,必须大于 0,单位为毫秒。实际收到回调的时间间隔大于 interval_ms,小于 interval_ms+视频采集帧间隔。
face_model_path
类型: string
人脸检测算法模型文件路径,一般为 ttfacemodel 文件夹中 tt_face_vXXX.model 文件的绝对路径。
返回值
类型: number
0: 调用成功。–1000: 未集成特效 SDK。–1001: 特效 SDK 不支持该功能。–1002: 特效 SDK 版本不兼容。-1004: 初始化中,初始化完成后启动此功能。<0: 调用失败,错误码对应具体描述参看 错误码表。关闭人脸识别功能。
类型
() => number
ts返回值
类型: number
0: 调用成功。–1000: 未集成特效 SDK。–1001: 特效 SDK 不支持该功能。–1002: 特效 SDK 版本不兼容。<0: 调用失败,错误码对应具体描述参看 错误码表。在指定视频流上添加水印。
类型
(stream_index: number, image_path: string, config: RTCWatermarkConfig) => number
ts注意
参数
stream_index
类型: number
需要添加水印的视频流属性。
image_path
类型: string
水印图片路径,支持本地文件绝对路径和Asset 资源路径(/assets/xx.png),长度限制为 512 字节。
水印图片为 PNG 或 JPG 格式。
config
水印参数
返回值
类型: number
移除指定视频流的水印。
类型
(stream_index: number) => any
ts参数
stream_index
类型: number
需要移除水印的视频流属性,参看 StreamIndex。
返回值
设置本地视频渲染时使用的视图,并设置渲染模式。
类型
(view: HTMLDivElement, render_options?: RenderOptions) => number
ts注意
如果需要解除绑定,调用 removeLocalVideo。
参数
view
类型: HTMLDivElement
视图
render_options
类型: RenderOptions
默认值: ' { render_mode: RenderMode.FIT, mirror: false, }'
渲染选项
返回值
类型: number
0:成功-1: 失败解绑本地视频流已绑定的渲染视图
类型
() => number
ts返回值
类型: number
0:成功-1: 失败为远端视频流绑定本地渲染视图,并设置渲染模式。
类型
(user_id: string, room_id: string, view: HTMLDivElement, render_options?: RenderOptions) => number
ts注意
removeRemoteVideo 或 removeAllRemoteVideo。参数
user_id
类型: string
远端用户 ID
room_id
类型: string
房间 ID
view
类型: HTMLDivElement
视图
render_options
类型: RenderOptions
默认值: ' { render_mode: RenderMode.FIT, mirror: false, }'
渲染选项
返回值
类型: number
0:成功-1: 失败解绑指定远端视频流已绑定的本地视图
类型
(user_id: string, room_id: string) => number
ts注意
停止接收远端视频流时应解绑视图
参数
user_id
类型: string
远端用户 ID
room_id
类型: string
房间 ID
返回值
类型: number
0:成功-1: 失败解绑所有已绑定本地视图的指定远端视频流
类型
(room_id: string) => number
ts注意
停止接收远端视频流时应解绑视图
参数
room_id
类型: string
房间 ID
返回值
类型: number
0:成功-1: 失败为本地屏幕共享流绑定视图,实现预览
类型
(view: HTMLDivElement, render_options?: RenderOptions) => number
ts注意
removeLocalScreen。参数
view
类型: HTMLDivElement
视图
render_options
类型: RenderOptions
默认值: ' { render_mode: RenderMode.FIT, mirror: false, }'
渲染选项
返回值
类型: number
0:成功-1: 失败解绑屏幕共享流已绑定的视图
类型
() => number
ts注意
本地停止屏幕共享时解绑视图
返回值
类型: number
0:成功
!0: 失败
为远端屏幕共享流绑定本地视图
类型
(user_id: string, room_id: string, view: HTMLDivElement, render_options?: RenderOptions) => number
ts注意
removeRemoteScreen。参数
user_id
类型: string
远端用户 ID
room_id
类型: string
房间 ID
view
类型: HTMLDivElement
视图
render_options
类型: RenderOptions
默认值: ' { render_mode: RenderMode.FIT, mirror: false, }'
渲染选项
返回值
类型: number
0:成功
-1: 失败
解绑远端屏幕共享流已绑定的本地视图
类型
(user_id: string, room_id: string) => number
ts注意
停止接收屏幕共享流时应解绑视图
参数
user_id
类型: string
远端用户 ID
room_id
类型: string
房间 ID
返回值
类型: number
0:成功-1: 失败获取本地视频流。
类型
(index: StreamIndex, required_format: PixelFormat) => number
ts参数
index
类型: StreamIndex
视频流属性。采集的视频流/屏幕视频流
required_format
类型: PixelFormat
适用的视频帧编码格式
返回值
类型: number
0:成功-1: 失败停止获取本地视频流。
类型
(stream_index: StreamIndex) => number
ts参数
index
类型: StreamIndex
视频流属性。采集的视频流/屏幕视频流
返回值
类型: number
0:成功-1: 失败获取远端视频流。
类型
(stream_key: RemoteStreamKey, required_format: PixelFormat) => number
ts参数
stream_key
类型: RemoteStreamKey
远端流信息,用于指定需要设置超分的视频流来源及属性。
required_format
类型: PixelFormat
适用的视频帧编码格式
返回值
类型: number
0:成功-1: 失败停止获取远端视频流。
类型
(stream_key: RemoteStreamKey) => number
ts参数
stream_key
类型: RemoteStreamKey
远端流信息,用于指定需要设置超分的视频流来源及属性。
返回值
类型: number
0:成功-1: 失败播放歌曲。
类型
(music_id: string, track_type: AudioTrackType, play_type: AudioPlayType) => number
ts注意
参数
music_id
类型: string
音乐 ID。
若同一 music_id 的歌曲正在播放,再次调用接口会从开始位置重新播放。若 music_id 对应的音频文件不存在会触发报错。
track_type
类型: AudioTrackType
原唱伴唱类型。
play_type
类型: AudioPlayType
音乐播放类型。
返回值
类型: number
0:成功-1: 失败暂停播放歌曲。
类型
(music_id: string) => number
ts注意
参数
music_id
类型: string
音乐 ID。
返回值
类型: number
0:成功<0: 失败继续播放歌曲。
类型
(music_id: string) => number
ts注意
参数
music_id
类型: string
音乐 ID。
返回值
类型: number
0:成功<0: 失败停止播放歌曲。
类型
(music_id: string) => number
ts注意
参数
music_id
类型: string
音乐 ID。
返回值
类型: number
0:成功<0: 失败设置音乐文件的起始播放位置。
类型
(music_id: string, position: number) => number
ts注意
参数
music_id
类型: string
音乐 ID。
position
类型: number
音乐起始位置,单位为毫秒,取值小于音乐文件总时长。
返回值
类型: number
0:成功<0: 失败设置歌曲播放音量,只能在开始播放后进行设置。
类型
(music_id: string, volume: number) => number
ts注意
参数
music_id
类型: string
音乐 ID。
volume
类型: number
歌曲播放音量,调节范围:[0,400]。
0:静音。100:原始音量。400: 原始音量的 4 倍(自带溢出保护)。返回值
类型: number
0:成功<0: 失败切换歌曲原唱伴唱。
类型
(music_id: string) => number
ts注意
调用本接口时音乐必须处于播放中状态。
参数
music_id
类型: string
音乐 ID。
返回值
类型: number
0:成功<0: 失败对播放中的音乐设置升降调信息。
类型
(music_id: string, pitch: number) => number
ts注意
参数
music_id
类型: string
音乐 ID。
pitch
类型: number
相对于音乐文件原始音调的升高/降低值,取值范围 [-12,12],默认值为 0,即不做调整。
取值范围内每相邻两个值的音高距离相差半音,正值表示升调,负值表示降调,设置的绝对值越大表示音调升高或降低越多。
返回值
类型: number
0:成功<0: 失败设置歌曲文件最大占用的本地缓存。
类型
(max_cache_size_MB: number) => number
ts参数
max_cache_size_MB
类型: number
本地缓存,单位 MB。
设置值小于等于 0 时,使用默认值 1024 MB。
返回值
类型: number
0:成功<0: 失败获取歌曲列表。
类型
(page_num: number, page_size: number, filters: number) => number
ts注意
调用接口后,你会收到 onMusicListResult 回调歌曲列表。
参数
page_num
类型: number
页码,默认从 1 开始。
page_size
类型: number
每页显示歌曲的最大数量,取值范围 [1,99]。
filters
类型: number
歌曲过滤方式。多个过滤方式可以按位或组合。
0: 不过滤。1<<0: 过滤没有歌词的歌曲。1<<1: 过滤不支持打分的歌曲。1<<2: 过滤不支持伴唱切换的歌曲。1<<3: 过滤没有高潮片段的歌曲。返回值
类型: number
0:成功<0: 失败根据关键词搜索歌曲。
类型
(key_word: string, page_num: number, page_size: number, filters: number) => number
ts注意
调用接口后,你会收到 onSearchMusicResult 回调歌曲列表。
参数
key_word
类型: string
关键词,字符串长度最大为 20 个字符。
page_num
类型: number
页码,默认从 1 开始。
page_size
类型: number
每页显示歌曲的最大数量,取值范围 [1,99]。
filters
类型: number
歌曲过滤方式。多个过滤方式可以按位或组合。
0: 不过滤。1<<0: 过滤没有歌词的歌曲。1<<1: 过滤不支持打分的歌曲。1<<2: 过滤不支持伴唱切换的歌曲。1<<3: 过滤没有高潮片段的歌曲。返回值
类型: number
0:成功<0: 失败根据热榜类别获取每个榜单的歌曲列表。
类型
(hot_types: number, filters: number) => number
ts注意
调用接口后,你会收到 onHotMusicResult 回调歌曲列表。
参数
hot_types
类型: number
热榜类别。多个热榜类别可以按位或组合。
1<<0: 火山内容中心热歌榜。
1<<1: 项目热歌榜。
filters
类型: number
歌曲过滤方式。多个过滤方式可以按位或组合。
0: 不过滤。
1<<0: 过滤没有歌词的歌曲。
1<<1: 过滤不支持打分的歌曲。
1<<2: 过滤不支持伴唱切换的歌曲。
1<<3: 过滤没有高潮片段的歌曲。
返回值
类型: number
0:成功<0: 失败获取音乐详细信息。
类型
(music_id: string) => number
ts注意
调用接口后,你会收到 onMusicDetailResult 回调。
参数
music_id
类型: string
音乐 ID。
返回值
类型: number
0:成功<0: 失败下载音乐。
类型
(music_id: string) => number
ts注意
参数
music_id
类型: string
音乐 ID。
返回值
类型: number
下载任务 ID。
下载歌词。
类型
(music_id: string, type: DownloadLyricType) => number
ts注意
参数
music_id
类型: string
音乐 ID。
type
歌词文件类型。
返回值
类型: number
下载任务 ID。
下载 MIDI 文件。
类型
(music_id: string) => number
ts注意
参数
music_id
类型: string
音乐 ID。
返回值
类型: number
下载任务 ID。
取消下载任务。
类型
(download_id: number) => number
ts参数
download_id
类型: number
下载任务 ID。
返回值
类型: number
0:成功<0: 失败清除当前音乐缓存文件,包括音乐音频和歌词。
类型
() => number
ts返回值
类型: number
0: Success<0: Failure.初始化 K 歌评分。
类型
(sing_scoring_appkey: string, sing_scoring_token: string) => number
ts注意
输入正确的鉴权信息才可以使用 K 歌评分相关的功能,鉴权方式为离线鉴权,根据包名(bundleID)绑定 Appkey 及 Token,K 歌评分密钥请联系技术支持同学申请。
参数
sing_scoring_appkey
类型: string
K 歌评分密钥,用于鉴权验证 K 歌功能是否开通。
sing_scoring_token
类型: string
K 歌评分密钥,用于鉴权验证 K 歌功能是否开通。
返回值
类型: number
0: 成功。<0: 失败。设置 K 歌评分参数。
类型
(config: SingScoringConfig) => number
ts参数
config
K 歌评分的各项参数
返回值
类型: number
0:配置成功。-1:接口调用失败。-2:未集成 K 歌评分模块。获取当前系统内音视频设备数量
类型
() => any
ts返回值
音视频设备数量
获取每句歌词的标准音高信息
类型
(index: number) => StandardPitchInfo
ts参数
index
类型: number
歌词句子数,取值范围为 0 到调用 getStandardPitchCount 获取到的句子总数减 1。
返回值
标准音高数据
开始 K 歌评分。
类型
(position: number, scoring_info_interval: number) => any
ts注意
参数
position
类型: number
开始评分时,音乐的播放进度,单位:ms。
scoring_info_interval
类型: number
实时回调的时间间隔,单位:ms;默认 50 ms。最低间隔为 20 ms。
返回值
0: 成功。<0: 失败。停止 K 歌评分。
类型
() => number
ts返回值
类型: number
0: 成功。<0: 失败。获取上一句的演唱评分。
类型
() => number
ts注意
调用 startSingScoring 开始评分后可以调用该接口。
返回值
类型: number
<0:获取评分失败。>=0:上一句歌词的演唱评分。获取当前演唱总分。
类型
() => number
ts注意
调用 startSingScoring 开始评分后可以调用该接口。
返回值
类型: number
<0:获取总分失败。>=0:当前演唱总分。获取当前演唱歌曲的平均分。
类型
() => number
ts返回值
类型: number
<0:获取平均分失败。>=0:当前演唱平均分。设置本地采集语音的均衡效果。包含内部采集和外部采集,但不包含混音音频文件。
类型
(config: VoiceEqualizationConfig) => number
ts注意
根据奈奎斯特采样率,音频采样率必须大于等于设置的中心频率的两倍,否则,设置不生效。
参数
config
语音均衡效果
返回值
类型: number
0: 成功。<0: 失败。设置本地采集语音的均衡效果。包含内部采集和外部采集,但不包含混音音频文件。
类型
(param?: VoiceReverbConfig) => number
ts注意
根据奈奎斯特采样率,音频采样率必须大于等于设置的中心频率的两倍,否则,设置不生效。
参数
param
类型: VoiceReverbConfig | undefined
语音均衡效果
返回值
类型: number
0: 成功。<0: 失败。开启本地音效混响效果
类型
(enable: boolean) => number
ts注意
调用 setLocalVoiceReverbParam 设置混响效果。
参数
enable
类型: boolean
是否开启
返回值
类型: number
0: 成功。<0: 失败。开启录制语音通话,生成本地文件。
类型
(config: AudioRecordingConfig) => number
ts注意
参数
config
录制参数
返回值
类型: number
0: 正常-2: 参数设置异常-3: 当前版本 SDK 不支持该特性,请联系技术支持人员停止音频文件录制
类型
() => number
ts注意
调用 startAudioRecording 开启本地录制。
返回值
类型: number
开启/关闭过滤无声设备功能。
类型
(enable: boolean) => number
ts参数
enable
类型: boolean
是否开启过滤无声设备功能:
返回值
类型: number
0: 成功。<0: 失败。停止播放所有音频文件及混音。
类型
() => any
ts注意
onAudioMixingStateChanged 回调,通知已停止播放和混音。返回值
0: 成功。<0: 失败。暂停播放所有音频文件及混音。
类型
() => any
ts注意
onAudioMixingStateChanged 回调,通知已暂停播放和混音。返回值
0: 成功。<0: 失败。恢复播放所有音频文件及混音。
类型
() => any
ts注意
onAudioMixingStateChanged 回调,通知已恢复播放和混音。返回值
0: 成功。<0: 失败。打开/关闭 AGC(Automatic Gain Control) 自动增益控制功能。开启该功能后,SDK 会自动调节麦克风的采集音量,确保音量稳定。
类型
(enable: boolean) => number
ts注意
kRoomProfileTypeMeeting 、kRoomProfileTypeMeetingRoom 或 kRoomProfileTypeClassroom 。参数
enable
类型: boolean
是否打开 AGC 功能:
返回值
类型: number
设置本端采集的视频帧的旋转角度。当外接摄像头倒置或者倾斜安装时,调用本接口进行调整。
类型
(rotation: VideoRotation) => number
ts注意
参数
rotation
类型: VideoRotation
相机朝向角度,默认为 VIDEO_ROTATION_0(0),无旋转角度。
返回值
类型: number
设置本地摄像头数码变焦参数,包括缩放倍数,移动步长。
类型
(type: ZoomConfigType, size: number) => number
ts注意
0 ,在调用 setVideoDigitalZoomControl 或 startVideoDigitalZoomControl 进行数码变焦操作前,应先调用本接口。参数
type
类型: ZoomConfigType
数码变焦参数类型,缩放系数或移动步长。必填。
size
类型: number
缩放系数或移动步长,保留到小数点后三位。默认值为 0。必填。
选择不同 type 时有不同的取值范围。当计算后的结果超过缩放和移动边界时,取临界值。
kZoomFocusOffset:缩放系数增量,范围为 [0, 7]。例如,设置为 0.5 时,如果调用 setVideoDigitalZoomControl 选择 Zoom in,则缩放系数增加 0.5。缩放系数范围 [1,8],默认为 1,原始大小。kZoomMoveOffset:移动百分比,范围为 [0, 0.5],默认为 0,不移动。如果调用 setVideoDigitalZoomControl 选择的是左右移动,则移动距离为 size x 原始视频宽度;如果选择的是上下移动,则移动距离为 size x 原始视频高度。例如,视频帧边长为 1080 px,设置为 0.5 时,实际移动距离为 0.5 x 1080 px = 540 px。返回值
类型: number
控制本地摄像头数码变焦,缩放或移动一次。设置对本地预览画面和发布到远端的视频都生效。
类型
(direction: ZoomDirectionType) => number
ts注意
0,调用该方法前需通过 setVideoDigitalZoomControl 设置参数。参数
direction
数码变焦操作类型。
返回值
类型: number
开启本地摄像头持续数码变焦,缩放或移动。设置对本地预览画面和发布到远端的视频都生效。
类型
(direction: ZoomDirectionType) => number
ts注意
0,调用该方法前需通过 setVideoDigitalZoomControl 设置参数。参数
direction
数码变焦操作类型。
返回值
类型: number
停止本地摄像头持续数码变焦。
类型
() => number
ts注意
关于开始数码变焦,参看 startVideoDigitalZoomControl。
返回值
类型: number
新增转推直播任务(新),并设置合流的图片、视频视图布局和音频属性。
类型
(task_id: string, config: IMixedStreamConfig) => number
ts注意
参数
task_id
类型: string
转推直播任务 ID,长度不超过 126 字节。
你可以在同一房间内发起多个转推直播任务,并用不同的任务 ID 加以区分。当你需要发起多个转推直播任务时,应使用多个 ID;当你仅需发起一个转推直播任务时,建议使用空字符串。
config
转推直播配置参数。
返回值
类型: number
更新转推直播参数。
类型
(task_id: string, config: IMixedStreamConfig) => number
ts注意
参数
task_id
类型: string
转推直播任务 ID。指定想要更新参数设置的转推直播任务。
config
转推直播配置参数。除特殊说明外,均支持过程中更新。
返回值
类型: number
为客户端合流绑定本地视图
类型
(task_id: string, view: HTMLDivElement, renderOptions?: RenderOptions) => number
ts注意
removeMixingVideo。参数
task_id
类型: string
task ID
view
类型: HTMLDivElement
视图
renderOptions
类型: RenderOptions
默认值: ' { render_mode: RenderMode.FIT, mirror: false, }'
渲染选项
返回值
类型: number
0:成功-1: 失败为合流转推解绑本地视图
类型
(task_id: string) => number
ts注意
停止接收合流转推时解绑视图。
参数
task_id
类型: string
task ID
返回值
类型: number
0:成功-1: 失败调节公共流的音频播放音量。
类型
(public_stream_id: string, volume: number) => number
ts参数
public_stream_id
类型: string
公共流 ID
volume
类型: number
音频播放音量值和原始音量值的比值,该比值的范围是 [0, 400],单位为 %,且自带溢出保护。为保证更好的音频质量,建议设定在 [0, 100] 之间,其中 100 为系统默认值。
返回值
类型: number
开启通话前回声检测
类型
(test_audio_file_path: string) => number
ts注意
RoomProfileType 为 kRoomProfileTypeMeeting 和 kRoomProfileTypeMeetingRoom 时支持开启本功能。参数
test_audio_file_path
类型: string
用于回声检测的音频文件的绝对路径,路径字符串使用 UTF-8 编码格式,支持以下音频格式: mp3,aac,m4a,3gp,wav。
音频文件不为静音文件,推荐时长为 10 ~ 20 秒。
返回值
类型: number
方法调用结果:
停止通话前回声检测
类型
() => number
ts注意
返回值
类型: number
方法调用结果:
设置本地代理。
类型
(configurations: LocalProxyConfiguration[]) => number
ts注意
参数
configurations
类型: LocalProxyConfiguration[]
本地代理配置参数。
你可以根据自己的需要选择同时设置 Http 隧道 和 Socks5 两类代理,或者单独设置其中一类代理。如果你同时设置了 Http 隧道 和 Socks5 两类代理,此时,媒体和信令采用 Socks5 代理, Http 请求采用 Http 隧道代理;如果只设置 Http 隧道 或 Socks5 一类代理,媒体、信令和 Http 请求均采用已设置的代理。
调用此接口设置本地代理后,若想清空当前已有的代理设置,可再次调用此接口,选择不设置任何代理即可清空。
返回值
类型: number
开启/关闭耳返功能
类型
(mode: EarMonitorMode) => number
ts注意
耳返功能仅支持设备通过 3.5mm 接口、USB 接口、或蓝牙方式直连耳机时可以使用。对于通过 HDMI 或 USB-C 接口连接显示器,再连接,或通过连接 OTG 外接声卡再连接的耳机,不支持耳返功能。
参数
mode
类型: EarMonitorMode
是否开启耳返功能
返回值
类型: number
设置耳返的音量
类型
(volume: number) => number
ts注意
设置耳返音量前,你必须先调用 setEarMonitorMode 打开耳返功能。
参数
volume
类型: number
耳返的音量相对原始音量的比值,取值范围:[0,100],单位:%
返回值
类型: number
创建音效播放器实例。
类型
() => veRTCAudioEffectPlayer
ts返回值
类型: veRTCAudioEffectPlayer
音效播放器。
创建音乐播放器实例。
类型
(player_id: number) => veRTCMediaPlayer
ts参数
player_id
类型: number
音乐播放器实例 id。取值范围为 [0, 3]。最多同时存在4个实例,超出取值范围时返回 nullptr。
返回值
类型: veRTCMediaPlayer
音乐播放器实例
启用匹配外置声卡的音频处理模式
类型
(enable: boolean) => number
ts注意
参数
enable
类型: boolean
返回值
类型: number
设置并开启指定的音频数据帧回调
类型
(method: AudioFrameCallbackMethod, format: AudioFormat) => number
ts参数
method
音频回调方法
当音频回调方法设置为 kRecord、kPlayback、kMixed、kRecordScreen时,你需要在参数 format 中指定准确的采样率和声道,暂不支持设置为自动。
当音频回调方法设置为 kRemoteUser时,暂不支持音频参数格式中设置准确的采样率和声道,你需要设置为自动。
format
类型: AudioFormat
音频参数格式
返回值
类型: number
关闭音频回调
类型
(method: AudioFrameCallbackMethod) => number
ts注意
该方法需要在调用 enableAudioFrameCallback 之后调用。
参数
method
音频回调方法
返回值
类型: number
在听众端,设置订阅的所有远端音频流精准对齐后播放。
类型
(streamKey: RemoteStreamKey, mode: AudioAlignmentMode) => number
ts注意
kRoomProfileTypeChorus。sync_progress_to_record_frame 设置为 true。参数
streamKey
类型: RemoteStreamKey
作为对齐基准的远端音频流。
一般选择主唱的音频流。
你必须在收到 onUserPublishStream,确认此音频流已发布后,调用此 API。
mode
是否对齐,默认不对齐。
返回值
类型: number
打开/关闭音量闪避功能,适用于在 RTC 通话过程中会同时播放短视频或音乐的场景,如“一起看”、“在线 KTV”等。
开启该功能后,当检测到远端人声时,本地的媒体播放音量会自动减弱,从而保证远端人声的清晰可辨;当远端人声消失时,本地媒体音量会恢复到闪避前的音量水平。
类型
(enable: boolean) => number
ts参数
enable
类型: boolean
是否开启音量闪避:
返回值
类型: number
开始音频采集设备和音频播放设备测试。
类型
(indication_interval: number) => number
ts注意
enableAudioPropertiesReport 注册音量提示回调。参数
indication_interval
类型: number
测试中会收到 onLocalAudioPropertiesReport 回调,本参数指定了该周期回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。最小不得少于 10 毫秒。
返回值
类型: number
方法调用结果
停止采集本地音频,并开始播放采集到的声音。录音播放完毕后,设备测试流程结束。
调用 startAudioDeviceRecordTest 30 s 内调用本接口来停止采集并开始播放此前采集到的声音。
类型
() => number
ts注意
调用本接口开始播放录音后,可以在播放过程中调用 stopAudioDevicePlayTest 停止播放。
返回值
类型: number
方法调用结果
停止由调用 startAudioDeviceRecordTest 开始的音频播放设备测试。
在音频播放设备测试自动结束前,可调用本接口停止音频采集与播放测试。
类型
() => number
ts返回值
类型: number
方法调用结果
获取当前 SDK 版本信息
类型
() => string
ts返回值
类型: string
当前 SDK 版本信息
设置日志文件
类型
(log_config: LogConfig) => number
ts参数
log_config
类型: LogConfig
日志文件配置
返回值
类型: number
0: 成功-1: 失败获取错误码的描述
类型
(code: number) => string
ts注意
该接口是通用功能,调用时不需要依赖引擎对象。
参数
code
类型: number
需要获取描述的错误码
返回值
类型: string
错误码的描述
获取加载引擎进程的 ID 方便调试
类型
() => string
ts返回值
类型: string
进程的 ID
设置渲染类型
类型
(type: RenderType) => void
ts注意
参数
type
类型: RenderType
渲染类型
类型: class
| 方法 | 描述 |
|---|---|
| createRTCRoom | 创建房间实例 |
| getRoomId | 获取房间 ID |
| destroy | 退出并销毁房间。 |
| joinRoom | 加入房间。 |
| leaveRoom | 离开房间。 |
| setUserVisibility | 设置用户可见性。未调用该接口前,本地用户默认对他人可见。 |
| setMultiDeviceAVSync | 设置发流端音画同步。 |
| updateToken | 更新 Token。Token 中同时包含进房、发布和订阅权限,各权限有一定的有效期,并且到期前 30 秒会触发回调,提示用户更新 Token 相关权限。此时需要重新获取 Token,并调用此方法更新 Token,以保证通话的正常进行。 |
| setRemoteVideoConfig | 设置期望订阅的远端视频流的参数。 |
| publishStream | 在当前所在房间内发布本地通过摄像头/麦克风采集的媒体流 |
| unpublishStream | 停止将本地摄像头/麦克风采集的媒体流发布到当前所在房间中 |
| publishScreen | 在当前所在房间内发布本地屏幕共享音视频流 |
| unpublishScreen | 停止将本地屏幕共享音视频流发布到当前所在房间中 |
| subscribeStream | 订阅房间内指定的通过摄像头/麦克风采集的媒体流,或更新对指定远端用户的订阅选项 |
| unsubscribeStream | 取消订阅房间内指定的通过摄像头/麦克风采集的媒体流。该方法对自动订阅和手动订阅模式均适用。 |
| subscribeAllStreams | 订阅房间内所有通过摄像头/麦克风采集的媒体流,或更新订阅选项。 |
| unsubscribeAllStreams | 取消订阅房间内所有的通过摄像头/麦克风采集的媒体流。 |
| subscribeScreen | 订阅房间内指定的远端屏幕共享音视频流,或更新对指定远端用户的订阅选项 |
| unsubscribeScreen | 取消订阅房间内指定的远端屏幕共享音视频流。 |
| pauseAllSubscribedStream | 暂停接收来自远端的媒体流。 |
| resumeAllSubscribedStream | 恢复接收来自远端的媒体流 |
| sendUserMessage | 给房间内指定的用户发送点对点文本消息 |
| sendUserBinaryMessage | 给房间内指定的用户发送点对点二进制消息。 |
| sendRoomMessage | 给房间内的所有其他用户群发文本消息。 |
| sendRoomBinaryMessage | 给房间内的所有其他用户群发二进制消息。 |
| startForwardStreamToRooms | 开始跨房间转发媒体流。 |
| updateForwardStreamToRooms | 更新跨房间媒体流转发信息。 |
| stopForwardStreamToRooms | 停止跨房间媒体流转发。 |
| pauseForwardStreamToAllRooms | 暂停跨房间媒体流转发。 |
| resumeForwardStreamToAllRooms | 恢复跨房间媒体流转发。 |
| enableRangeAudio | 开启/关闭范围语音功能。 |
| updateReceiveRange | 更新本地用户的音频收听范围。 |
| updateRangePosition | 更新本地用户在房间内空间直角坐标系中的位置坐标。 |
| setAttenuationModel | 设置范围语音的音量衰减模式。 |
| setNoAttenuationFlags | 添加标签组,用于标记相互之间通话不衰减的用户组。 在同一个 RTC 房间中,如果多个用户的标签组之间有交集,那么,他们之间互相通话时,通话不衰减。 比如,用户身处多个队伍,队伍成员间通话不衰减。那么,可以为每个队伍绑定专属标签,每个用户的标签组包含用户所属各个队伍的标签。 |
| enableSpatialAudio | 开启/关闭空间音频功能。 |
| updateSpatialPosition | 更新本地用户在房间内空间直角坐标系中的位置坐标。 |
| updateSelfOrientation | 更新本地用户在空间音频坐标系下的朝向。 |
| disableRemoteOrientation | 参与通话的各端调用本接口后,将忽略远端用户的朝向,认为所有远端用户都面向本地用户。 |
| updateListenerPosition | 更新在房间内收听音频时的位置。 通过此接口,你可以设定本地发声位置和收听位置不同。 |
| updateListenerOrientation | 更新在房间内收听音频时的朝向。 通过此接口,你可以设定本地用户的发声朝向和收听朝向不同。 |
| setRemoteRoomAudioPlaybackVolume | 调节某个房间内所有远端用户的音频播放音量。 |
| setAudioSelectionConfig | 设置本端发布流在音频选路中的优先级。 |
| setRoomExtraInfo | 设置/更新房间附加信息,可用于标识房间状态或属性,或灵活实现各种业务逻辑。 |
| startSubtitle | 识别或翻译房间内所有用户的语音,形成字幕。 语音识别或翻译的结果会通过 onSubtitleMessageReceived 事件回调给你。 调用该方法后,你会收到 onSubtitleStateChanged 回调,通知字幕是否开启。 |
| stopSubtitle | 关闭字幕。 调用该方法后,用户会收到 onSubtitleStateChanged 回调,通知字幕是否关闭。 |
| updateSelfPosition | 设置本地用户在自建空间直角坐标系中的收听坐标和收听朝向,以实现本地用户预期的空间音频收听效果。 |
| updateRemotePosition | 设置房间内某一远端用户在本地用户自建的空间音频坐标系中的发声位置和发声朝向,以实现本地用户预期的空间音频收听效果。 |
| removeRemotePosition | 移除调用 updateRemotePosition 为某一远端用户设置的空间音频效果。 |
| removeAllRemotePosition | 移除调用 updateRemotePosition 为所有远端用户设置的空间音频效果。 |
创建房间实例
类型
(room_id: string) => 0 | -1
ts注意
参数
room_id
类型: string
标识通话房间的房间 ID,最大长度为 128 字节的非空字符串。支持的字符集范围为:
• 26个大写字母 A ~ Z
• 26个小写字母 a ~ z
• 10个数字 0 ~ 9
• 下划线 "_", at 符 "@", 减号 "-"
多房间模式下,调用创建房间接口后,请勿调用同样的 roomID 创建房间,否则会导致创建房间失败。
返回值
0: 成功-1: 失败获取房间 ID
类型
() => string
ts返回值
类型: string
房间 ID
退出并销毁房间。
类型
() => number
ts注意
关于创建房间,参见 createRTCRoom。
返回值
类型: number
0: 成功-1: 失败加入房间。
类型
(token: string, user_info: UserInfo, config?: RTCRoomConfig) => number
ts注意
参数
token
类型: string
动态密钥。用于对进房用户进行鉴权验证。
进入房间需要携带 Token。测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。Token 有效期及生成方式参看使用 Token 完成鉴权。
使用不同 AppID 的 App 是不能互通的。
请务必保证生成 Token 使用的 AppID 和创建引擎时使用的 AppID 相同,否则会导致加入房间失败。
user_info
类型: UserInfo
用户信息
config
类型: RTCRoomConfig | undefined
房间参数配置,设置房间模式以及是否自动发布或订阅流。
返回值
类型: number
离开房间。
类型
() => number
ts注意
onLeaveRoom 回调通知。+ 调用 setUserVisibility 将自身设为可见的用户离开房间后,房间内其他用户会收到 onUserLeave 回调通知。onLeaveRoom 回调。返回值
类型: number
0: 成功-1: 失败设置用户可见性。未调用该接口前,本地用户默认对他人可见。
默认情况下,一个 RTC 房间最多同时容纳 50 名可见用户,最多 30 人可同时上麦。更多信息参看用户和媒体流上限。
类型
(enable: Boolean) => number
ts注意
WARNING_CODE_PUBLISH_STREAM_FORBIDEN 警告。参数
enable
类型: Boolean
设置用户是否对房间内其他用户可见:
返回值
类型: number
设置发流端音画同步。
类型
(audio_user_id: string) => number
ts注意
audioUserId 即可;如需更换同步视频源,需先解除当前的同步关系,后在新视频源端开启同步。参数
audio_user_id
类型: string
音频发送端的用户 ID,将该参数设为空则可解除当前音视频的同步关系。
返回值
类型: number
方法调用结果:
更新 Token。Token 中同时包含进房、发布和订阅权限,各权限有一定的有效期,并且到期前 30 秒会触发回调,提示用户更新 Token 相关权限。此时需要重新获取 Token,并调用此方法更新 Token,以保证通话的正常进行。
类型
(token: string) => number
ts参数
token
类型: string
重新获取的有效 Token。
如果传入的 Token 无效,回调错误码为 ErrorCode 中的 -1010 提示传入的 Token 无效。
返回值
类型: number
设置期望订阅的远端视频流的参数。
类型
(user_id: string, remote_video_config?: RemoteVideoConfig) => number
ts注意
roomConfig 中的 remoteVideoConfig 进行设置。参数
user_id
类型: string
期望配置订阅参数的远端视频流发布用户的 ID。
remote_video_config
类型: RemoteVideoConfig | undefined
期望配置的远端视频流参数。
返回值
类型: number
0: 成功-1: 失败在当前所在房间内发布本地通过摄像头/麦克风采集的媒体流
类型
(type: MediaStreamType) => number
ts注意
参数
type
类型: MediaStreamType
媒体流类型,用于指定发布音频/视频
返回值
类型: number
0: 成功-1: 失败停止将本地摄像头/麦克风采集的媒体流发布到当前所在房间中
类型
(type: MediaStreamType) => number
ts注意
参数
type
类型: MediaStreamType
媒体流类型,用于指定停止发布音频/视频
返回值
类型: number
0: 成功-1: 失败在当前所在房间内发布本地屏幕共享音视频流
类型
(type: MediaStreamType) => number
ts注意
参数
type
类型: MediaStreamType
媒体流类型,用于指定发布屏幕音频/视频
返回值
类型: number
0: 成功-1: 失败停止将本地屏幕共享音视频流发布到当前所在房间中
类型
(type: MediaStreamType) => number
ts注意
参数
type
类型: MediaStreamType
媒体流类型,用于指定停止发布屏幕音频/视频
返回值
类型: number
0: 成功-1: 失败订阅房间内指定的通过摄像头/麦克风采集的媒体流,或更新对指定远端用户的订阅选项
类型
(user_id: string, type: MediaStreamType) => number
ts注意
参数
user_id
类型: string
指定订阅的远端发布音视频流的用户 ID。
type
类型: MediaStreamType
媒体流类型,用于指定订阅音频/视频。
返回值
类型: number
0: 成功-1: 失败取消订阅房间内指定的通过摄像头/麦克风采集的媒体流。该方法对自动订阅和手动订阅模式均适用。
类型
(user_id: string, type: MediaStreamType) => number
ts注意
参数
user_id
类型: string
指定取消订阅的远端发布音视频流的用户 ID。
type
类型: MediaStreamType
媒体流类型,用于指定取消订阅音频/视频。
返回值
类型: number
0: 成功-1: 失败订阅房间内所有通过摄像头/麦克风采集的媒体流,或更新订阅选项。
类型
(type: MediaStreamType) => number
ts注意
参数
type
类型: MediaStreamType
媒体流类型,用于指定订阅音频/视频。
返回值
类型: number
0: 成功-1: 失败取消订阅房间内所有的通过摄像头/麦克风采集的媒体流。
类型
(type: MediaStreamType) => number
ts注意
参数
type
类型: MediaStreamType
媒体流类型,用于指定取消订阅音频/视频。
返回值
类型: number
0: 成功-1: 失败订阅房间内指定的远端屏幕共享音视频流,或更新对指定远端用户的订阅选项
类型
(user_id: string, type: MediaStreamType) => number
ts注意
参数
user_id
类型: string
指定订阅的远端发布屏幕流的用户 ID。
type
类型: MediaStreamType
媒体流类型,用于指定订阅音频/视频。
返回值
类型: number
0: 成功-1: 失败取消订阅房间内指定的远端屏幕共享音视频流。
类型
(user_id: string, type: MediaStreamType) => number
ts注意
参数
user_id
类型: string
指定取消订阅的远端发布屏幕流的用户 ID。
type
类型: MediaStreamType
媒体流类型,用于指定取消订阅音频/视频。
返回值
类型: number
0: 成功-1: 失败暂停接收来自远端的媒体流。
类型
(media_type: PauseResumeControlMediaType) => number
ts注意
参数
media_type
类型: PauseResumeControlMediaType
媒体流类型,指定需要暂停接收音频还是视频流
返回值
类型: number
0: 成功-1: 失败恢复接收来自远端的媒体流
类型
(media_type: PauseResumeControlMediaType) => number
ts注意
参数
media_type
类型: PauseResumeControlMediaType
媒体流类型,指定需要暂停接收音频还是视频流
返回值
类型: number
0: 成功-1: 失败给房间内指定的用户发送点对点文本消息
类型
(uid: string, message: string, config: MessageConfig) => number
ts注意
参数
uid
类型: string
消息接收用户的 ID
message
类型: string
发送的文本消息内容
消息不超过 64 KB。
config
类型: MessageConfig
消息发送的可靠/有序类型
返回值
类型: number
0: 成功-1: 失败给房间内指定的用户发送点对点二进制消息。
类型
(uid: string, length: number, message: Uint8Array, config: MessageConfig) => number
ts注意
参数
uid
类型: string
消息接收用户的 ID
length
类型: number
二进制字符串的长度
message
类型: Uint8Array
发送的二进制消息内容
消息不超过 46KB。
config
类型: MessageConfig
消息类型
返回值
类型: number
0: 成功。这次发送消息的编号,从 1 开始递增。
-1: 失败给房间内的所有其他用户群发文本消息。
类型
(message: string) => number
ts注意
参数
message
类型: string
发送的文本消息内容
消息不超过 64 KB。
返回值
类型: number
0: 成功。这次发送消息的编号,从 1 开始递增。-1: 失败给房间内的所有其他用户群发二进制消息。
类型
(size: number, message: Uint8Array) => number
ts注意
参数
size
类型: number
发送的二进制消息长度
message
类型: Uint8Array
发送的二进制消息内容,消息不超过 46 KB。
返回值
类型: number
0: 成功。这次发送消息的编号,从 1 开始递增。-1: 失败开始跨房间转发媒体流。
类型
(configuration: ForwardStreamConfiguration) => number
ts注意
参数
configuration
类型: ForwardStreamConfiguration
跨房间媒体流转发指定房间的信息。
返回值
类型: number
0: 成功-1: 失败更新跨房间媒体流转发信息。
类型
(configuration: ForwardStreamConfiguration) => number
ts注意
参数
configuration
类型: ForwardStreamConfiguration
跨房间媒体流转发目标房间信息。
返回值
类型: number
0: 成功-1: 失败停止跨房间媒体流转发。
类型
() => number
ts注意
返回值
类型: number
0: 成功-1: 失败暂停跨房间媒体流转发。
类型
() => number
ts注意
返回值
类型: number
0: 成功-1: 失败恢复跨房间媒体流转发。
类型
() => number
ts注意
目标房间中的用户将接收到本地用户进房 onUserJoined 和发布 onUserPublishStream/onUserPublishScreen 的回调。
返回值
类型: number
0: 成功-1: 失败开启/关闭范围语音功能。
类型
(enable: boolean) => number
ts注意
参数
enable
类型: boolean
是否开启范围语音功能:
返回值
类型: number
0: 成功-1: 失败更新本地用户的音频收听范围。
类型
(range: ReceiveRange) => number
ts参数
range
类型: ReceiveRange
音频收听范围
返回值
类型: number
方法调用结果:
0:成功;!0: 失败。更新本地用户在房间内空间直角坐标系中的位置坐标。
类型
(pos: Position) => number
ts注意
调用该接口更新坐标后,你需调用 enableRangeAudio 开启范围语音功能以收听范围语音效果。
参数
pos
类型: Position
三维坐标的值,默认为 [0, 0, 0]
返回值
类型: number
方法调用结果:
设置范围语音的音量衰减模式。
类型
(type: AttenuationType, coefficient: number) => number
ts注意
音量衰减范围通过 updateReceiveRange 进行设置。
参数
type
类型: AttenuationType
音量衰减模式。默认为线性衰减。
coefficient
类型: number
指数衰减模式下的音量衰减系数,默认值为 1。范围 [0.1,100],推荐设置为 50。数值越大,音量的衰减速度越快。
返回值
类型: number
调用是否成功
0:调用成功-1:调用失败。原因为在调用 enableRangeAudio 开启范围语音前或进房前调用本接口添加标签组,用于标记相互之间通话不衰减的用户组。
在同一个 RTC 房间中,如果多个用户的标签组之间有交集,那么,他们之间互相通话时,通话不衰减。
比如,用户身处多个队伍,队伍成员间通话不衰减。那么,可以为每个队伍绑定专属标签,每个用户的标签组包含用户所属各个队伍的标签。
类型
(flags?: string[]) => any
ts参数
flags
类型: string[]
默认值: ' []'
标签组
开启/关闭空间音频功能。
类型
(enable: boolean) => number
ts注意
该方法仅开启空间音频功能,你须调用 updateSpatialPosition 设置自身位置坐标后方可收听空间音频效果。空间音频相关 API 和调用时序详见空间音频。
参数
enable
类型: boolean
是否开启空间音频功能:
返回值
类型: number
0:支持空间音频 -1:不支持
更新本地用户在房间内空间直角坐标系中的位置坐标。
类型
(pos: Position) => number
ts注意
调用该接口更新坐标前,你需调用 enableSpatialAudio 开启空间音频功能。 空间音频相关 API 和调用时序详见空间音频。
参数
pos
类型: Position
三维坐标的值,默认为 [0, 0, 0]。
返回值
类型: number
0: 成功-1: 失败更新本地用户在空间音频坐标系下的朝向。
类型
(orientation: HumanOrientation) => number
ts注意
参数
orientation
类型: HumanOrientation
自身朝向信息
返回值
类型: number
0: 成功-1: 失败参与通话的各端调用本接口后,将忽略远端用户的朝向,认为所有远端用户都面向本地用户。
类型
() => number
ts注意
返回值
类型: number
0: 成功-1: 失败更新在房间内收听音频时的位置。
通过此接口,你可以设定本地发声位置和收听位置不同。
类型
(pos: Position) => number
ts注意
参数
pos
类型: Position
空间直角坐标系下的坐标值。
如果未调用此接口设定收听位置,那么默认值为通过 updateSpatialPosition 设定的值。
返回值
类型: number
0: 成功!0: 失败更新在房间内收听音频时的朝向。
通过此接口,你可以设定本地用户的发声朝向和收听朝向不同。
类型
(orientation: HumanOrientation) => number
ts注意
空间音频相关 API 和调用时序详见空间音频。
参数
orientation
类型: HumanOrientation
自身朝向信息
如果未调用此接口设定收听朝向,那么默认值为通过 updateSelfOrientation 设定的值。
返回值
类型: number
0: 成功!0: 失败调节某个房间内所有远端用户的音频播放音量。
类型
(volume: number) => number
ts注意
假设某远端用户 A 始终在被调节的目标用户范围内,
参数
volume
类型: number
音频播放音量和原始音量的比值,范围是 [0, 400],单位为 %,自带溢出保护。
为保证更好的通话质量,建议将 volume 值设为 [0,100]。
返回值
类型: number
设置本端发布流在音频选路中的优先级。
类型
(audio_selection_priority: AudioSelectionPriority) => number
ts注意
参数
audio_selection_priority
本端发布流在音频选路中的优先级,默认正常参与音频选路。
返回值
类型: number
设置/更新房间附加信息,可用于标识房间状态或属性,或灵活实现各种业务逻辑。
类型
(key: string, value: string) => any
ts注意
参数
key
类型: string
房间附加信息键值,长度小于 10 字节。
同一房间内最多可存在 5 个 key,超出则会从第一个 key 起进行替换。
value
类型: string
房间附加信息内容,长度小于 128 字节。
返回值
识别或翻译房间内所有用户的语音,形成字幕。
语音识别或翻译的结果会通过 onSubtitleMessageReceived 事件回调给你。
调用该方法后,你会收到 onSubtitleStateChanged 回调,通知字幕是否开启。
类型
(subtitle_config: SubtitleConfig) => number
ts注意
此方法需要在进房后调用。
如果想要指定源语言,你需要在进房前调用 joinRoom 接口,通过 extraInfo 参数传入 "source_language": "zh" JSON 字符串,设置源语言为中文;传入 "source_language": "en"JSON 字符串,设置源语言为英文;传入 "source_language": "ja" JSON 字符串,设置源语言为日文。如果你未指定源语言,SDK 会将系统语种设定为源语言。如果你的系统语种不是中文、英文和日文,此时 SDK 会自动将中文设为源语言。
调用此方法前,你还需要前往控制台,在功能配置页面开启字幕功能。
参数
subtitle_config
类型: SubtitleConfig
字幕配置信息。
返回值
类型: number
0: 调用成功。!0: 调用失败。关闭字幕。
调用该方法后,用户会收到 onSubtitleStateChanged 回调,通知字幕是否关闭。
类型
() => number
ts返回值
类型: number
0: 调用成功。!0: 调用失败。设置本地用户在自建空间直角坐标系中的收听坐标和收听朝向,以实现本地用户预期的空间音频收听效果。
类型
(position_info: PositionInfo) => number
ts注意
该方法需在进房后调用。调用该接口更新坐标前,你需调用 enableSpatialAudio 开启空间音频功能。空间音频相关 API 和调用时序详见空间音频。
调用此接口在本地进行的设定对其他用户的空间音频收听效果不会产生任何影响。
参数
position_info
类型: PositionInfo
空间音频位置信息。
返回值
类型: number
0:成功。<0:失败。-2: 失败,原因是校验本地用户的三维朝向信息时,三个向量没有两两垂直。设置房间内某一远端用户在本地用户自建的空间音频坐标系中的发声位置和发声朝向,以实现本地用户预期的空间音频收听效果。
类型
(uid: string, position_info: PositionInfo) => number
ts注意
该方法需在创建房间后调用。
调用此接口在本地进行的设定对其他用户的空间音频收听效果不会产生任何影响。
参数
uid
类型: string
用户 ID
position_info
类型: PositionInfo
远端用户的空间音频位置信息。
返回值
类型: number
0:成功。<0:失败。-2: 失败,原因是校验远端用户的三维朝向信息时,三个向量没有两两垂直。移除调用 updateRemotePosition 为某一远端用户设置的空间音频效果。
类型
(uid: string) => number
ts参数
uid
类型: string
远端用户 ID。
返回值
类型: number
0:成功。<0:失败。移除调用 updateRemotePosition 为所有远端用户设置的空间音频效果。
类型
() => number
ts返回值
类型: number
0:成功。<0:失败。类型: class
| 方法 | 描述 |
|---|---|
| start | 开始播放音效文件。 可以通过传入不同的 ID 和 filepath 多次调用本方法,以实现同时播放多个音效文件,实现音效叠加。 |
| stop | 停止播放音效文件。 |
| stopAll | 停止播放所有音效文件。 |
| preload | 预加载指定音乐文件到内存中,以避免频繁播放同一文件时的重复加载,减少 CPU 占用。 |
| unload | 卸载指定音效文件。 |
| unloadAll | 卸载所有音效文件。 |
| pause | 暂停播放音效文件。 |
| pauseAll | 暂停播放所有音效文件。 |
| resume | 恢复播放音效文件。 |
| resumeAll | 恢复播放所有音效文件。 |
| setPosition | 设置音效文件的起始播放位置。 |
| getPosition | 获取音效文件播放进度。 |
| setVolume | 调节指定音效的音量大小,包括音效文件和 PCM 音频。 |
| setVolumeAll | 设置所有音效的音量大小,包括音效文件和 PCM 音效。 |
| getVolume | 获取当前音量。 |
| getDuration | 获取音效文件时长。 |
| setEventHandler | 设置回调句柄。 |
开始播放音效文件。
可以通过传入不同的 ID 和 filepath 多次调用本方法,以实现同时播放多个音效文件,实现音效叠加。
类型
(effect_id: number, file_path: string, config: AudioEffectPlayerConfig) => number
ts注意
参数
effect_id
类型: number
音效 ID。用于标识音效,请保证音效 ID 唯一性。
如果使用相同的 ID 重复调用本方法后,上一个音效会停止,下一个音效开始,并收到 onAudioEffectPlayerStateChanged。
file_path
类型: string
音效文件路径。
支持在线文件的 URL、本地文件的 URI、或本地文件的绝对路径。对于在线文件的 URL,仅支持 https 协议。
推荐的音效文件采样率:8KHz、16KHz、22.05KHz、44.1KHz、48KHz。
不同平台支持的本地音效文件格式:
| mp3 | mp4 | aac | m4a | 3gp | wav | ogg | ts | wma | |
|---|---|---|---|---|---|---|---|---|---|
| Android | Y | Y | Y | Y | Y | Y | Y | ||
| iOS/macOS | Y | Y | Y | Y | Y | Y | |||
| Windows | Y | Y | Y | Y | Y | Y | Y | Y |
| mp3 | mp4 | aac | m4a | 3gp | wav | ogg | ts | wma | |
|---|---|---|---|---|---|---|---|---|---|
| Android | Y | Y | Y | Y | Y | ||||
| iOS/macOS | Y | Y | Y | Y | |||||
| Windows | Y | Y | Y | Y | Y | Y | Y |
config
音效配置
返回值
类型: number
0: 成功-1: 失败停止播放音效文件。
类型
(effect_id: number) => number
ts注意
参数
effect_id
类型: number
音效 ID
返回值
类型: number
0: 成功-1: 失败停止播放所有音效文件。
类型
() => number
ts注意
返回值
类型: number
0: 成功-1: 失败预加载指定音乐文件到内存中,以避免频繁播放同一文件时的重复加载,减少 CPU 占用。
类型
(effect_id: number, file_path: string) => number
ts注意
参数
effect_id
类型: number
音效 ID。用于标识音效,请保证音效 ID 唯一性。
如果使用相同的 ID 重复调用本方法,后一次会覆盖前一次。
如果先调用 start,再使用相同的 ID 调用本方法 ,会收到回调 onAudioEffectPlayerStateChanged ,通知前一个音效停止,然后加载下一个音效。
调用本方法预加载 A.mp3 后,如果需要使用相同的 ID 调用 start 播放 B.mp3,请先调用 unload 卸载 A.mp3 ,否则会报错 AUDIO_MIXING_ERROR_LOAD_CONFLICT。
file_path
类型: string
音效文件路径。支持在线文件的 URL、或本地文件的 URI。对于在线文件的 URL,仅支持 https 协议。
预加载的文件长度不得超过 20s。
不同平台支持的音效文件格式和 start 一致。
返回值
类型: number
0: 成功-1: 失败卸载指定音效文件。
类型
(effect_id: number) => number
ts注意
参数
effect_id
类型: number
音效 ID
返回值
类型: number
0: 成功-1: 失败卸载所有音效文件。
类型
() => number
ts返回值
类型: number
0: 成功-1: 失败暂停播放音效文件。
类型
(effect_id: number) => number
ts注意
参数
effect_id
类型: number
音效 ID
返回值
类型: number
0: 成功-1: 失败暂停播放所有音效文件。
类型
() => number
ts注意
返回值
类型: number
0: 成功-1: 失败恢复播放音效文件。
类型
(effect_id: number) => number
ts注意
调用 pause 方法暂停播放音效文件后,可以通过调用本方法恢复播放。
参数
effect_id
类型: number
音效 ID
返回值
类型: number
0: 成功-1: 失败恢复播放所有音效文件。
类型
() => number
ts注意
调用 pauseAll 方法暂停所有正在播放音效文件后,可以通过调用本方法恢复播放。
返回值
类型: number
0: 成功-1: 失败设置音效文件的起始播放位置。
类型
(effect_id: number, pos: number) => number
ts注意
参数
effect_id
类型: number
音效 ID
pos
类型: number
音效文件起始播放位置,单位为毫秒。
你可以通过 getDuration 获取音效文件总时长,pos 的值应小于音效文件总时长。
返回值
类型: number
0: 成功-1: 失败获取音效文件播放进度。
类型
(effect_id: number) => number
ts注意
参数
effect_id
类型: number
音效 ID
返回值
类型: number
0: 成功, 音效文件播放进度,单位为毫秒。
调节指定音效的音量大小,包括音效文件和 PCM 音频。
类型
(effect_id: number, volume: number) => number
ts注意
仅在调用 start 后调用此接口。
参数
effect_id
类型: number
音效 ID
volume
类型: number
播放音量相对原音量的比值。单位为 %。范围为 [0, 400],建议范围是 [0, 100]。带溢出保护。
返回值
类型: number
设置所有音效的音量大小,包括音效文件和 PCM 音效。
类型
(volume: number) => number
ts注意
参数
volume
类型: number
播放音量相对原音量的比值。单位为 %。范围为 [0, 400],建议范围是 [0, 100]。带溢出保护。
返回值
类型: number
0: 成功-1: 失败获取当前音量。
类型
(effect_id: number) => number
ts注意
仅在调用 start 后调用此接口。
参数
effect_id
类型: number
音效 ID
返回值
类型: number
0: 成功, 当前音量值。
获取音效文件时长。
类型
(effect_id: number) => number
ts注意
仅在调用 start 后调用此接口。
参数
effect_id
类型: number
音效 ID
返回值
类型: number
0: 成功, 音效文件时长,单位为毫秒。
设置回调句柄。
类型
() => number
ts返回值
类型: number
0: 成功-1: 失败类型: class
| 方法 | 描述 |
|---|---|
| open | 打开音乐文件。 一个播放器实例仅能够同时打开一个音乐文件。如果需要同时打开多个音乐文件,请创建多个音乐播放器实例。 |
| start | 播放音乐。你仅需要在调用 open,且未开启自动播放时,调用此方法。 |
| stop | 调用 open 或 start 开始播放后,可以调用本方法停止。 |
| pause | 调用 open,或 start 开始播放音频文件后,调用本方法暂停播放。 |
| resume | 调用 pause 暂停音频播放后,调用本方法恢复播放。 |
| setVolume | 调节指定混音的音量大小,包括音乐文件混音和 PCM 混音。 |
| getVolume | 获取当前音量 |
| getTotalDuration | 获取音乐文件时长。 |
| getPlaybackDuration | 获取混音音乐文件的实际播放时长,单位为毫秒。 |
| getPosition | 获取音乐文件播放进度。 |
| setPosition | 设置音乐文件的起始播放位置。 |
| setAudioPitch | 开启变调功能,多用于 K 歌场景。 |
| setAudioDualMonoMode | 设置当前音乐文件的声道模式 |
| getAudioTrackCount | 获取当前音乐文件的音轨数 |
| selectAudioTrack | 指定当前音乐文件的播放音轨 |
| setPlaybackSpeed | 设置播放速度 |
| setProgressInterval | 设置音频文件混音时,收到 onMediaPlayerPlayingProgress 的间隔。 |
| setLoudness | 如果你需要使用 enableVocalInstrumentBalance#IRTCVideo#enableVocalInstrumentBalance 对音频文件/PCM 音频数据设置音量均衡,你必须通过此接口传入其原始响度。 |
| setEventHandler | 注册回调句柄以在本地音乐文件混音时,收到相关回调。 |
参数
player_id
类型: number
打开音乐文件。
一个播放器实例仅能够同时打开一个音乐文件。如果需要同时打开多个音乐文件,请创建多个音乐播放器实例。
类型
(file_path: string, config: MediaPlayerConfig) => number
ts参数
file_path
类型: string
音乐文件路径。
支持在线文件的 URL、本地文件的 URI、或本地文件的绝对路径。对于在线文件的 URL,仅支持 https 协议。
推荐的采样率:8KHz、16KHz、22.05KHz、44.1KHz、48KHz。
不同平台支持的本地文件格式:
| mp3 | mp4 | aac | m4a | 3gp | wav | ogg | ts | wma | |
|---|---|---|---|---|---|---|---|---|---|
| Android | Y | Y | Y | Y | Y | Y | Y | ||
| iOS/macOS | Y | Y | Y | Y | Y | Y | |||
| Windows | Y | Y | Y | Y | Y | Y | Y | Y |
| mp3 | mp4 | aac | m4a | 3gp | wav | ogg | ts | wma | |
|---|---|---|---|---|---|---|---|---|---|
| Android | Y | Y | Y | Y | Y | ||||
| iOS/macOS | Y | Y | Y | Y | |||||
| Windows | Y | Y | Y | Y | Y | Y | Y |
config
返回值
类型: number
0: 成功-1: 失败播放音乐。你仅需要在调用 open,且未开启自动播放时,调用此方法。
类型
() => number
ts注意
调用本方法播放音频文件后,可调用 stop 方法暂停播放。
返回值
类型: number
0: 成功-1: 失败调用 open 或 start 开始播放后,可以调用本方法停止。
类型
() => number
ts返回值
类型: number
0: 成功-1: 失败调用 open,或 start 开始播放音频文件后,调用本方法暂停播放。
类型
() => number
ts注意
调用本方法暂停播放后,可调用 resume 恢复播放。
返回值
类型: number
0: 成功-1: 失败调用 pause 暂停音频播放后,调用本方法恢复播放。
类型
() => number
ts返回值
类型: number
0: 成功-1: 失败调节指定混音的音量大小,包括音乐文件混音和 PCM 混音。
类型
(volume: number, type: AudioMixingType) => number
ts注意
仅在音频播放进行状态时,调用此方法。
参数
volume
类型: number
播放音量相对原音量的比值。单位为 %。范围为 [0, 400],建议范围是 [0, 100]。带溢出保护。
type
类型: AudioMixingType
返回值
类型: number
0: 成功-1: 失败获取当前音量
类型
(type: AudioMixingType) => number
ts注意
仅在音频播放进行状态时,调用此方法。包括音乐文件混音和 PCM 混音。
参数
type
类型: AudioMixingType
返回值
类型: number
0: 成功, 当前音量值。
获取音乐文件时长。
类型
() => number
ts注意
返回值
类型: number
0: 成功, 音乐文件时长,单位为毫秒。
获取混音音乐文件的实际播放时长,单位为毫秒。
类型
() => number
ts注意
返回值
类型: number
0: 实际播放时长。
获取音乐文件播放进度。
类型
() => number
ts注意
返回值
类型: number
0: 成功, 音乐文件播放进度,单位为毫秒。
设置音乐文件的起始播放位置。
类型
(position: number) => number
ts注意
在播放在线文件时,调用此接口可能造成播放延迟的现象。
参数
position
类型: number
音乐文件起始播放位置,单位为毫秒。
你可以通过 getTotalDuration 获取音乐文件总时长,position 的值应小于音乐文件总时长。
返回值
类型: number
0: 成功-1: 失败开启变调功能,多用于 K 歌场景。
类型
(pitch: number) => number
ts注意
参数
pitch
类型: number
与音乐文件原始音调相比的升高/降低值,取值范围为 [-12,12],默认值为 0。每相邻两个值的音高距离相差半音,正值表示升调,负值表示降调。
返回值
类型: number
0: 成功-1: 失败设置当前音乐文件的声道模式
类型
(mode: AudioMixingDualMonoMode) => number
ts注意
参数
mode
声道模式。默认的声道模式和源文件一致
返回值
类型: number
0: 成功-1: 失败获取当前音乐文件的音轨数
类型
() => number
ts注意
返回值
类型: number
= 0:成功,返回当前音乐文件的音轨数
指定当前音乐文件的播放音轨
类型
(index: number) => number
ts注意
参数
index
类型: number
指定的播放音轨,从 0 开始,取值范围为 [0, getAudioTrackCount()-1]。
设置的参数值需要小于 getAudioTrackCount 的返回值
返回值
类型: number
0: 成功-1: 失败设置播放速度
类型
(speed: number) => number
ts注意
参数
speed
类型: number
播放速度与原始文件速度的比例,单位:%,取值范围为 [50,200],默认值为 100。
返回值
类型: number
0: 成功-1: 失败设置音频文件混音时,收到 onMediaPlayerPlayingProgress 的间隔。
类型
(interval: string) => number
ts注意
参数
interval
类型: string
时间间隔,单位毫秒。
10*(mod(10)+1)。返回值
类型: number
0: 成功-1: 失败如果你需要使用 enableVocalInstrumentBalance#IRTCVideo#enableVocalInstrumentBalance 对音频文件/PCM 音频数据设置音量均衡,你必须通过此接口传入其原始响度。
类型
(loudness: number) => number
ts注意
参数
loudness
类型: number
原始响度,单位:lufs,取值范围为 [-70.0, 0.0]。
当设置的值小于 -70.0lufs 时,则默认调整为 -70.0lufs,大于 0.0lufs 时,则不对该响度做音量均衡处理。默认值为 1.0lufs,即不做处理。
返回值
类型: number
0: 成功-1: 失败注册回调句柄以在本地音乐文件混音时,收到相关回调。
类型
() => number
ts注意
触发回调 onMediaPlayerStateChanged 和 onMediaPlayerPlayingProgress。
返回值
类型: number
0: 成功-1: 失败