更新记录

1.2.0(2024-08-05)

发布插件 原生相机插件,拍照/录像,兼容安卓低版本(最低android4.4)


平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 14.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原生插件配置”->”云端插件“列表中删除该插件重新选择


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)//这样就可以让编译器知道哪些是自定义组件  
                    }      
                }      
            }      
        })      
    ]      
})
对于需要上传的开发者,可在拍照/录像完成后在回调方法里得到照片/视频的保存路径,然后调用上传接口上传即可

上海栾青网络科技有限公司

(同微信)

隐私、权限声明

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

android.permission.RECORD_AUDIO android.permission.CAMERA android.permission.WRITE_EXTERNAL_STORAGE android.permission.FLASHLIGHT

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

插件不采集任何数据

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

无