uniapp

2023-04-02 14:31:49

uniapp

uniapp?很多人不了解,今天趣百科为大家带来相关内容,下面为大家带来介绍。

邀请基本流程发起被叫接收呼叫、主叫接收呼叫拒绝通知、主叫接收呼叫、主叫呼叫、执行RTC相关逻辑、被叫接收呼叫、被叫拒绝呼叫、执行RTC60s无操作邀请、呼叫基本流程自动失败、本地采集音视频、通过回调获取远程音视频、初始化RTC实例、加入房间、发布和渲染音视频、渲染远程音视频arcall工具实现demo源地址(https://pic.qubaike.com/pic/2023-04-02/fxucrgro5ks

//rtm实时消息引入constratmmodule=uni . requirement plugin(' ar-RTM module ');初始化uniapp_arcall的邀请是项目启动时登录RTM,所以写在onLaunch,调试时会出现以下错误

//初始化回调以等待RTM module . set callback(RES={ switch(RES . RTM event)} {//SDK与RTM系统的连接状态发生变化。case“onConnectionStateChanged”:中断;//接收到的点对点消息回调case“onpeermessagereceived”3360 break;//已订阅用户的联机状态更改案例“onpeersonlinestatuschanged”3360 break;//返回主叫:被叫方已接受呼叫邀请case ' onlocalizationaccepted ' 3360 break;//返回调用方:调用邀请已取消case ' onlocaltationcancelled ' 3360 break;//返回给调用者:呼叫邀请过程失败案例“on local invitation failure”3360 break;//返回主叫:被叫方已收到呼叫邀请案例‘onlocalizationreceivedtype’3360 break;//返回主叫:被叫方已拒绝呼叫邀请案例“onlocaltationretired”3360 break;//返回被叫方:成功接受呼叫邀请案例‘接受远程邀请’3360 break;//返回被叫方:主叫方取消了呼叫邀请案例“远程邀请取消”3360break//返回被叫方:来自主叫方的呼叫邀请流程失败案例“on remote invitation failure”3360 break;//返回给被叫方:收到呼叫邀请案例“on remote invitation received”3360 break;//返回被叫方:成功拒绝呼叫邀请案例“拒绝远程邀请”3360

break;default:break;}})// 初始化实例await rtmModule.createInstance({"appId": "你的 appid"}, res => {console.log(res);})// 登录 RTM 系统await rtmModule.login({"token": "","userId": "本地用户标识"}, (res) => {console.log("登录 RTM 系统", res);})// // 使用 RTM 呼叫邀请(设置邀请呼叫实例的监听器)await rtmModule.setCallEventListener();主叫查询呼叫用户是否在线rtmModule.queryPeersOnlineStatus({ "peerIds": <"呼叫用户"> }, (res) => { console.log(res); })呼叫用户在线时发起呼叫并订阅发起呼叫 把本地创建的频道房间发送过去rtmModule.sendLocalInvitation({ "calleeId": calleeId, // 被呼叫者的 user ID "content": JSON.stringify(info) // 邀请内容 }, (res) => { resolve(res.code); })订阅(获取对方在线状态) 当结束通话或结束邀请时记得取消订阅

拒绝呼叫rtmModule.refuseRemoteInvitation({"calleeId": userId,"response": JSON.stringify(info) /邀请内容}, (res) => {});接受呼叫rtmModule.acceptRemoteInvitation({"calleeId": calleeId, // 供被叫获取主叫的用户 ID"response": info ? JSON.stringify(info) : "" // 邀请响应}, (res) => {});// 订阅对方在线状态...相关提示相关的提示、逻辑都可通过回调来进行操作

<AR-CanvasView ref="location" style="flex: 1;" />不管是主叫还是被叫,收到接听的回调后就可以进入 RTC 的相关逻辑

Store.remote 与 Store.location 类似

需要更详细,更具体,更全面的代码请前往 demo 源码 地址(https://pic.qubaike.com/pic/2023-04-02/3sazoa2ojj4

注意事项RTM 初始化、RTC 初始化都只需要执行一次,多次执行请杀掉程序RTM 可以在 vue页面, RTC 视频容器必须在 nvue 页面

上一篇

热门阅读