打开相机拍照或者拍摄视频
使用说明
- 自定义相机效果
- 图片编辑效果图
- 自定义相机不带系统调校(如广角、光学防抖、微距等),无法设置参数,对成像要求较高的建议使用系统相机
import { MImagePicker } from "@yl/super-jssdk";
MImagePicker.openCamera(optional);
参数说明
| 参数 |
类型 |
必填 |
作用 |
| optional |
Object |
否 |
非必选参数 |
optional
| 参数 |
类型 |
必填 |
作用 |
| path |
string |
否 |
图片存储路径(不传路径时,内部创建默认路径,如果是 video 类型,需传 options 里的 sourceType) |
| options |
Object |
否 |
可选参数 |
| type |
string |
否 |
调用插件类型,可选:image-picker、photo,默认 image-picker |
MImagePicker options 结构说明
| 字段名称 |
类型 |
说明 |
| sourceType |
string |
用来区分拍照和录制视频,分别对应传参 photo 和 video,不传或传其他值时默认为photo |
| photoConfig |
json |
当 sourceType 为 photo 时的可选参数,photoConfig 释义如下 |
| videoConfig |
json |
当 sourceType 为 video 时的可选参数,videoConfig 释义如下 |
photoConfig 结构说明
| 字段名称 |
类型 |
说明 |
| edit |
boolean |
是否启用图片编辑功能,默认 false 不启用 |
| customCamera |
boolean |
进入自定义拍照页面开关。true:进入自定义拍照页面;false:进入系统拍照页面;默认值 false |
| editConfig |
json |
编辑图片功能配置,editConfig释义如下 |
editConfig 结构说明
| 字段名称 |
类型 |
说明 |
| cropAspectRatio |
string |
裁剪框宽高比,格式:整形数字:整形数字,如"1:1","4:3","16:9";格式不合法或不传该字段时用户可自由调整宽高比。1.2.5 版本开始生效 |
| limits |
array |
图片编辑功能配置项,仅在 edit=true 时生效。必须开启一个功能,否则忽略 limits 参数,开启所有功能可传入参数释义如下:limit 参数 |
| autoSelected |
string |
自动选中激活编辑功能 默认所有编辑功能都不主动激活 可传入参数释义如下:limit 参数 |
limit参数 1.3.4 版本开始生效
| limit |
说明 |
| shape |
图形,如果没有传入,隐藏此功能 |
| doodle |
涂鸦,如果没有传入,隐藏此功能 |
| text |
添加文字,如果没有传入,隐藏此功能 |
| crop |
裁剪,如果没有传入,隐藏此功能 |
| mosaic |
马赛克,如果没有传入,隐藏此功能 |
videoConfig 结构说明
| 字段名称 |
类型 |
说明 |
| recordDuration |
int |
视频录制时长,单位秒,默认 10 秒,Android 端因厂商 ROM 定制,部分设备该参数设置后无效 |
| videoQuality |
int |
视频质量参数,仅 iOS 端生效。默认参数为 1,中等质量;可选参数为 0-5,以此代表视频质量为:高,中,低,640x480,1280x720,960x540;超出可选参数范围,则使用默认质量,使用时请注意质量与序号的对应 |
MPhoto options 结构说明
| 字段名称 |
类型 |
说明 |
| saveToAlbum |
number |
是否保存到相册。可传值:0不保存到相册,1保存到相册。默认值为0 |
| customCamera |
boolean |
进入自定义拍照页面开关。true:进入自定义拍照页面;false:进入系统拍照页面;默认值false |
| displayResult |
boolean |
自定义拍照页面点击拍照按钮后,是否展示预览页面(预览页面有重拍和使用照片选项)。true:展示,false:不展示,默认值true. |
| keepOriginSize |
boolean |
自定义拍照页面是否显示从相册选择。默认值true.. |
| showAlbumInCustomCamera |
boolean |
是否保存到相册。可传值:0不保存到相册,1保存到相册。默认值为0 |
| videoPath |
string |
视频拍摄后存储路径(.mp4全路径)。如果有值,则自定义拍照页面显示视频拍摄功能,默认不显示. |
| recordMaxTime |
number |
视频拍摄最大时长,默认10秒. |
| customWatermark |
jsonArray |
详情请参照下方customWatermark结构说明。只有在自定义相机预览和拍完照,以及拍照涂鸦生成的图片底部会生成自定义水印样式,一个json下标对象显示一行,从上往下顺序显示.文本最多显示两行,超出部分省略号显示.2.1.4版本开始生效 |
customWatermark结构说明
| 字段名称 |
类型 |
说明 |
| iconPath |
string |
图标路径,只支持本地 |
| txt |
string |
文本说明 |
| txtColor |
string |
文本颜色,默认白色 |
返回说明
| 参数 |
类型 |
作用 |
| resolve(path) |
Function |
成功回调,path 为操作完成后保存的图片路径(即接口传过来的 path) |
| reject(err) |
Function |
失败回调,err 为详细的错误信息,是一个 json 对象,例如:{"errCode": -1, "errMsg":"some explain of error."} |
代码示例
MYSDK.MImagePicker.openCamera({
path: cordova.file.externalDataDirectory + 'test.jpg',
}).then(res => {
console.log('res', res);
}).catch(err => {
console.log('err', err);
})
MYSDK.MImagePicker.openCamera({
path: cordova.file.externalDataDirectory + 'test.mp4',
options: {
sourceType: 'video'
}
}).then(res => {
console.log('res', res);
}).catch(err => {
console.log('err', err);
})