更新记录

0.8.1(2021-03-15)

修改隐私权限说明


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 11.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 ×

原生插件通用使用流程:

  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原生插件配置”->”云端插件“列表中删除该插件重新选择


腾讯云视频语音通话

接入腾讯云TRTC服务, 可以实现视频语音通话, 支持视频通话和语音通话, 适用多人、双人视频语音模式、直播, 网络会议、在线医疗、视频客服、金融双录等场景。

快速开始

开通腾讯云RTC服务

获取sdkAppId和生成userSig

基础使用

新建nvue文件,注意该模块必须在nvue中使用 模块名称为: zy-rtcVideo,使用标签

template部分
    <!--显示本地, 不需要传递userid-->
        <zy-rtcVideo ref="my"></zy-rtcVideo>
    <!--显示对方, 可以传递userid, 该组件会自动显示对方视频和语音 -->
        <zy-rtcVideo ref="you" v-if="userid!=''" :userid="userid"></zy-rtcVideo>
引入组件
    const tcrtc = uni.requireNativePlugin("zy-tcrtc");
初始化
    tcrtc.init({
        sdkAppId:"xxxxxx",
        userId:"xxxxxx",
        userSig:"xxxxxx"
    },(doc)=>{
        //回调, 所有的事件通知都在此处
         this.videoCB(doc);
    });
  • 回调方法
    videoCB(doc){
                switch(doc.type){
                    case "onUserVideoAvailable"://新用户加入
                        this.userid = doc.data;
                    break;
                    case "onUserVideoAvailableExit"://用户退出
                        this.userid = "";
                        break;
                }
            },

房间操作

        enterRoom() {
                tcrtc.enterRoom(908);
        //使用前请获取硬件权限
                this.$refs.my.startLocalPreview(true);//开启本地视频
                this.$refs.my.startLocalAudio();//开启本地语音
            },
            extRoom() {
                tcrtc.exitRoom();//退出房间
            },
获取硬件权限
            getPermiss() {
                plus.android.requestPermissions(
                    ['android.permission.CAMERA','android.permission.RECORD_AUDIO'],
                    function(e) {
                        if (e.deniedAlways.length > 0) {
                            //权限被永久拒绝
                            // 弹出提示框解释为何需要权限,引导用户打开设置页面开启
                            console.log('权限被永久拒绝' + e.deniedAlways.toString());
                        }
                        if (e.deniedPresent.length > 0) {
                            //权限被临时拒绝
                            // 弹出提示框解释为何需要权限,可再次调用plus.android.requestPermissions申请权限
                            console.log('权限被临时拒绝' + e.deniedPresent.toString());
                        }
                        if (e.granted.length > 0) {
                            //权限被允许
                            console.log('权限被允许' + e.granted.toString());
                        }
                    },
                    function(e) {
                        console.log('Request Permissions error:' + JSON.stringify(e));
                    }
                );
            },

zy-tcrtc包含方法

init(option, callback)

表头 表头
option 腾讯云rtc配置, 包含sdkAppId,userId,userSig
callback 接收事件通知的方法
    tcrtc.init({
        sdkAppId:"xxxxxx",
        userId:"xxxxxx",
        userSig:"xxxxxx"
    },(doc)=>{
        //回调, 所有的事件通知都在此处
         this.videoCB(doc);
    });

enterRoom(roomid) 进入房间

参数 说明
roomid 房间号
    tcrtc.enterRoom(908);

exitRoom() 退出房间

    tcrtc.exitRoom();//退出房间

zy-rtcVideo包含方法

startLocalPreview(frontCamera)

开启摄像头预览 在 enterRoom 之前调用此函数,SDK 只会开启摄像头,并一直等到您调用 enterRoom 之后才开始推流。 在 enterRoom 之后调用此函数,SDK 会开启摄像头并自动开始视频推流。 当开始渲染首帧摄像头画面时,您会收到 TRTCCloudListener 中的 onFirstVideoFrame(null) 回调。

参数 说明
frontCamera true:前置摄像头,false:后置摄像头
    this.$refs.my.startLocalPreview(true);//开启本地视频

startLocalAudio()

开启本地音频的采集和上行

SDK 默认不采集声音,您需要调用该函数启动麦克风采集,并将音频数据传输给房间里的其他用户。

    this.$refs.my.startLocalAudio();//开启本地视频

startRemotePreview()

开始拉取并显示指定用户的远端画面 该方法会在传递userid的时候自动调用, 也可以主动调用

  • 该函数会拉取指定 userid 的视频流显示在您指定的 view 控件上,您可以通过 setRemoteRenderParams 设置显示模式。

  • 如果您提前知道房间中某个 userid 正在推流,可以直接调用 startRemoteView 显示该用户的远端画面。

  • 如果您不知道房间中有哪些用户开启了视频,可以在 enterRoom 后等待来自 SDK 的 onUserVideoAvailable(userId, true) 回调通知。 调用 startRemoteView 只是启动拉取,此时画面还需要加载,当加载完毕后 TRTCCloudListener 会通过 onFirstVideoFrame(userId) 通知您。

隐私、权限声明

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

<uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.CAMERA" />

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

插件使用的 腾讯云TRTC实时音视频 SDK会采集数据,详情可参考:https://cloud.tencent.com/document/product/647/16788

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

暂无用户评论。

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