更新记录

1.0.4(2022-04-11)

1.增加双指放大缩小功能

1.0.3(2022-04-01)

1.修复重复录像时,文件名字会出现多个".mp4"问题

1.0.2(2022-03-15)

1.修复部分机型,录像过程中返回,会有声音预览问题bug

查看更多

平台兼容性

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


K-CameraModule 简介

拍照,录像android原生插件,支持如下:

  1. 支持模式选择,只拍照/只录像/两者都有
  2. 拍照录像模式,轻触拍照,长按录像;只录像模式,轻触即可录像
  3. 支持录像,设置视频的比特率,最长/最短录制时间等
  4. 支持录像时,输出视频第一帧图片
  5. 支持设置录像输出比特率
  6. 支持自定义图片或视频存储路径
  7. 根据手机,智能选择合适分辨率(10s的视频大概1.9M左右)
  8. 支持预览

使用说明

  1. 常用代码举例,以下为常用调用方法,用户可根据自己需求,参数自由组合来完成自己的需求:
    /**
    * 默认传参(即什么都不传),轻触拍照,长按录像,录像最大时长5分钟,效果10s的视频大概1.9M左右,存储目录sd卡kcamera下
    */
    openCameraDefault(event) {
    const plugin = uni.requireNativePlugin('K-CameraModule');
    plugin.startCamera({}, result => {
        console.log(JSON.stringify(result));
        this.content = JSON.stringify(result);
    });
    },
    /**
    * 只拍照
    */
    openCameraOnlyPic(event) {
    const plugin = uni.requireNativePlugin('K-CameraModule');
    plugin.startCamera({ type: 1 }, result => {
        console.log(JSON.stringify(result));
        this.content = JSON.stringify(result);
    });
    },
    /**
    * 只录像,轻触录像,录像最大时长60秒,视频比特率2000kbps(高质量),最小录制时长1.5秒,存储目录sd卡下MyCamera/videos
    */
    openCameraOnlyVideo(event) {
    const plugin = uni.requireNativePlugin('K-CameraModule');
    plugin.startCamera({ type: 2, durationVideo: 60 * 1000, bitrateVideo: 2000 * 1000, saveDir: 'MyCamera/videos' }, result => {
        console.log(JSON.stringify(result));
        this.content = JSON.stringify(result);
    });
    }
  2. 传参说明:
参数 类型 默认值 说明
type Integer 0 0-both,1-pic,2-video
bitrateVideo Integer 1600 * 1000 录像时,视频的比特率,单位bps,例如1600kbps的比特率,传入时需要乘以1000转化为bps单位,关于此值详细介绍,请参看下边的“视频比特率详细说明”
durationVideo Integer 5 * 60 * 1000 录像时,视频的最长录制时间,不传此参数默认5分钟,单位毫秒,例如5分钟,5 * 60 * 1000转化为毫秒
minDurationVideo Integer 1.5 * 1000 录像时,视频的最小录制时间,单位毫秒,不传此参数默认1.5秒,若录制视频短于1.5秒,会提示“1.5秒内的视频无效哦”
saveDir String kcamera 拍照或录像结束时,存储目录,不传默认内存存储根目录下kcamera文件夹下,可自定义如MyCamera/videos,使用方法,可参考示例代码

3.返回参数说明

{
"code":"0",
"msg":"success",
"data":{
        "path":"路径",
        "fistFramePicPath":"若是视频,为视频的第一帧图片,若为图片,此值为null"
    }
}

4.视频比特率详细说明:
关于视频比特率,单位bps,特提供以下值(以下值乘以1000是因为单位kpbs转换为bps时需要),供用户参考,当然也可心根据用户自己定义:

质量等级
High 2000 * 1000
MIDDLE 1600 * 1000
LOW 1200 * 1000
POOR 800 * 1000

5.问题汇总:
1. 若返回的路径无法使用(如,在video组件中无法播放,uni.uploadFile无法识别到本路径),请在压缩返回后的路径前加"file://"再尝试使用

6.Demo下载
您可下载Demo安装到手机上,参看一下效果,本Demo包括了作者开发的大部分插件,您可以进入相应插件模块查看效果,Demo中实现的效果只是常用举例且功能有限,而且并不及时更新,所以用户还是应以详细文档中的说明为准,参数自由组合实现想要的功能。Demo下载链接如下:
https://pan.baidu.com/s/1YMLAx21N2p5sirJqwkLJoA 提取码: awh9

7.联系方式:
若有插件问题,可以评论留言描述,或加本人QQ
我的QQ是:3516626205 (加好友麻烦备注:uni相机插件)
支持付费定制
(2)关于售后:
a.承诺bug类问题,终身免费维护
b.新功能新需求类,若两个小时能完成的小工作量功能,免费完善

本sdk的使用许可,详见HBuilder X使用许可协议

隐私、权限声明

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

<uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" />

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

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

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