HarmonyOS 鸿蒙Next怎么在选择图片或视频时选多个视频

发布于 1周前 作者 sinazl 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next怎么在选择图片或视频时选多个视频

需要选择图片或视频。 如果全部选择图片,最多可以选择9张; 如果选择了视频,就只能选择1个视频,不能再选择别的。 目前使用了一下方式:  

let PhotoSelectOptions = new picker.PhotoSelectOptions();
PhotoSelectOptions.MIMEType =
picker.PhotoViewMIMETypes.IMAGE_VIDEO_TYPE;
// 过滤选择媒体文件类型
PhotoSelectOptions.maxSelectNumber = 9 - this.images.length;
// 选择媒体文件的最大数目
let photoPicker = new picker.PhotoViewPicker();
// 使用图库选择器对象前,需要先创建PhotoViewPicker实例
photoPicker.select(PhotoSelectOptions)
.then((PhotoSelectResult) => {
console.error(‘PhotoSelectResult============’ + PhotoSelectResult)
if (PhotoSelectResult !== null && PhotoSelectResult !==
undefined) {
// 接口采用callback异步返回形式,返回PhotoSelectResult对象,故进行下一步操作前要先判断是否已经成功返回PhotoSelectResult对象了
array = PhotoSelectResult[‘photoUris’];
}
for (let index = 0; index < array.length; index++) {
this.images.push(array[index])
}
})
.catch((err: BusinessError) => {
// Logger.error(TAG, 'PhotoViewPicker.select failed with err: ’ + JSON.stringify(err));
});

选择多张图片没问题,但涉及视频部分,没办法实现上述需求


更多关于HarmonyOS 鸿蒙Next怎么在选择图片或视频时选多个视频的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

推荐使用photoAccessHelper的PhotoViewPicker,我在NEXT.0.0.71版本手机上测试没有问题,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-photoaccesshelper-V5#photoviewpicker

async function example01() {
try {
let PhotoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
PhotoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_VIDEO_TYPE;
PhotoSelectOptions.maxSelectNumber = 9;
let photoPicker = new photoAccessHelper.PhotoViewPicker();
photoPicker.select(PhotoSelectOptions).then((PhotoSelectResult: photoAccessHelper.PhotoSelectResult) => {
console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
}).catch((err: BusinessError) => {
console.error(`PhotoViewPicker.select failed with err: ${err.code}, ${err.message}`);
});
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error(`PhotoViewPicker failed with err: ${err.code}, ${err.message}`);
}
}

目前只能设置选择媒体文件数量的最大值,无法单独设置区分图片和视频的数量。您可以对选择的结果做过滤提示或者图片和视频分开选择。

更多关于HarmonyOS 鸿蒙Next怎么在选择图片或视频时选多个视频的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,选择图片或视频时选多个视频,可以通过以下步骤实现:

首先,确保你的应用已获取读取系统相册的权限(user_grant类型权限),这是选择相册内容的前提。

然后,使用HarmonyOS提供的photoAccessHelper.PhotoViewPicker()方法来创建图片选择器实例。在配置选择器的选项时,设置MIMEType为photoAccessHelper.PhotoViewMIMETypes.IMAGE_VIDEO_TYPE,以支持图片和视频的选择;同时设置maxSelectNumber为你希望用户能够选择的文件最大数量。

最后,调用选择器的select()方法,并处理返回的PhotoSelectResult。如果用户选择了多个视频,PhotoSelectResult.photoUris将包含这些视频的URI。

请注意,应用获取到的读取资源的权限是临时的,且对资源的访问有时效性。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部