引入组件
引入 ar-call 组件,实现点对点电话。
组件地址:
https://docs.anyrtc.io/v1/CALL/web.html
兼容情况
- Chrome、Firefox、safari 11(以上)等,具体使用webRTC检测工具
- H5支持chrome内核。
1、使用 npm 命令安装 ar-call
在 uni-app 项目的根目录
,执行 npm 命令:
npm install ar-call --save-dev
# 安装或更新至最新版本
npm install ar-call@latest --save-dev
2、在 vue 文件 引入 ar-call
import ArCall from 'ar-call';
3、使用指南
3.1、实例化对象
options为实例配置,包括自定义数据、码率自适应是否开启、日志级别等。
let options = {};
let call = new ArCall(options);
3.2、监听回调
//上线成功回调
call.on("online-success", () => {
});
//上线失败回调
//根据code码查询错误原因
call.on("online-failed", (errCode) => {
});
//收到通话请求
call.on("make-call", (roomId, peerUserId, callMode, peerUserData, callExtend) => {
});
//其他人视频显示窗口
//对方(或己方)同意视频通话请求后,会收到此回调,收到后需要将`mediaRender`添加展示到页面上。
call.on("stream-subscribed", (peerUserId, pubId, rtcUserData, mediaRender) => {
});
//其他人离开移除视频显示窗口
call.on("stream-unsubscribed", (peerUserId, pubId, userId, rtcUserData) => {
});
//收到挂断或者下线
call.on("end-call", (peerUserId, errCode) => {
});
3.3、配置开发者信息
配置开发者信息,开发者信息可在anyRTC管理后台中获得,详见创建anyRTC账号。
//配置开发者信息
call.initAppInfo(APP_ID, APP_TOKEN);
//配置私有云(默认无需配置)
//call.configServer(SERVE_URL);
3、最终伪代码如下:
<script>
import ArCall from 'ar-call';
export default {
data() {
return {
rtcp : null
}
},
onLoad() {
this.rtcp = new ArRTCPKit ({
videoProfile: 'ARVideoProfile480P', // 视频分辨率,发布媒体流的类型为音视频时才成效
logLevel : 'error', //打印日志级别: info、warning、error
userId : '', //自定义用户ID
userData : {}, //自定义用户数据,推荐JSON字符串
autoBitrate : true //是否开启码流自适应
});
},
methods: {
}
}
</script>
作者:Jeebiz 创建时间:2023-02-25 01:40
最后编辑:Jeebiz 更新时间:2023-02-25 01:45
最后编辑:Jeebiz 更新时间:2023-02-25 01:45