Skip to main content
本页记录 Windows SMeeting SDK 各版本的主要变更。可通过 SMeetingEngine_Version 获取当前 SDK 版本。

1.0.0-alpha.7 - 2026-09-29

添加
  • SMeeting_C C 接口正式可用:SMeeting_C.cpp / SMeetingEngineGlobal.cpp 重新编入 SMeeting.vcxproj,SMeeting.dll 现在真正导出 SMeetingEngine_* 系列 C 函数 (x86 导出符号由 3 个增至 139 个)。在此之前该 wrapper 被排除在工程外, 包里的 dll 并不包含这些符号。
修改
  • SMeeting_C 内部实现移植到引擎级 / 会议级拆分后的接口,不再沿用拆分前的单会议写法, 与 1.0.0-alpha.5 起的 ISMeetingEngine / ISMeetingChannel 结构保持一致
API 变更
  • C++:无。SMeeting.h / SMeeting_def.h 没有任何签名改动,ISMeetingEngine / ISMeetingChannel 的 vtable 未变,不存在 ABI 破坏。
  • C:SMeeting_C.h 的函数声明无改动(本次只更新了文件顶部注释)。但因 C wrapper 这次才真正编入 dll,SMeeting.lib 会新增 C 导出符号,使用 C 接口的工程需重新链接。
  • 包内容不变:meeting_dll/include/ 仍只有 SMeeting.h / SMeeting_def.h, SMeeting_C.h 不在包内,使用 C 接口仍需另行索取头文件。

1.0.0-alpha.6 - 2026-09-24

添加
  • 新增 x64(64 位)包,Windows 交付改为 x86 + x64 双包:
    • meeting-win-sdk-2.0.zip(x86,32 位)—— 包名与之前完全一致
    • meeting-win-sdk-x64-2.0.zip(x64,64 位)—— 新增,包名是在版本号前面多一段 -x64
    两个包内部结构相同(根目录都是 meeting_dll/),但 SMeeting.dll / SMeeting.lib 的位数不同,不能混用、也不要解压到同一个目录,请按工程的目标平台选对应的包。 下载地址见集成。
  • 依赖库按架构拆分为 lib/<库>/lib/win32 与 lib/<库>/lib/win64 两套
修改
  • x64 工程配置修正:输出类型从 Application 改为 DynamicLibrary,补上 x64 自己的包含目录 与库目录(指向 lib/*/lib/win64),产物输出到 Release_x64
  • 升级底层 curl:libcurl 换用新版头文件与导入库,并新增 zlib 依赖(zlib1.dll)
  • jsoncpp 导入库由 jsoncpp_static.lib 改名为 jsoncpp.lib,并按 win32 / win64 分目录
  • 移除不再使用的 pthread 依赖;底层音视频库同步刷新,bin 不再包含 DenModule.dll、 rtp.dll、zlib.dll,改用 zlib1.dll
  • 统一源码与头文件编码为 UTF-8 with BOM,并新增 .editorconfig 约束 —— 修复 SMeeting_def.h 等文件中文注释在 GBK 环境下的 C4819 警告与乱码隐患
修复
  • 修正 4 处 jsoncpp 数组遍历:索引类型由 size_t 改为 Json::Value::ArrayIndex, 避免 64 位编译下的类型不匹配
API 变更 无。SMeeting.h / SMeeting_def.h / SMeeting_C.h 本次只有编码变化,没有任何签名改动, vtable 未变,不存在 ABI 破坏。按快速开始的通用约定, 升级 SDK 后仍建议重新编译业务工程。

1.0.0-alpha.5 - 2026-08-21

添加
  • 新增 ISMeetingChannel 会议对象,一个会议对应一个 channel。
  • 新增 ISMeetingChannelEvent 会议级事件回调。
  • 新增 ISMeetingChannelSetting 会议级配置对象。
  • 内部新增 SRTCChannelControl 封装每个 SRTC::IRTCChannel 及其媒体对象。
修改
  • ISMeetingEngine 缩减为引擎级接口:登录、会议管理 HTTP 接口、设备枚举、IM、资源盘、channel 生命周期。
  • 入会改为两步:createChannel / createChannelByMeetingId 只建对象,ISMeetingChannel::enter() 才真正入会。
  • ISMeetingSetting 只保留 sdk_log_path / enable_stream_log;其余设置项移到 ISMeetingChannelSetting。
  • 等候室自动重新入会时保持 channelId 不变,leaveChannel 仍按原 key 回收。
修复
  • adminDestroyRoom 现在会正确调用 leaveChannel 离开 rtc 频道。
  • 登录前调用设备枚举时按需惰性初始化 rtc 引擎。
API 变更(不兼容,使用方必须重新编译)
  • 删除 ISMeetingEngine::enterRoom、enterRoomByMeetingId、exitRoom;改用 createChannel + ISMeetingChannel::enter() + leaveChannel。
  • 删除 ISMeetingEngine::exitWaitRoom(roomno, meeting_id, back);改用 ISMeetingChannel::exitWaitRoom(back)。
  • 以下方法从 ISMeetingEngine 移到 ISMeetingChannel: admin*、updateName、聊天/举手、getMe / getRoom / getMembers / getMember / getOpt、 getLocalMic / getLocalCamera / getLocalScreen / getRemoteVideo / getRemoteAudio / getMcuVideo、 getCustomVideo / getCustomAudio / setCustomRecvBack、分组讨论 *SubMeeting、 mcu*、签到 signin*、getLocalRecord。
  • getLocalRecord(mid, &rec) 改为 getLocalRecord(&rec),mid 使用 channel 自身会议 ID。
  • 会议级回调全部移除 roomno 首参;onAdminConfirmHandup 首参改为 uid。
  • onDeviceStatusChange / onShareTargetNotFind 从引擎回调移到 ISMeetingChannelEvent。
  • 纯虚接口签名变动会改变 vtable,只替换 dll 不重编工程会崩溃。