Skip to main content
SMeeting HarmonyOS SDK 是一套 HAR(静态共享包)形态的原生会议 SDK,对外模块名为 smeeting,当前支持:
  • HarmonyOS 5.0.0(API 12)及以上
  • DevEco Studio 5.0 及以上
  • ArkTS(Stage 模型)
  • 仅 arm64-v8a
SMeeting 依赖 SRTC,两个 HAR 都必须引入。HarmonyOS 的 HAR 没有依赖传递性,SMeeting 把 srtc 声明为 peerDependencies,需要由你的工程提供。只声明 smeeting 会在 ohpm install 阶段报缺少 srtc
视频编码只有硬编,没有软编兜底,所以视频功能必须在真机上验证。视频预设统一使用 H264,底层只走设备硬件编解码器。模拟器上建不出编码器;而在缺少 H264 硬编能力的真机上,SDK 不报错而是静默退回 VP8,表现为”本机能看到画面,但和其它端互通不上”。自测时请确认实际协商到的编码格式。

获取 HAR

两个包都从制品仓下载:
放进模块的 libs/ 目录,去掉文件名里的 -harmony
两个 SDK 独立编号,版本号不需要对齐。当前 SMeeting 1.0.0 依赖 SRTC 1.0.0。升级 SMeeting 时请按本页说明确认它对应的 SRTC 版本。

声明依赖

在模块的 oh-package.json5同时声明两个包:
然后执行:
底层依赖的 @ohos/webrtc@ohos/mqtt 会由 ohpm 从 OpenHarmony 三方库中心仓 自动安装。
HarmonyOS 的 ohpm 没有按 Git tag 解析版本的机制,SDK 通过 file: 路径直接引用具体的 HAR 文件。因此升级需要手动替换 libs/ 下的文件并同步修改上面的版本号

权限配置

在模块的 src/main/module.json5 中声明:
摄像头与麦克风是 user_grant 权限,还必须在运行时主动申请:

初始化

UIAbilityonCreate 中把 Context 交给底层的 SRTC:
这一步不要跳过。 摄像头档位查询需要 Context,而 HAR 形态的库拿不到宿主的 Context。不调用也能跑通,但摄像头分辨率会退化为”由底层自行吸附档位”,你设定的预设不再生效。

导入 SDK


最小接入检查清单

  • libs/ 下已放入两个 HAR,oh-package.json5 已同时声明 smeetingsrtc
  • ohpm install 已执行且无报错
  • module.json5 已声明 INTERNET / CAMERA / MICROPHONE
  • 运行时已申请摄像头与麦克风权限
  • UIAbility.onCreate 中已调用 SRTC.init(this.context)
  • 业务后端已能签发会议 Token
  • 手上有一台 arm64-v8a 真机
完成以上步骤后,可以继续阅读 快速开始