更新记录
1.2.0(2024-08-05)
发布插件 原生相机插件,拍照/录像,兼容安卓低版本(最低android4.4)
平台兼容性
Android |
Android CPU类型 |
iOS |
适用版本区间:4.4 - 14.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原生插件配置”->”云端插件“列表中删除该插件重新选择
camera-low-version
API 请求方法简要说明
插件方法 |
说明 |
默认值 |
是否必须 |
startRecord() |
开始录像 |
无 |
非 |
stopRecord() |
停止录像并生成文件 |
无 |
非 |
takePhoto() |
开始拍照 |
无 |
非 |
switchCamera() |
切换摄像头 |
无 |
非 |
startPreview() |
开始预览,如果isAutoPreview是自动则无需主动调用本函数 |
无 |
非 |
stopPreview() |
停止预览,如果isAutoPreview是自动则无需主动调用本函数 |
无 |
非 |
API 参数简要说明
插件参数 |
说明 |
默认值 |
是否必须 |
orientation |
摄像头旋转角度 |
90 |
非 |
videoSizeHeight |
录制时的尺寸宽度 |
640 |
非 |
videoSizeWidth |
录制时的尺寸宽度 |
480 |
非 |
defaultCamera |
默认摄像头,默认后置 |
0 |
非 |
isAutoPreview |
是否自动启动预览,默认自动 |
1 |
非 |
API 回调方法监听简要说明
回调函数 |
说明 |
默认值 |
是否必须 |
@onTakePhotoSuccess |
接收拍照成功的通知,以及保存照片的路径 |
无 |
非 |
@onRecordSuccess |
接收录像成功的通知,以及保存视频的路径 |
无 |
非 |
@onReceiveLog |
接收反馈的一些异常报错等日志信息 |
无 |
非 |
回调方法参数说明
参数类型 |
参数说明 |
object |
格式:{detail:{code:200, message:'录制成功', videoPath:'......',imagePath:'.......'}},videoPath(视频保存路径),imagePath(图片保存路径)) |
插件使用示例:
<!-- 相机原生插件 START -->
<camera-low-version
ref="cameraObj"
:defaultCamera="0"
:videoSizeWidth="480"
:videoSizeHeight="640"
class="camera_view"
>
</camera-low-version>
<!-- 相机原生插件 END -->
// css
.camera_view{
z-index: 100;
width: 750rpx;
height: 1330rpx;
}
vue3可在项目根目录新建一个 vite.config.js 文件,内容如下
import {
defineConfig
} from 'vite'
import uni from '@dcloudio/vite-plugin-uni'
const CUSTOM_TAG = ['water-mark-camera']//把自定义原生组件的名字写入到这里面
export default defineConfig({
plugins: [
uni({
vueOptions: {
template: {
compilerOptions: {
isCustomElement: tag => CUSTOM_TAG.includes(tag)//这样就可以让编译器知道哪些是自定义组件
}
}
}
})
]
})
对于需要上传的开发者,可在拍照/录像完成后在回调方法里得到照片/视频的保存路径,然后调用上传接口上传即可
上海栾青网络科技有限公司
(同微信)