更新记录

1.3.1(2022-01-05)

修复一部分用户登录异常的问题

1.3.0(2022-01-01)

新增功能

  1. 新增多房间功能

同一个用户可以同时加入多个房间,并同时在多个房间内(目前默认最多同时加入 5 个房间)推流、拉流、发送实时消息和接收消息回调。本功能可以隔离多个房间的消息及回调,实现更灵活的连麦业务。ZEGO 推荐用于跨房间连麦和在线教育的超级小班场景。

需要在初始化 SDK 之前,调用 [setRoomMode] 接口,通过 [ZegoRoomMode] 类设置多房间模式,然后调用 [loginRoom] 接口登录多房间。

相关 API 请参考 setRoomMode, loginRoom

问题修复

  1. 修复了 iOS 平台上,移除 zego-view 标签时,原生视图状态没有被重置的问题
查看更多

平台兼容性

Android iOS
适用版本区间:5.0 - 11.0 支持CPU类型:armeabi-v7a,arm64-v8a 适用版本区间:9 - 14

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


ZegoExpressUniAppSDK介绍

即构科技 (ZEGO) 极速音视频 uni-app SDK 是一个基于 ZegoExpressEngine 原生 Android / iOS SDK 的 uni-app Wrapper,提供视频直播以及实时音视频服务。 通过低至 200 ms 的端到端平均时延,业内领先的保障弱网质量的 QoS 策略,并结合强大的 3A 处理能力,完美支持一对多、多对多的实时音视频通话、直播、会议等场景。

了解更多解决方案:https://doc-zh.zego.im/

示例demo

即构提供社交娱乐、在线教育、游戏经济、视频办公、IOT 等多个行业的解决方案,满足不同行业的音视频互动需求。 支持单主播直播、多人连麦直播,此处展示实现连麦基础功能后的效果。

使用方法

注意事项体验APP展示


1、本插件是 uniapp 原生插件,使用前需学习 uniapp 原生插件使用方法,官方教程 uni原生插件使用教程

2、使用视频功能时,页面必须使用.nvue文件构建,因为uniapp的.vue页面在原生端(iOS、android)是用 webview 构建的,不能支持component类型的插件。 详情可参考:https://nativesupport.dcloud.net.cn/NativePlugin/course/ios

申请 ZEGO AppID


登录 ZEGO 官网 注册账号,根据自身实际业务需求选择场景,获取 AppID 与 AppSign,用于初始化 SDK。

创建uniapp项目


使用uniapp官方IDE HBuilder,创建uni-app类型的项目

获取「ZegoExpressEngine」uniapp SDK,并引入工程


在uniapp市场获取本插件,并将插件引入工程

下载「js封装层」代码,并引入工程


下载地址 zego-express-video-uniapp

将以上「js封装层」引入到uniapp项目中

基础使用


初始化引擎

import ZegoExpressEngine from 'zego-express-video-uniapp/lib/ZegoExpressEngine';

import {
    ZegoScenario
} from 'zego-express-video-uniapp/lib/impl/ZegoExpressDefines'

ZegoExpressEngine.createEngine(AppID, AppSign, false, ZegoScenario.General);

登入房间

ZegoExpressEngine.instance().loginRoom(t"room1", { userID: "user_id", userName: "user_name" });

开启音视频通话

在成功登入房间后,可调用 startPreview 开启音视频:

<template>
  <zego-local-view></zego-local-view>
</template>

······

// 需要在登入房间之后才能开启音视频通话
ZegoExpressEngine.instance().startPreview();

将本地视频画面推向云服务

// 推入的streamID由用户设置
let publishStreamID = '123456'
ZegoExpressEngine.instance().startPublishingStream(publishStreamID);

拉取其他用户音视频

登入房间后主动监听 roomStreamUpdate,在收到其他用户推出的音视频流,即可拉取:

<template>
  <zego-remote-view :streamID="playStreamID" ></zego-remote-view>
</template>

······
// 监听 roomStreamUpdate
ZegoExpressEngine.instance().on('roomStreamUpdate', (roomID, updateType, streamList) => {
    this.playStreamID = streamList[0].streamID;
});

······
// 拉取StreamID的音视频
ZegoExpressEngine.instance().startPlayingStream(this.playStreamID); 

退出房间

// 退出房间
ZegoExpressEngine.instance().logoutRoom('room1');

销毁引擎

// 退出房间
ZegoExpressEngine.destroyEngine();

运行


本插件是 uniapp 原生插件,需要使用 uniapp 云打包制作自定义调试基座 ,才能保证正常跑通。 具体可参考 uniapp 官方教程 uni原生插件使用教程

更多功能


1、参考示例源码

2、参考 ZegoExpressUniAppSDK 官方使用文档 https://doc-zh.zego.im/article/7775

示例源码使用


示例源码下载地址

ZegoExpressExample-UniApp

  1. 将Demo导入HBuilderX,修改manifest.json下的AppID(uniapp的AppID)
  2. 修改Demo下./zego-express-video-uniapp/KeyCenter.js 内的AppID、AppSign (从ZEGO官网获取的)
  3. 导入「ZegoExpressEngine」uniapp SDK
  4. 使用uniapp本地打包/云打包,制定自定义基座
  5. 运行

案例

以秀场直播为例,能力上支持实现以下功能,如有需求,请联系下方技术支持咨询: 1、单主播直播:主播创建房间后,进行音视频直播,观众可以进房观看直播; 2、多人连麦直播:主播创建房间后,进行音视频直播,观众可以进房申请连麦互动,适用于一对多视频互动的秀场场景;

3、美颜美型:基于 AI 视觉服务,提供美白、磨皮、锐化、红润等基础的美颜功能,支持大眼、瘦脸、小嘴、亮眼、白牙、瘦鼻等美型效果,打造独特自然的直播效果;

4、音乐音效:支持通过获取正版曲库资源,播放背景音乐,并展示变声混响多种趣味效果。 5、实时消息:通过 ZEGO 即时通讯服务,实时展示房间内的消息,例如发消息、进退房提示、互动通知等; 6、送礼物:用户可向房间内主播或其他指定用户赠送礼物。

更多娱乐、教育、游戏、IOT等行业场景解决方案,请查看官网文档https://doc-zh.zego.im

技术支持

集成过程遇到问题,可微信扫码咨询技术支持专家。

avatar

优惠活动

全线产品 1 折起,可点此了解 ZEGO 官网

隐私、权限声明

1. 本插件需要申请的系统权限列表:

摄像头,录音

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

采集摄像头、麦克风数据 具体可参考 https://doc-zh.zego.im/zh/5416.html

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT License

Copyright (c) 2020 ZEGO

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问