文档中心
ExpressVideoSDK 实时音视频
文档中心
体验 App
SDK 中心
API 中心
常见问题
代码市场
进入控制台
立即注册
登录
中文站 English
  • 文档中心
  • 实时音视频
  • 快速开始
  • 集成 SDK

集成 SDK

更新时间:2025-02-06 17:00

准备环境

在开始集成 ZEGO Express SDK 前,请确保开发环境满足以下要求:

  • 获取 DevEco Studio 5.0.0 Release 或以上版本。
  • 获取配套 API Version 12 Release 的 HarmonyOS 5.0.0 Release SDK 或以上版本。
  • 获取配套 API Version 12 Release 的 HarmonyOS 5.0.0 Release 操作系统或以上版本,支持音视频的鸿蒙设备,且已开启“允许调试”选项。
  • 如果需要使用真机调试,请参考 鸿蒙官网文档 进行配置。
  • 鸿蒙设备已经连接到 Internet。
  • 已 注册华为开发者账号 并完成实名认证。

集成 SDK

若之前已集成 SDK,当前仅需更新 SDK 即可。您需要 Rebuild 工程,以确保工程成功加载最新版本的 SDK。

1 (可选)新建项目

此步骤以如何创建新项目为例,如果是集成到已有项目,可忽略此步。
  1. 打开 DevEco Studio,选择 “File > New > Create Project” 菜单,新建工程。

  2. 选择项目模版为 “Empty Ability”。

  3. 填写您项目名称、设备类型等信息。

  4. 最后单击 “Finish” ,完成新工程创建。

2 导入 SDK

开发者可通过复制 SDK 文件手动集成 SDK。

  1. 请参考 下载 SDK 包 ,下载最新版本的 SDK。

  2. 解压 SDK 至 “entry/libs” 项目目录。如果您的项目中没有 libs 目录,手动新建一个即可。

    /Pics/Express/HarmonyOS_ArkTS/Integration_SDK/ohos_sdk_libs_set.png

  3. 进入 “entry” 目录,打开 “oh-package.json5” 文件,在 “dependencies” 节点中引入 “libs” 下所有的 har,添加 SDK 引用。

    "ZegoExpressEngine": "file:./libs/ZegoExpressEngine.har"

    /Pics/Express/HarmonyOS_ArkTS/Integration_SDK/ohos_sdk_set_position.png

设置权限

根据实际应用需要,设置应用所需权限。

进入 “entry/src/main” 目录,打开 “module.json5” 文件,在 “module” 节点中引入 requestPermissions,添加相关权限。

{
    "requestPermissions": [
      {
        "name": "ohos.permission.MICROPHONE",  // 麦克风权限
        "reason": "$string:app_name",
        "usedScene": {
          "abilities": [
            "EntryAbility"
          ],
          "when": "inuse"
        }
      },
      {
        "name": "ohos.permission.INTERNET",  // 网络权限
        "reason": "$string:app_name",
        "usedScene": {
          "abilities": [
            "EntryAbility"
          ],
          "when": "always"
        }
      },
      {
        "name": "ohos.permission.CAMERA",  // 摄像头权限
        "reason": "$string:app_name",
        "usedScene": {
          "abilities": [
            "EntryAbility"
          ],
          "when": "inuse"
        }
      },
      {
        "name": "ohos.permission.ACCESS_BLUETOOTH",  // 蓝牙权限
        "reason": "$string:app_name",
        "usedScene": {
          "abilities": [
            "EntryAbility"
          ],
          "when": "always"
        }
      },
      {
        "name": "ohos.permission.GET_NETWORK_INFO",  // 网络信息权限
        "reason": "$string:app_name",
        "usedScene": {
          "abilities": [
            "EntryAbility"
          ],
          "when": "always"
        }
      }
    ]
}
  • 鸿蒙系统上,敏感权限基于用户可知可控的原则需动态申请,申请方式参考如下代码。
  • 请确保预览或推拉流前应用已获取摄像头和麦克风权限,否则可能导致无法正常预览或推拉流。
// 首先导入权限相关包
import { AbilityConstant, UIAbility, Want, abilityAccessCtrl, Permissions} from '@kit.AbilityKit';

// 在加载界面完成后进行权限申请或者按需权限申请,可以在 windowStage.loadContent() 中添加以下代码
let atManager = abilityAccessCtrl.createAtManager();
const permissionList: Array<Permissions> = [
    'ohos.permission.INTERNET',
    'ohos.permission.CAMERA',
    'ohos.permission.MEDIA_LOCATION',
    'ohos.permission.MICROPHONE',
    'ohos.permission.READ_MEDIA',
    'ohos.permission.WRITE_MEDIA',
    'ohos.permission.READ_IMAGEVIDEO',
    'ohos.permission.WRITE_IMAGEVIDEO',
    'ohos.permission.GET_NETWORK_INFO',
    'ohos.permission.GET_NETWORK_STATS',
    'ohos.permission.ENTERPRISE_GET_NETWORK_INFO',
    'ohos.permission.ENTERPRISE_MANAGE_NETWORK',
];
atManager.requestPermissionsFromUser(this.context, permissionList).then((data) => {
    console.info('data:' + JSON.stringify(data));
    console.info('data permissions:' + data.permissions);
    console.info('data authResults:' + data.authResults);
}).catch((err: BusinessError) => {
    console.log(`NormalCapturer:createAudioCapturer err code:` + err.code + 'err msg:' + err.message);
    console.log(`NormalCapturer:createAudioCapturer err=${JSON.stringify(err)}`);
});

设置签名

如需运行到真机进行签名,详情请参考 DevEco Studio 使用指南 - 为应用/服务进行签名 设置。

本篇目录
  • 免费试用
  • 提交工单
    咨询集成、功能及报价等问题
    电话咨询
    400 1006 604
    咨询客服
    微信扫码,24h在线

    联系我们

  • 文档反馈