uniapp如何实现音视频通话

2022-11-25 0 1,103

Uni-app是 DCloud 非官方面世的两个采用 Vue.js 合作开发大部份后端应用领域的架构。合作开发人员透过撰写Vue.js标识符,uniapp将其校对到iOS、Android、QQ小流程等数个网络平台,确保其恰当运转并达至杰出新体验。

在此之后,ZEGO即构重要信息技术面世uni-app网络平台的Express原生植物应用领域流程,可全力支持 iOS 和 Android,借以满足用户顾客的市场需求,但即使JavaScript USB的弱类别物理性质这类对顾客采用没所以亲善,减少了手忙脚乱的良机,因而即构展开了强化,对USB展开全面性的TypeScript解构,面世了1.0.0 测试版,它有完整的类别束缚,全力支持Promise,使USB更为明晰功能强大。

ZEGO Express UniApp SDK主要就包涵的机能模块主要就包括此基础的动态音频机能、常见音频实用性、卧室动态最新消息、固定式流重要信息监控、标识符标准与多层标识符、应用领域软件、网络流量掌控等,在为数众多机能中,动态音频收发机能是怎样同时实现的?上面给我们看一看具体内容的同时实现业务流程。

uniapp如何实现音视频通话

一、预备组织工作

ZEGO合作开发人员帐户(透过ZEGO官方网站注册登记)

HBuilderX 3.0.5及以内

iOS 9.0及以内

Android 4.1及以内

iOS/Android真机(或全力支持音频的工具包)

二、怎样加速网络连接

1.提出申请 ZEGO AppID

2.建立uni-app 工程项目

采用uni-app非官方IDE HBuilder,建立 uni-app 类别工程项目。

并将应用领域流程引入工程

4.下载「js封装层」标识符,并引入工程

ZEGO 提供 uni-app js封装层USB,统一iOS、Android两端原生植物SDKUSB,免去了在原生植物与后端之间来回跳转,合作开发人员只需要有 js 技术栈,即可合作开发各网络平台音频应用领域,给中小企业加速低成本网络连接。

下载地址

http://storage.zego.im/express/video/uniapp/zego-express-video-uniapp.zip

将以内「js封装层」引入到uniapp工程项目

三、此基础固定式流机能同时实现

(一)初始化引擎

1.import ZegoExpressEngine from

zego-express-video-uniapp/lib/ZegoExpressEngine;

2.import {

3. ZegoScenario

4.}fromzego-express-video-uniapp/lib/impl/ZegoExpressDefines

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

(二)登入卧室

1.ZegoExpressEngine.instance().loginRoom(t”room1″, { userID: “user_id”, userName: “user_name” });

(三)开启音频通话

在成功登入卧室后,可调用startPreview 开启音频:

1.

2.

3.

4.······

5.//需要在登入卧室之后才能开启音频收发

6.ZegoExpressEngine.instance().startPreview();

(四)将本地音频画面推向云服务

1.// 推入的streamID由用户设置

2.let publishStreamID = Publish-Stream-1;

ZegoExpressEngine.instance().startPublishingStream(publishStreamID);

(五)拉取其他用户音频

登入卧室后主动监听 roomStreamUpdate,在收到其他用户面世的音频流,即可拉取:

1.

2.

3.

4.······

5.//监听 roomStreamUpdate

6.ZegoExpressEngine.instance().on(roomStreamUpdate,(roomID,updateType, streamList) => {

7. this.playStreamID = streamList[0].streamID;

8.});

9.······

10.// 拉取StreamID的音频

11.ZegoExpressEngine.instance().startPlayingStream(this.playStreamID);

(六)退出卧室

1.// 退出卧室

2.ZegoExpressEngine.instance().logoutRoom(room1);

(七)销毁引擎

1.// 退出卧室

2.ZegoExpressEngine.destroyEngine();

透过以内方式,就可以灵活采用ZEGO Express SDK了,进而使uni-app具备出色的此基础音频收发能力。更多进阶机能请参考ZEGO非官方文档和示例源码。

注意事项:

1.开启音频收发需要在uniapp工程中的manifest.json提出申请麦克风和相机权限实用性;

2.采用音频机能时,页面必须采用.nvue文件构建,即使uniapp的.vue页面在原生植物端(iOS、android)是用 webview 构建的,不能全力支持component类别的应用领域流程。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务