开发者如何调用 ERTC Android API 完成 SDK 初始化?

ERTC SDK Android API概览.md

ERTC SDK Android API概览

ERTCEngine Api简介

方法 说明
初始化
init 创建ERTCEngine实例
destroyEngine 释放之前通过init创建的对象
getSDKVersion 获取当前版本号
setLogLevelDebug 设置日志等级
setRTCListener 设置事件回调
setRtcStatsListener 设置音视频实时数据回调
房间管理
enterRoom 加入房间
exitRoom 退出房间
dissolveRoom 解散会议
forceCloseOtherScreenShare 管理员适用,停止他人的屏幕共享
音频管理
enableLocalAudio 是否开启本地音频模块并推流
setSpeakerPhoneOn 是否打开扬声器
enableRoomSound 会议全场静音
enableHardAec 是否开启硬件回声消除
enableAudioVolumeEvaluation 开启与关闭音量回调,仅返回自己和音量最大的三个用户的声音大小
视频管理
enableLocalVideo 是否开启本地采集并推流。加入房间前调用则加入后自动推流,加入房间后调用则直接推流. 调用后其它用户将收到
enableDualStreamMode 是否开启双流模式
setVideoEncoderParam 设置视频编码参数,不设置则默认为640*480@15fps
setSmallVideoEncodeParam 设定本地视频的编码参数 小码流
setLocalView 设置本地预览窗口,必须开启本地采集后调用,预览成功后自己将收到 onFirstLocalVideoFrame
setRemoteView 订阅远端码流
setBeautyLocalView 设置本地预览美颜窗口
switchCamera 前后置摄像头切换
forceFlipCamera 强制镜像摄像头
setRemoteVideoStreamType 切换订阅远端码流类型
setLocalViewChanged 设置本地预览窗口,如不设置将无法进行摄像头编码
setRemoteViewChanged 设置远端播放窗口,需要订阅之后再行调用
setHardDecodePriority 设置是否硬件解码优先,订阅码流之前调用有效
getDecodeEngine 获取该用户当前解码方式,注意设置成硬解优先后,依然有概率失败并通过软解进行播放
setDisplayRegion 设置视频显示区域,用于电子放大
setBeautyConfig 设置美颜参数
setBeautyEnable 是否开启美颜
setBeautyFilter 设置滤镜
视频订阅
subScribe 订阅或取消码流
屏幕共享管理
initShareScreen 开始屏幕共享,开发者需要在Activity中重写onActivityResult,并在其中调用下方的EZRtc.onActivityResult.
setScreenShareWindow 设置屏幕共享窗口
setScreenShareEncoderParam 设置屏幕共享视频编码参数,不设置则默认为640*480@15fps
requestShareScreenPermission 开启屏幕共享,注意需要在Activity的onActivityResult中继续调用此方法下方的onActivityResult
onScreenShareActivityResult 用户申请屏幕共享权限后,用于传下传递
stopScreenShare 停止屏幕共享
setShareViewScaleEnable 共享屏幕是否打开电子放大
网络测试
startSpeedTest 网络测试
stopSpeedTest 停止网络测试
setSpeedTestListener 设置网络测试回调
自定义消息
sendCustomMsg 发送自定义消息
音视频数据回调管理
setQualityInterval 设置质量回调间隔(>=1000)

ERTCEngine Api详情

1. init

创建ERTCEngine实例

public static ERTCEngine init(RTCConstant.RTCEngineConfig config, OnInitListener onInitListener)

参数详情:

参数 类型 含义
config RTCEngineConfig 初始化配置
onInitListener OnInitListener 初始化回调

2. destroyEngine

释放之前通过init创建的对象

public static void destroyEngine()

3. getSDKVersion

获取当前版本号

public static String getSDKVersion()

4. setLogLevelDebug

设置日志等级

public void setLogLevelDebug(RTCConstant.BavLogLevel logLevel)

参数详情:

参数 类型 含义
logLevel RTCConstant.BavLogLevel 日志等级

5. setRTCListener

设置事件回调

public void setRTCListener(RTCListener rtcListener)

参数详情:

参数 类型 含义
rtcListener RTCListener 事件回调

6. setRtcStatsListener

