更新记录

1.0.9(2021-11-12)

1.修复安卓退出登录后再次登录次,会多次接收消息的BUG

1.0.8(2021-11-09)

1.修复无法拨打视频的BUG 2.添加回调提示 3.修复账号错乱的BUG

1.0.5(2021-11-08)

1.添加各种事件回调(具体可以打印login方法里的回调函数) 2.修复ios视频界面黑屏的UI 3.android接收消息后台唤起

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 11.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 14

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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原生插件配置”->”云端插件“列表中删除该插件重新选择


插件说明

本插件实现了腾讯云的实时音视频聊天功能

1.项目实现了所有的音视频UI,无需自己编写,只需要引入,登录即可

2.插件只提供3个api,一个是登录,一个是主动拨打电话,一个是退出登录

3.界面展示的账号头像昵称等数据,皆为腾讯云IM(开通音视频功能的要求同步开通)的账号信息,一般来说需要后端处理返回给前端

4.login方法的第二个参数为回调函数,包括’通话结束‘,’通话未回应‘,'登录成功'等等10多种,具体可以自己打印回调函数里的返回值,以下列几种常用的

4.1通话结束
    -onUserCallEnd
        -uid
        -timeCount
4.2通话未回应
    -onNoResp
        -uid
4.3对方忙线
    -onLineBusy
        -uid
4.4通话取消
    -onUserCancelCall
        -uid
4.5对方拒绝
    -onReject
        -uid

使用教程

1.引入插件

const TXRTC = uni.requireNativePlugin("arky-txrtc-main")

2.初始化登录

TXRTC.login(
    {
        appid:腾讯云RTC的用户appid,
        userid:用户ID,
        userSig:"后端返回",
    },
    (res)=>{
        //回调函数,type为腾讯rtc对应的各种事件
        uni.showToast({
            title:res.type + " : " +res.msg + " : " + res.code,
            icon:'none'
        })
    }
)

3.拨打电话

TXRTC.call({
    userid:用户ID,
    type:2,
})

type 1.语音聊天 2.视频聊天

4.退出登录

TXRTC.logout()

退出登录防止多次登录造成的多次被动接听的BUG

完整代码

<template>
    <view class="content">
        <input class="inp" v-model="userid"/>

        <view>
            <button @click="connect()">Connect</button>
            <button @click="dial()">Dial</button>
        </view>
    </view>
</template>

<script>
    const TXRTC = uni.requireNativePlugin("arky-txrtc-main")
    const APPID = 14005764215
    export default {
        data() {
            return {
                userid:'104'
            }
        },
        onLoad() {

        },
        methods: {
            connect(){
                TXRTC.login(
                    {
                        appid:APPID,
                        userid:this.userid,
                        userSig:"ssdfljklj423423klskdf",//userSig = id(104)
                    },
                    (res)=>{
                        //success
                        uni.showToast({
                            title:res.type + " : " +res.msg + " : " + res.code,
                            icon:'none'
                        })
                        this.userid = ""
                    }
                )
            },
            dial(){
                TXRTC.call({
                    userid:this.userid,
                    type:2,
                })
            }
        }
    }
</script>

<style>
    .content {
        width: 100vw;
        height: 100vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .inp{
        border: 1px solid #333;
        font-size: 20px;
        padding: 10px;
        width: 300px;
    }

</style>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

安卓需要权限 "android.permission.WAKE_LOCK", "android.permission.INTERNET", "android.permission.ACCESS_NETWORK_STATE", "android.permission.ACCESS_WIFI_STATE", "android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.READ_EXTERNAL_STORAGE", "android.permission.RECORD_AUDIO", "android.permission.MODIFY_AUDIO_SETTINGS", "android.permission.BLUETOOTH", "android.permission.CAMERA", "android.permission.READ_PHONE_STATE", "android.hardware.camera", "android.hardware.camera.autofocus", "android.permission.VIBRATE", "android.permission.FLASHLIGHT" "android.permission.REORDER_TASKS" IOS需要权限 "NSCameraUsageDescription", "NSMicrophoneUsageDescription"

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

作者未提供license.md

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问