鸿蒙无权限完成图片挑选摄影和录视频
在鸿蒙开发中,体系供给了PhotoViewPicker挑选图片,cameraPicker摄影和录视频,此办法能够到达无需向用户请求权限就能选图片、摄影和录视频。除了用户操作的选图、摄影和录视频,其它时刻APP无权获取相册图片,无权调用相机,关于用户来说,运用相册和相机都是很清晰的机遇,安全性十分高。以下来看看详细的运用办法。
运用PhotoViewPicker挑选图片
咱们new一个PhotoViewPicker并调用select办法,就能够翻开体系图片挑选器进行图片挑选了,支撑的参数十分多,根本满意了日常的运用场景。
- MIMEType:咱们能够经过MIMEType来设置是挑选图片或许挑选视频,乃至是一起挑选图片和视频。
- isEditSupported:经过isEditSupported参数来设置挑选好图片后,是否进入图片修改形式。
- isOriginalSupported:经过isOriginalSupported参数来设置挑选的图片是否为源图,该参数设置为true,挑选页面有一个按钮,能够操控是否运用源图。
- isPhotoTakingSupported:在图片挑选页面,能够经过isPhotoTakingSupported参数设置第一个方位是否为摄影选项,设置后点击第一个方位,能够翻开相机摄影一张图片。
- isPreviewForSingleSelectionSupported:经过isPreviewForSingleSelectionSupported参数能够在图片挑选后,进入大图预览页面,使咱们能够检查图片的更多细节。
- isSearchSupported:当相册的图片太多时,咱们能够经过isSearchSupported参数显现查找框,在查找框中输入图片相关内容,以便快速查找相关图片
- maxSelectNumber:经过maxSelectNumber来设置挑选的数量,默许挑选50张图片,最多挑选500张。
- preselectedUris:当为多选形式时,经过preselectedUris参数能够预选中一些图片,以便防止每次翻开图片挑选器,都是从头挑选,然后导致之前挑选的图片丢掉了。
一个完好的示例如下
new photoAccessHelper.PhotoViewPicker().select({
MIMEType: photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE,
maxSelectNumber: 9,
isEditSupported: false,
isOriginalSupported: rue,
preselectedUris: [],
isPhotoTakingSupported: false,
isPreviewForSingleSelectionSupported: false,
isSearchSupported: false
}, (err, data) => {
console.log(data)
})
运用cameraPicker摄影和录视频
咱们能够经过cameraPicker的select办法来进行摄影或录视频,也能够一起设置摄影和录视频,用户在摄影页面自行挑选是摄影仍是录视频。详细运用参数如下
- mediaTypes:是一个数组,设置为摄影片,仍是录视频,也能够一起设置
- cameraPosition:设置是运用前置摄像头仍是后置摄像头进行摄影或录视频
- saveUri:设置摄影或录制的视频保存的方位,一般设置成咱们的沙箱目录
- videoDuration:当形式为录视频时,此参数为设置视频的最大时长。
一个完好的示例如下
cameraPicker.pick(context,[cameraPicker.PickerMediaType.PHOTO, cameraPicker.PickerMediaType.VIDEO],
{ cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK,saveUri:'',videoDuration:30 })
.then((value) => {
console.log(value.resultUri)
})
用户在体系摄影录视频页面,能够自己挑选许多参数,例如是否翻开闪光灯,图片的宽高比,视频的帧率,是否扯开参阅线等等,可挑选的参数许多,灵敏度也很高,根本能够满意日常的运用场景,最主要的是不必向用户请求权限,仍是十分便利的。