设置事件回调

public void setRtcStatsListener(RTCStatsListener rtcStatsListener)

参数详情:

参数 类型 含义
rtcStatsListener RTCStatsListener 事件回调

7. enterRoom

进入房间,进入成功后自己端将收到onEnterRoomSuccess, 房间内其它用户将收到onRemoteUserEnterRoom

public void enterRoom(RTCConstant.EnterParam param, RTCConstant.Scene scene)

参数详情:

参数 类型 含义
param RTCConstant.EnterParam 进入房间参数
scene RTCConstant.Scene 场景

8. exitRoom

退出房间,退出后其它用户端将收到onRemoteUserLeaveRoom

public void exitRoom()

9. dissolveRoom

解散会议,此时会议中其它用户将会收到会议解散并被移出的通知

public void dissolveRoom()

10. forceCloseOtherScreenShare

管理员适用,停止他人的屏幕共享

public void forceCloseOtherScreenShare()

11. enableLocalAudio

开启本地音频模块并推流,调用成功后其它用户将收到 onUserAudioAvailable

public void enableLocalAudio(boolean enable)

参数详情:

参数 类型 含义
enable boolean 是否开启

12. setSpeakerPhoneOn

是否打开扬声器

public void setSpeakerPhoneOn(boolean enable)

参数详情:

参数 类型 含义
enable boolean 是否开启

13. enableRoomSound

会议全场静音

public void enableRoomSound(boolean enable)

参数详情:

参数 类型 含义
enable boolean true-非静音 / false-静音

14. enableHardAec

设置是否开启硬件回声消除

public void enableHardAec(boolean enable)

15. enableAudioVolumeEvaluation

开启与关闭音量回调,仅返回自己和音量最大的三个用户的声音大小

public void enableAudioVolumeEvaluation(int interval)

参数详情:

参数 类型 含义
interval int 单位毫秒 0表示关闭,其它表示间隔,推荐设置300

16. enableLocalVideo

是否开启本地采集并推流。加入房间前调用则加入后自动推流,加入房间后调用则直接推流. 调用后其它用户将收到

public void enableLocalVideo(boolean enable)

参数详情:

参数 类型 含义
enable boolean true-开启推流 false-关闭推流

17. enableDualStreamMode

是否开启双流模式

public void enableDualStreamMode(boolean enable)

参数详情:

参数 类型 含义
enable boolean true-开启 / false-关闭

18. setVideoEncoderParam

设置视频编码参数,不设置则默认为640*480@15fps

public void setVideoEncoderParam(RTCConstant.ERTCVideoEncParam ERTCVideoEncParam, boolean isExChangeWH)

参数详情:

参数 类型 含义
ERTCVideoEncParam RTCConstant.ERTCVideoEncParam 视频编码参数,详见: RTCConstant.ERTCVideoEncParam
isExChangeWH boolean 是否切换宽高值,高>宽

19. setSmallVideoEncodeParam

设定本地视频的编码参数 小码流

public void setSmallVideoEncodeParam(RTCConstant.ERTCVideoEncParam ERTCVideoEncParam, boolean isExChangeWH)

参数详情:

参数 类型 含义
ERTCVideoEncParam RTCConstant.ERTCVideoEncParam 视频编码参数,详见:RTCConstant.ERTCVideoEncParam, 传null时则按大码流同比例缩小
isExChangeWH boolean 是否切换宽高值,高>宽

20. setLocalView

设置本地预览窗口,必须开启本地采集后调用,预览成功后自己将收到 onFirstLocalVideoFrame

public void setLocalView(VideoCanvasView localView)

参数详情:

参数 类型 含义
localView VideoCanvasView 视频窗口,详见: VideoCanvasView

21. setRemoteView

订阅远端码流

public void setRemoteView(String userId, int streamType, VideoCanvasView remoteView)

参数详情:

参数 类型 含义
userId String 用户ID
streamType int 码流类型,当小码流不存在时,会自动切成大码流, 取值参考 RTCConstant.ERTC_VIDEO_STREAM_TYPE_BIG,RTCConstant.ERTC_VIDEO_STREAM_TYPE_SMALL
remoteView VideoCanvasView 视频窗口,详见: VideoCanvasView

