更新记录
1.0.8(2024-02-07)
增加是否兼容h5设置
1.0.7(2023-10-08)
增加结束通话函数
1.0.6(2023-04-21)
视频逻辑优化,解决有时无法回调结果到Uniapp的bug
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 12.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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原生插件配置”->”云端插件“列表中删除该插件重新选择
阿里云音视频安卓原生插件 封装。 https://help.aliyun.com/document_detail/74889.html
-
支持Android平台使用
-
插件提供的函数
序号 函数名 说明 1 startVideoCall(String json) 发起 或 加入视频通话 2 startVoiceCall(String json) 发起 或 加入语音通话 3 addRliRtcCallback(callback) 结果回调函数 4 hangUp() 挂断函数,即结束通话 -
函数说明
-
(1) startVideoCall(String json) 该函数为调用视频通话(发起/加入视频通话) :
参数json:参数为json格式字符串,示例如下:
{
appId: "",//你的阿里云app id
appKey: "",//你的阿里云app key
channelId: "",//
userId: “”,//
nonce: "",//
token: "",
timestamp: "",
userName:"",//用户名
avatar:"",//用户头像地址
H5CompatibleMode:true //设置是否兼容H5,取值:true/false
}
参数中除userName、avatar之外,其余参数参照如下规则: 参数说明图
该函数使用示例:
let timestamp = new Date().getTime()
var module = uni.requireNativePlugin("jushi-ali-rtc")
module.startVoiceCall(JSON.stringify({
appId: "",
appKey: "",
channelId: "jushi_123",
userId: this.userId,
nonce: "AK-2b9be4b25c2kkk",
token: this.getToken(timestamp),
timestamp: timestamp,
userName:'用户名',
avatar:'https://img-blog.csdnimg.cn',
H5CompatibleMode:true //设置是否兼容H5,取值:true/false
}))
- (2) startVoiceCall(String json) 该函数为调用语音通话(发起/加入语音通话)**
参数json:参数为json格式字符串,参数格式与(1) startVideoCall(String json)一致。
该函数使用示例也与(1) startVideoCall(String json)一致。
-
(3) addRliRtcCallback(callback)结果回调函数,插件返回的结果都从该函数返回
使用示例: var module = uni.requireNativePlugin("jushi-ali-rtc") module.addRliRtcCallback(res=>{ console.log(res) }) 返回结果示例: {"ali_rtc_message":"","code":-5,"message":"通话结束"}
-
回调函数code值说明
序号 code值 说明 1 1 加入频道 2 0 对方上线 3 -1 对方离线 4 -2 对方关闭相机流采集 5 -3 离开频道 6 -4 发生错误 7 -5 自己主动挂断 -
插件使用简易流程
-
使用示例
<template> <view class=""> <button @click="videoCall()">视频通话</button> <button @click="voiceCall()">语音通话</button> <input type="text" value="" placeholder-class="p-class" placeholder="输入user id" v-model="userId"/> </view> </template> <script> export default { data() { return { userId:'' } }, methods: { videoCall() { if(this.userId.length==0){ this.toast('请先输入user id') return } let timestamp = new Date().getTime() var module = uni.requireNativePlugin("jushi-ali-rtc") module.addRliRtcCallback(res=>{ console.log(res) }) module.startVideoCall(JSON.stringify({ appId: "你在阿里云音视频申请的appId", appKey: "你在阿里云音视频申请的appkey", channelId: "jushi_123",//频道ID(用户自定义),发起方用于发起视频通话,即接收方和发起方的值一样 userId: this.userId,//用户ID,接收方和发起方是不同的值 nonce: "",//随机码,以AK-开头,由大小写字母、数字组成,最大64字节,示例:AK-2b9be4b25c2d38c409c376ffd2372be1 token: this.getToken(timestamp),//appId + appKey + channelId + userId + nonce + timestamp timestamp: timestamp, userName:'栗山居士', avatar:'https://img-blog.csdnimg.cn/a54887b43f6c40df81d9221d44eb4320.png#pic_center', H5CompatibleMode:true //设置是否兼容H5,取值:true/false })) }, voiceCall() { if(this.userId.length==0){ this.toast('请先输入user id') return } let timestamp = new Date().getTime() var module = uni.requireNativePlugin("jushi-ali-rtc") module.addRliRtcCallback(res=>{ console.log(res) }) module.startVoiceCall(JSON.stringify({ appId: "你在阿里云音视频申请的appId", appKey: "你在阿里云音视频申请的appkey", channelId: "jushi_123",//频道ID(用户自定义),发起方用于发起音频通话,即接收方和发起方的值一样 userId: this.userId,//用户ID,接收方和发起方是不同的值 nonce: "",//随机码,以AK-开头,由大小写字母、数字组成,最大64字节,示例:AK-2b9be4b25c2d38c409c376ffd2372be1 token: this.getToken(timestamp),//appId + appKey + channelId + userId + nonce + timestamp timestamp: timestamp, userName:'栗山居士', avatar:'https://img-blog.csdnimg.cn/a54887b43f6c40df81d9221d44eb4320.png#pic_center', H5CompatibleMode:true //设置是否兼容H5,取值:true/false })) } } } </script> <style> .text-area { display: flex; justify-content: center; } button { margin: 20rpx; } input{ font-size: 32rpx; color: #FFFFFF; } .p-class{ font-size: 32rpx; color: #FFFFFF; } </style>
-
示例应用下载
其它插件
安卓原生插件
-
UTS插件
-
前端插件