更新记录

1.0.8(2023-03-09)

1.优化截图和录制视频返回 2.统一数据格式

1.0.7(2023-03-07)

1.数据通道IOS端stop事件回调

1.0.6(2023-03-06)

1.完善android录制视频黑白 2.统一数据通道返回

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 12.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 适用版本区间:9 - 16

原生插件通用使用流程:

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


joyqhs-webrtc插件使用示例

<joyqhs-webrtc ref="Youzan" :params="params" :url="url" :sessionId="sessionId" :peerid="peerid" :meid="meid"
            :userDirectory="userDirectory" :style="webrtcVideoStyle">
        </joyqhs-webrtc>

params使用说明

let params = {
    url: this.url, //信令服务器连接地址
    sessionId: this.sessionId, //回话ID
    peerid: this.peerid, //设备序列号
    meid: this.meid, //消息ID
    userDirectory: this.userDirectory,//用户路径,用户区别不同用户在沙盒存储文件
    appid: plus.runtime.appid, //uniapp应用ID
    mode:"live", //播放模式,live:直播,play:点播
    source:"MainStream", //流类型,MainStream:主码流,
}
this.params = JSON.stringify(params)

方法说明

截图

this.$refs.Youzan.shots(path);

path保存的路径

录屏

this.$refs.Youzan.record(bool status)

status传true开始录屏,false结束录屏

静音

this.$refs.Youzan.mute(bool status)

status传true开启声音,false静音

全局事件

1.引入全局事件

var globalEvent = weex.requireModule('globalEvent');
globalEvent.addEventListener('onevent', e => {
                //console.log('e', e)
                const msg = e;
                switch (msg.type) {
                    case 'startPlay': //开始播放

                        break;
                    case 'connected': //连接成功

                        break;
                    case 'disConnected': //断开连接了
                        break;
                    case 'recordPath': //录制返回
                        break;
                    case 'imagePath': //图片保存成功返回
                        break;
                    case 'receiveMessage': //信令消息
                        break;
                    case 'dataChannelReceive': //数据通道消息
                        break;
                    case 'receiveRemoteAudio': //收到设备发过来的声音,之后才能操作静音
                        //todo,这里做逻辑处理
                        this.mute(false)
                        break;
                    default:
                        break;
                }
            })

joyqhs-datachannel模块使用示例

1.引入原生组件

//全局事件
var globalEvent = uni.requireNativePlugin('globalEvent');
//引入组件
const joyqhsDatachannel = uni.requireNativePlugin('joyqhs-datachannel');

2插件方法调用

let params = {
                url: this.url,
                sessionId: this.sessionId,
                peerid: this.device_no,
                meid: this.meid,
                appid: plus.runtime.appid,
            }
            this.params = JSON.stringify(params)
            joyqhsDatachannel.init(this.params)
            globalEvent.addEventListener('onevent', e => {
                const msg = e;
                //console.log('globalEvent', msg)
                switch (msg.type) {
                    case 'dataChannelState':
                        this.handleDatachannelState(msg.msg);
                        break;
                    case "dataChannelReceive":
                        this.handleDataChannelReceive(msg)
                        break;
                }
            });

隐私、权限声明

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

1.读写文件权限 2.相册权限 3.录制视频

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

插件不采集任何数据

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

插件不包含广告

许可协议

作者未提供license.md

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