22. setBeautyLocalView

设置本地预览美颜窗口

public void setBeautyLocalView(VideoCanvasView localView)

参数详情:

参数 类型 含义
localView VideoCanvasView 视频窗口,详见: VideoCanvasView

23. switchCamera

前后置摄像头切换

public void switchCamera()

23. forceFlipCamera

强制镜像摄像头

public void forceFlipCamera(boolean mirror) 参数详情:

参数 类型 含义
mirror Boolean 是否强制镜像

24. setRemoteVideoStreamType

切换订阅远端码流类型

public void setRemoteVideoStreamType(String userId, int streamType)

参数详情:

参数 类型 含义
userId String 用户ID
streamType int 码流类型,当小码流不存在时,会自动切成大码流, 取值参考 RTCConstant.ERTC_VIDEO_STREAM_TYPE_BIG,RTCConstant.ERTC_VIDEO_STREAM_TYPE_SMALL

25. setLocalViewChanged

设置本地预览窗口,如不设置将无法进行摄像头编码

public void setLocalViewChanged(VideoCanvasView localView)

参数详情:

参数 类型 含义
localView VideoCanvasView 视频窗口,详见: VideoCanvasView

26. setRemoteViewChanged

设置远端播放窗口,需要订阅之后再行调用

public void setRemoteViewChanged(VideoCanvasView remoteView, String userId)

参数详情:

参数 类型 含义
remoteView VideoCanvasView 视频窗口,详见: VideoCanvasView
userId String 用户ID

27. setHardDecodePriority

设置是否硬件解码优先,订阅码流之前调用有效

public void setHardDecodePriority(boolean enable)

参数详情:

参数 类型 含义
enable boolean true-硬解优先 / false-软件优先

28. getDecodeEngine

获取该用户当前解码方式,注意设置成硬解优先后,依然有概率失败并通过软解进行播放

public int getDecodeEngine(String userId)

参数详情:

参数 类型 含义
userId String 用户ID

29. setDisplayRegion

设置视频显示区域,用于电子放大

public void setDisplayRegion(int left, int top, int right, int bottom)

参数详情:

参数 类型 含义
left int 显示区域
top int 显示区域
right int 显示区域
bottom int 显示区域

30. setBeautyConfig

设置美颜参数

public void setBeautyConfig(float whitenessIntensity, float smoothnessIntensity, float ruddyIntensity)

参数详情:

参数 类型 含义
whitenessIntensity float 美白 范围0.0-1.0
smoothnessIntensity float 磨皮 范围0.0-1.0
ruddyIntensity float 红润 范围0.0-1.0

31. setBeautyEnable

是否开启美颜

public void setBeautyEnable(boolean enable)

参数详情:

参数 类型 含义
enable boolean true-开 / false-关

32. setBeautyFilter

设置滤镜

public void setBeautyFilter(int filterType, float intensity)

参数详情:

参数 类型 含义
filterType int 滤镜类型
intensity int 滤镜浓度

33. subScribe

订阅或取消码流

public void subScribe(String userId, int streamType, boolean subscribe)

参数详情:

参数 类型 含义
userId String 用户id
streamType int 大、小码流等
subscribe boolean true-开启订阅 false-取消订阅

34. initShareScreen

开始屏幕共享,开发者需要在Activity中重写onActivityResult,并在其中调用下方的EZRtc.onActivityResult.

public void initShareScreen(String shareName, OnApplyResultListener onApplyResultListener)

参数详情:

参数 类型 含义
shareName String 屏幕共享的名称
onApplyResultListener OnApplyResultListener 当用户允许权限后,会到服务进行验证当前是否可共享,并将结果以回调形式返回

35. setScreenShareWindow

设置屏幕共享窗口

public void setScreenShareWindow(VideoCanvasView shareView)

参数详情:

参数 类型 含义
shareView VideoCanvasView 用于播放的窗口,不使用播放时需设置为null

36. setScreenShareEncoderParam

设置屏幕共享视频编码参数,不设置则默认为640*480@15fps

public void setScreenShareEncoderParam(RTCConstant.ERTCVideoEncParam ERTCVideoEncParam)

参数详情:

