萤石 ERTC Windows SDK 包含哪些核心 API 能力?

ERTC SDK API概览-Windows.md

ERTC API概览

ERTCEngine Api简介

方法 说明
初始化
getERtcShareInstance 创建ERTCEngine实例
destroyERtcShareInstance 销毁ERtcEngine实例
initialize 初始化接口
setCallback 设置ERTC事件回调
setAccessToken 设置 ERTC AccessToken
房间管理
enterRoom 加入房间
exitRoom 退出房间
视频管理
startLocalPreview 开启本地摄像头的预览画面
stopLocalPreview 停止摄像头预览
enableSmallVideoStream 开启大小画面双路编码模式
setVideoEncoderParam 设置视频编码器的编码参数
视频订阅
startRemoteView 订阅远端用户的视频流,并绑定视频渲染控件
stopRemoteView 停止订阅远端用户的视频流,并释放渲染控件
setRemoteVideoStreamType 切换指定远端用户的大小画面
muteAllRemoteVideoStreams 暂停/恢复订阅所有远端用户的视频流
音频管理
startLocalAudio 开启本地音频的采集和发布
stopLocalAudio 停止本地音频的采集和发布
enableAudioVolumeEvaluation 启用音量大小提示
屏幕共享管理
startScreenCapture 开始桌面端屏幕分享
stopScreenCapture 停止屏幕分享
getScreenCaptureSources 枚举可分享的屏幕和窗口
网络测试
startSpeedTest 开始进行网速测试
stopSpeedTest 停止网络测试
自定义消息
sendCustomMsg 发送自定义消息
调试相关接口
getSDKVersion 获取 SDK 版本信息
setPlatformAddr 设置 测试 平台地址
setConfigInfo 通用配置(比方质量回调间隔)

Api详情

getERtcShareInstance

创建ERTCEngine实例

ERTC_API static ERtcEngine* getERtcShareInstance();

destroyERtcShareInstance

销毁 ERtcEngine 实例

ERTC_API static void destroyERtcShareInstance();

initialize

初始化

virtual int initialize(const ERTCEngineContext& context) = 0;

setCallback

设置事件回调

virtual void setCallback(ERtcCallback* eventHandler) = 0;

enterRoom

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

virtual int enterRoom(const ERTCParams& param) = 0;

exitRoom

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

virtual void exitRoom() = 0;

startLocalPreview

开启本地摄像头的预览画面。加入房间前调用则加入后自动推流,加入房间后调用则直接推流. 调用后其它用户将收到 onUserVideoAvailable

virtual int startLocalPreview(EView view) = 0;

stopLocalPreview

停止摄像头预览。加入房间前调用则加入后自动推流,加入房间后调用则直接推流. 调用后其它用户将收到 onUserVideoAvailable

virtual void stopLocalPreview() = 0;

startLocalAudio

开启本地音频的采集和发布,调用成功后其它用户将收到 onUserAudioAvailable

virtual void startLocalAudio() = 0;

stopLocalAudio

停止本地音频的采集和发布,调用成功后其它用户将收到 onUserAudioAvailable

virtual void stopLocalAudio() = 0;

setVideoEncoderParam

设置视频编码参数

virtual void setVideoEncoderParam(const ERTCVideoEncParam& param) = 0;

enableSmallVideoStream

开启大小画面双路编码模式,默认开启大码流,如果开启小码流则是大小码流一起推送

virtual void enableSmallVideoStream(bool enable, const ERTCVideoEncParam& smallVideoEncParam) = 0;

enableAudioVolumeEvaluation

启用音量大小提示 开启此功能后,SDK 会 onUserVoiceVolume 回调中反馈远端音频的音量大小 如需打开此功能,请在 enableLocalAudio 之前调用才可以生效

virtual void enableAudioVolumeEvaluation(unsigned int interval) = 0;

说明:interval 设置 onUserVoiceVolume 回调的触发间隔,单位为ms,最小间隔为100ms,如果小于等于 0 则会关闭回调,建议设置为500ms

startScreenCapture

开启屏幕共享

virtual void startScreenCapture(EView view, const ERTCScreenCaptureSourceInfo& source, ERTCVideoEncParam* encParam) = 0;

stopScreenCapture

停止屏幕分享

virtual void stopScreenCapture() = 0;

sendCustomMsg

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

virtual bool sendCustomMsg(const uint8_t* data, uint32_t dataSize) = 0;

说明:待发送的消息,单个消息的最大长度被限制为 1KB

startSpeedTest

开始网络测试

virtual int startSpeedTest(const ERTCSpeedTestParams& params) = 0;

stopSpeedTest

停止网络测试

virtual void stopSpeedTest() = 0;

startRemoteView

订阅远端用户的视频流,并绑定视频渲染控件

virtual void startRemoteView(const char* userId, ERTCVideoStreamType streamType, EView view) = 0;

startRemoteView

停止订阅远端用户的视频流,并释放渲染控件

virtual void stopRemoteView(const char* userId, ERTCVideoStreamType streamType) = 0;

muteAllRemoteVideoStreams

暂停/恢复订阅所有远端用户的视频流

virtual void muteAllRemoteVideoStreams(bool mute) = 0;

getSDKVersion

获取 SDK 版本信息

virtual const char* getSDKVersion() = 0;

setPlatformAddr

设置 测试 平台地址

virtual void setPlatformAddr(const char* addr) = 0;

setConfigInfo

通用配置(比方质量回调间隔)

virtual void setConfigInfo(ERTCConfigKey key, int value) = 0;

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

相关推荐
智者知已应修善业7 小时前
【proteus交通灯故障检测的完善方案】2025-4-29
经验分享·笔记·单片机·嵌入式硬件·proteus
LingzhiPi8 小时前
零知ESP32--RC522NFC考勤打卡系统
c++·单片机·嵌入式硬件
炸膛坦客9 小时前
常见代码问题与解答:(二)因外部晶振频率改变导致 MCU 锁死的原因及处理方法
单片机·嵌入式硬件
ShiMetaPi10 小时前
ShiMetaPi Pico-G1:百元级黑光全彩AI ISP开发板
人工智能·嵌入式硬件·pico·isp
Lzh编程小栈11 小时前
嵌入式深度精讲|STM32引脚全方位底层原理、配置逻辑、硬件规范、高频面试题
c语言·stm32·单片机·嵌入式硬件
AI的探索之旅11 小时前
我把立创EDA接进了本地大模型:数据不出门的AI设计检查实测
人工智能·stm32·硬件工程
ch3nyuyu1 天前
单片机实验2
单片机·嵌入式硬件
mk0151 天前
20V输入,12V 3A输出 效率96%DCDC降压芯片
驱动开发·单片机·硬件工程·智能硬件·pcb工艺
李boyang1 天前
STM32H5_Bootloader与IAP升级机制深度解析
stm32·iap·bootloader
达子6661 天前
Zephyr RTOS 学习系统:第一阶段 —— 入门篇
stm32·单片机·嵌入式硬件