实时音视频
  • 平台类型
  • 框架 / 引擎

初始化

更新时间:2020-06-11 21:29

1 功能简介

集成 SDK 完成后,要想使用 SDK 的功能,需要先 创建引擎 Engine ,再进一步调用 Engine 提供的各项 API。

2 使用步骤

2.1 申请 AppID 与 AppSign

请在 即构管理控制台 申请创建引擎需要的 AppID 和 AppSign,如何申请请查看 获取 AppID 和 AppSign 指引

2.2 创建/销毁 Engine

  • 接口原型:
    /**
     * 创建引擎单例对象
     *
     * 在调用其他 API 前需要先创建并初始化引擎;SDK 只支持创建一个 ZegoExpressEngine 实例,多次调用此接口返回的都是同一个对象。
     * @param appID ZEGO 为开发者签发的应用 ID,请从ZEGO 管理控制台 https://console-express.zego.im/ 申请,取值范围为 0~4294967295。
     * @param appSign 每个 AppID 对应的应用签名,请从 ZEGO 管理控制台申请。为 64 字符的字符串。每个字符范围为'0'~'9', 'a'~'z'。
     * @param isTestEnv 选择使用测试环境还是正式商用环境,正式环境需要在 ZEGO 管理控制台提交工单配置。测试环境为测试开发用,限制房间数为 30,用户数为 230。正式环境 App 正式上线用,ZEGO 会根据开发者在管理控制台提交的配置记录提供相应的服务资源。测试环境与正式环境是两套环境,不可互通。
     * @param scenario 所属的应用场景,开发者可根据所开发的 App 的场景选择其中一个,引擎会通过所设置的场景预设置一个针对具体场景的较为通用的设置。当设置具体场景后,开发者若有定制化参数设置,依然可以调用具体接口来设置具体参数。
     * @param application 安卓应用上下文
     * @param eventHandler 事件通知回调。传 [null] 则意味着不接收任何回调通知。之后也可通过 [setEventHandler] 进行设置
     * @return 引擎单例对象
     */
    public static ZegoExpressEngine createEngine(long appID, String appSign, boolean isTestEnv, ZegoScenario scenario, Application application, IZegoEventHandler eventHandler);
    /**
     * 异步销毁引擎单例对象
     *
     * 用于释放 ZegoExpressEngine 使用的资源。
     * @param callback 销毁引擎完成的通知回调,可监听此回调以确保设备硬件资源被释放完成。本回调只作为引擎内部资源释放完成的通知,开发者不可以在此回调内释放与引擎相关的资源。若开发者只使用 ZegoExpressEngine 来实现音视频功能,该参数可传 [null]。
     */
    public static void destroyEngine(IZegoDestroyCompletionCallback callback);
  • 调用示例:
/** 定义 SDK 引擎对象 */
ZegoExpressEngine engine;

/** 填写 appID 和 appSign */
long appID = ;  // 请通过官网注册获取,格式为 123456789L
String appSign = ;  //64个字符,请通过官网注册获取,格式为"0123456789012345678901234567890123456789012345678901234567890123"

/** 初始化SDK,使用测试环境,通用场景接入 */
engine = ZegoExpressEngine.createEngine(appID, appSign, true, ZegoScenario.GENERAL, getApplication(), null);
/** 销毁 SDK */
ZegoExpressEngine.destroyEngine(null);

2.3 关注事件回调

可以根据场景需要,在初始化后监听想要关注的事件通知,比如远端用户加入房间,设备异常事件,音视频首帧等。

  • 接口原型:
    /**
     * 设置事件通知回调。传 [null] 则清空已设置的回调。
     *
     * 调用此接口将覆盖 [createEngine] 时传入的回调
     * @param eventHandler 事件通知回调。开发者应根据自身业务场景,重写回调的相关方法以关注特定的通知。
     */
    public void setEventHandler(IZegoEventHandler eventHandler);
  • 调用示例:
engine.setEventHandler(new IZegoEventHandler() {
      /** 举例:监听房间内用户进出房间的通知 */
      @Override
      public void onRoomUserUpdate(String roomID, ZegoUpdateType updateType, ArrayList<ZegoUser> userList) {
             //....
      }
      /** 根据需要重载其他的事件回调 */
      //@Override
      //....
});

创建引擎错误码

注意:

IZegoEventHandler 中包含了 SDK 的主要功能事件的回调接口,不需要实现所有的回调接口,根据实际需要 override 其中的某些回调接口。

3 API 参考列表

方法 描述
createEngine 创建引擎
destroyEngine 销毁引擎
getVersion 获取 SDK 版本号
setDebugVerbose 打开调试信息开关

4 相关文档

完成了创建引擎的操作后,需要依次完成如下功能来实现基础的通话或者直播。