参数 类型 含义
ERTCVideoEncParam RTCConstant.ERTCVideoEncParam 视频编码参数,详见:RTCConstant.ERTCVideoEncParam

37. requestShareScreenPermission

开启屏幕共享,注意需要在Activity的onActivityResult中继续调用此方法下方的onActivityResult

public void requestShareScreenPermission(Activity activity, int requestCode)

参数详情:

参数 类型 含义
activity Activity 申请授权的页面
requestCode int 请求码

38. onScreenShareActivityResult

用户申请屏幕共享权限后,用于传下传递

public void onScreenShareActivityResult(int requestCode, int resultCode, Intent data, Service service)

参数详情:

参数 类型 含义
requestCode int 请求码
resultCode int 结果码
data Intent 数据Intent
service Service 服务

39. stopScreenShare

停止屏幕共享

public void stopScreenShare()

40. setShareViewScaleEnable

共享屏幕是否打开电子放大

public void setShareViewScaleEnable(boolean enable)

参数详情:

参数 类型 含义
enable boolean true-开 / false-关

41. startSpeedTest

开始网络测试

public void startSpeedTest(int upBandwidth, int downBandwidth, int testInterval)

参数详情:

参数 类型 含义
upBandwidth int 预期的上行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)
downBandwidth int 预期的下行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)
testInterval int 统计间隔(毫秒)

42. stopSpeedTest

结束网络测试

public void stopSpeedTest()

43. setSpeedTestListener

设置网络测试回调

public void setSpeedTestListener(RTCSpeedTestListener listener)

参数详情:

参数 类型 含义
listener RTCSpeedTestListener 网速监听回调

44. sendCustomMsg

发送自定义消息给房间内用户

public int sendCustomMsg(String msg)

参数详情:

参数 类型 含义
msg String 消息内容

45. setQualityInterval

设置质量回调间隔(>=1000)

public void setQualityInterval(int interval)

参数详情:

参数 类型 含义
interval int 质量回调的触发间隔,单位为ms,最小间隔为1000,默认2000

萤石致力于成为全球领先的智能视觉物联网服务商,构建了全球领先的视觉物联网云平台,打造了硬件产品+软件云服务一体化的物联网服务体系。萤石云通过构建多数据中心+就近服务点的方式服务于全球客户。截至2025 年底,萤石物联网云平台在全球拥有超过120 个数据站点,平台上的IoT 设备接入数超过3.6 亿,其中视频类设备超过3 亿。在夯实自身平台能力的基础上,萤石进一步开放技术能力,将物联价值延伸至千行百业。萤石开放平台深度融合AI中台能力,涵盖音视频多媒体、消息通知处理、智能算法调度、视频存储备份、ERTC、大数据、物联接入等,已为智慧连锁、智慧养老、文教娱乐、畜牧养殖等42万余位行业客户提供数智化转型升级支撑;萤石物联专有云支持专有化部署,助力中大型企业和组织的数字化转型升级。

相关推荐
牛马工作号1 小时前
蓝牙技术全景指南:从无线链路、协议栈到产品量产
网络
中电华星2 小时前
专业的工业电源公司
网络·python
紫禁玄科2 小时前
公共WiFi流量安全全解析
网络·人工智能·web安全·网络安全·系统安全
气泡音人声分离2 小时前
为什么 MP3 转 FLAC 不能变成无损?音频转码里的信息损失原理
音视频·音频剪辑·音频格式转换
执念WRD3 小时前
VulnTarget-C 渗透实战:外网入口到域控权限提升
网络·安全·web安全·网络安全
一个有点技术的程序猿3 小时前
局域网中视频采集,颜色空间转换,编码,网络发送,接收,解码,渲染全链路卡顿分析
网络·音视频·视频编解码
移动云开发者联盟3 小时前
移动云携手MiniMax首发MiniMax-H3, AI视频一键成片!
人工智能·音视频
阴雨天xiiii4 小时前
德国慕尼黑国际太阳能展特装展台施工落地方案拆解
大数据·网络
网安小学生(兼顾数据库版)4 小时前
从固件到应用:Mend.io实现SBOM全链路管理
网络
QH139292318804 小时前
Keysight N9918B 手持式综合微波分析仪
网络