android打电话录音软件,Android uni-app实现音视频通话
前言
上一篇讲解了怎么实现Android uni-app封装原生插件,这篇讲解一下,把anyRTC的RTC(音视频通讯)封装uni-app 实现音视频通话。
不了解anyRTC的小伙伴,可以点击下面链接:
1.效果图
先上图,后讲解!
1.1 首页
1.2 游客界面
1.3 主播界面
2.GitHub地址
uni-app demo: 点击下载
3.demo下载:
下载地址:点击下载
扫码下载:
4.代码
4.1 集成插件
const RtcModule = uni.requireNativePlugin('AR-RtcModule');
AR-RtcModule:插件名称,首页集成插件
4.2 初始事件回调
//callback 接收
callbackFn() {
RtcModule.setCallBack((res) => {
switch (res.engineEvent) {
case "onWarning":
this.promptFn("warn", res.warningCode);
break;
case "onError":
res.errorCode != 18 ? this.promptFn("error", res.errorCode) : '';
break;
case "onJoinChannelSuccess": //用户加入成功
uni.hideLoading();
this.role == 1 ? this.PeerVideoUser.push(res.uid) : "";
this.videoShow = true;
setTimeout(() => {
// this.videoShowBg = false;
this.promptText = ""
//扬声器
RtcModule.setEnableSpeakerphone({
"enabled": true
}, (res) => {})
setTimeout(() => {
// 启用视频模块。
this.role == 1 ? this.setupLocalVideoFn() : RtcModule.enableVideo((res) => {});
}, 200)
}, 2000)
break;
case "onLeaveChannel": //离开频道回调
setTimeout(() => {
this.closeAll()
}, 500)
break;
case "onUserJoined": //远端用户加入当前频道回调。
// this.promptFn("info", "远端用户加入当前频道回调");
this.PeerVideoUser.push(res.uid);
break;
case "onUserOffline": //远端用户离开当前频道回调。
this.PeerVideoUser = this.PeerVideoUser.filter((x) => x !== res.uid);
break;
case "onFirstLocalAudioFrame": //已发送本地音频首帧的回调。(页面上添加音频)
break;
case "onFirstLocalVideoFrame": //已显示本地视频首帧的回调。(页面添加本地视频)
// this.promptFn("error", "已显示本地视频首帧的回调");
break;
case "onFirstRemoteVideoDecoded": //已完成远端视频首帧解码回调。(页面添加远端视频)
// this.promptFn("info", "已完成远端视频首帧解码回调");
this.promptText = "请稍等。。。"
let uid = []
uid.push(res.uid)
setTimeout(() => {
this.promptText = "";
// this.videoShowBg = false; //设置背景开关
setTimeout(() => {
uid.map(item => {
this.$refs[`popup${item}`][0].setupRemoteVideo({
"renderMode": 1,
"channelId": this.chanel,
"uid": item,
"mirrorMode": 0
}, (res) => {})
//预览
RtcModule.startPreview((res) => {});
})
}, 500)
}, 2000)
break;
}
})
},
res.engineEvent:接收各种回调,加入频道成功,离开频道,错误码等。
4.3 创建实例
await RtcModule.create({
"appId": this.appid //anyRTC 为 App 开发者签发的 App ID。每个项目都应该有一个独一无二的 App ID。如果你的开发包里没有 App ID,请从anyRTC官网(https://www.anyrtc.io)申请一个新的 App ID
}, (res) => {});
4.4 设置角色
setClientRole(num) {
this.role = num;
//设置直播场景下的用户角色
RtcModule.setClientRole({
"role": Number(num) //1:为主播,2:游客
}, (ret) => {});
},
4.5 加入频道
await RtcModule.joinChannel({
"token": "",
"channelId": this.channel,
"uid": this.uid
}, (res) => {})
token: 注册不开启token验证,可以为空着。
channelId: 你需要加入的频道ID。
uid: 每个用户分配唯一UID,不能重复。
4.6 离开销毁
RtcModule.leaveChannel((res) => {}); //离开频道
RtcModule.destroyRtc((res) => {}); //销毁频道
5.总结
基本重要的接口,在这里就基本上介绍完啦,如果大家还有什么疑问,可以在评论区留言!
作者:anyRTC-东慕雨
android打电话录音软件,Android uni-app实现音视频通话相关推荐
- android 动态录音权限,Android如何判断手机是否有录音权限的工具类
作用 判断手机是否有录音权限的工具类,兼容6.0以上以及以下android系统 测试环境 这篇文章是评论中的网友提出质疑后,经过重写修改与重写测试后编写的,我的调试环境是小米note3,Android ...
- android蓝牙耳机录音播放,android蓝牙耳机录音并播放(二)
Github下载 package com.example.superb.yy4; import android.content.Context; import android.media.AudioF ...
- android 实时录音播放,android 使用 audiorecord 和 audiotrack 实现实时录音播放
基本思路就是用 audiorecord不断得到音频数据,然后使用audiotrack 播放 //得到音频 package com.ysg.audiotest; import java.io.IOExc ...
- 基于android的个人理财软件 android stu_Android聊天软件开发(基于网易云IM即时通讯)——注册账号(二)...
OKhttp封装 IRequest package heath.com.chat.OKhttp;import java.util.Map;public interface IRequest {publ ...
- android 系统清理软件,Android软件大比拼:系统清理选择谁?
[IT168厂商动态]近日,IDC在报告中指出,谷歌Android系统市场份额已接近80%.特别是在中国市场,大量千元以内Android手机的推出,加速了智能手机的快速普及.Android手机也成为用 ...
- android 第三方加密软件,Android实用图文教程之代码混淆、第三方平台加固加密、渠道分发...
第一步:代码混淆(注意引入的第三方jar) 在新版本的ADT创建项目时,混码的文件不再是proguard.cfg,而是project.properties和proguard-project.txt. ...
- android通知栏自定义软件,android实现通知栏下载更新app示例
1.设计思路,使用VersionCode定义为版本升级参数. android为我们定义版本提供了2个属性: android:versionCode="1" android:vers ...
- android屏幕广播软件,广西视听app下载 广西视听(广西广播电视台手机客户端) for Android v2.2.0 安卓手机版 下载-脚本之家...
广西视听app是一款适用于安卓手机端的广西广播电视台手机客户端,包括新闻.广播电视节目直播.生活服务.影视点播等精彩内容,一网打尽广西广播电视台所有频率频道节目.感兴趣的朋友快来下载使用吧. 软件亮点 ...
- android 屏幕管理软件,Android Screencast下载
Android Screencast旨在将您的Android手机或平板电脑的屏幕活动记录到视频中.创建教程,将你的游戏记录到高清视频中,准备在网络上共享.屏幕录像机使用方便,输出设置为比特率,视频大小 ...
- android ppt 注释软件,Android版WPS Office 5.5.2 发布 PPT悬浮备注框全面增强
5月15日,金山宣布Android 版WPS Office 5.5.2 发布.本次更新对演示文档备注显示.PDF文档快速阅读及文档管理进行了优化.新版本Android 版WPS Office 将与安卓 ...
最新文章
- 静态路由与配置 知识点
- 成功解决xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b‘Debug is
- 英语语法---句子成分总结
- Tomact和MySql搭建android简单服务器
- mysql四种事务隔离级别
- Cant get connection to Zookeeper
- android 绕过root检测,公主连结怎么绕过root检测 绕过root检测方法一览
- Try Redis : Redis 入门教程
- python3怎么使用pyrex_用户指南 - Cython 和 Pyrex 之间的区别 - 《Cython 3.0 中文文档》 - 书栈网 · BookStack...
- AD转换中参考电压的作用 .
- mysql mvcc机制rc_Mysql中MVCC的使用及原理
- 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明),签到题HIL
- iOS使用多线程提高数据并发访问 之三
- 推荐几个Mac系统桌面吸色工具!颜色吸取器
- 树莓派 USB摄像头
- 计算机网络读书笔记DAY4(3)
- Python爬虫之小猪短租房
- 【培训版】《最强大脑记忆力训练教程》[2017年7月份更新]
- 大内高手 内存管理器
- EntityComponentSystemSamples学习笔记