更新记录
1.0.0(2021-12-29) 下载此版本
初次发布 1.0.0
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 11.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原生插件配置”->”云端插件“列表中删除该插件重新选择
【android录屏】支持录屏录制声音,动态禁止和允许录屏
<template>
<view>
<view class="group">
<view class="btn" @click="startRecord(false)">开始录屏(无声音)</view>
<view class="btn" @click="startRecord(true)">开始录屏(有声音)</view>
<view class="btn" @click="stopRecord">停止录屏</view>
</view>
<view class="group">
<view class="btn" @click="noRecord">禁止录屏</view>
<view class="btn" @click="allowRecord">允许录屏</view>
</view>
</view>
</template>
<script>
export default {
methods: {
// 获取录制对象
getRecordObj(){
if(!this.recordObj) this.recordObj = uni.requireNativePlugin("me-record")
return this.recordObj
},
// 开始录制
startRecord(isAudio){
let option = {
ratio: 3, // 视频清晰度, 建议取值: 1,2,3,4,5,6; 越大越清晰, 默认3 (值越大内存要求越高, 太高容易内存溢出闪退)
frame: 30, // 视频帧率, 建议取值: 15,20,25,30,60; 越大越流畅, 默认30
isAudio: isAudio // 是否录制声音, 默认false
}
this.getRecordObj().startRecord(option, res=>{
if(res.code == 0){
// {code:0, msg:"开始录屏"}
uni.showToast({title: "已开始录制", icon: "none"})
}else{
// {code:501, msg:"您的系统不支持录屏功能"}
// {code:502, msg:"您已拒绝录屏权限"}
// {code:503, msg:"您已拒绝录屏操作"}
// {code:504, msg:"当前窗口禁止录屏"}
uni.showToast({title: "录制失败:"+JSON.stringify(res), icon: "none"})
}
})
},
// 停止录制
stopRecord(){
let res = this.getRecordObj().stopRecord()
if(res.code == 0){
// {code:0, msg:"录制成功", path:"本地视频路径"}
console.log("本地视频路径:" + res.path) // 可继续调uni.uploadFile()上传至服务器
uni.showToast({title: "录制的视频已保存到相册", icon: "none"})
}else{
// {code:501, msg:"您还未开始录屏"}
uni.showToast({title: "操作失败:"+JSON.stringify(res), icon: "none"})
}
},
// 禁止录屏
noRecord(){
this.getRecordObj().noRecord()
uni.showToast({title: "已禁止录屏", icon: "none"})
},
// 允许录屏
allowRecord(){
this.getRecordObj().allowRecord()
uni.showToast({title: "已允许录屏", icon: "none"})
}
}
}
</script>
<style>
.group {
padding: 40rpx 80rpx;
}
.group .btn{
text-align: center;
padding: 20rpx;
border: 1px solid #007AFF;
color: #007AFF;
}
.group .btn~.btn{
border-top: none;
}
</style>