HarmonyOS 鸿蒙Next如何获取相册中视频的一些具体信息
HarmonyOS 鸿蒙Next如何获取相册中视频的一些具体信息
try {
let PhotoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
PhotoSelectOptions.MIMEType = type;
PhotoSelectOptions.maxSelectNumber = selectNum;
let photoPicker = new photoAccessHelper.PhotoViewPicker();
photoPicker.select(PhotoSelectOptions).then((PhotoSelectResult: photoAccessHelper.PhotoSelectResult) => {
photoUrisCallback(PhotoSelectResult.photoUris)
console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ’ + JSON.stringify(PhotoSelectResult));
}).catch((err: BusinessError) => {
console.error(PhotoViewPicker.select failed <span class="hljs-keyword">with</span> err: ${err.code}, ${err.message}
);
});
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error(PhotoViewPicker failed <span class="hljs-keyword">with</span> err: ${err.code}, ${err.message}
);
}
使用此方法可以返回图片和视频的uri,但我想区分拿到的此uri到底是图片还是视频,还有如果是视频 想获得视频的时长,大小等数据
使用PhotoPicker选择的图片或视频存储在photoUris字段中。要判断选择的图片或视频,可以通过以下步骤:
1、获取PhotoSelectResult对象:
当使用select方法调用PhotoPicker并返回结果时,会得到一个PhotoSelectResult对象。该对象包含了选择的图片或视频的URI数组和其他相关信息。文档参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-picker-V5#photoselectresultdeprecated
2、判断URI类型:
photoUris字段是一个包含多个URI的数组。根据媒体文件URI的格式,可以判断选择的是图片还是视频。媒体文件URI的格式如下:
图片URI格式:file://media/Photo/<id>/IMG_datetime_0001/displayName.jpg
视频URI格式:`file://media/Photo/<id>/VID_datetime_0001/displayName.mp4
3、获取媒体文件信息:
使用photoAccessHelper.getAssets接口可以获取URI对应的媒体文件对象。这些对象包含了文件的详细信息,如文件名、大小、类型等。通过这些信息,可以进一步判断选择的是图片还是视频。
具体步骤如下:
创建一个PhotoAccessHelper实例。使用getAssets接口获取媒体文件对象。检查文件的媒体类型(图片类型、视频类型等)。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/user-file-uri-intro-V5
在HarmonyOS鸿蒙Next系统中,获取相册中视频的具体信息通常涉及访问设备的媒体存储,这需要遵循鸿蒙系统的权限管理和数据存储规范。以下是具体步骤:
-
权限申请:
- 应用需要在
manifest.json
文件中声明访问存储的权限,如ohos.permission.READ_MEDIA
。 - 在运行时向用户请求这些权限。
- 应用需要在
-
使用MediaStore API:
- 鸿蒙系统提供了类似Android的MediaStore API,用于访问媒体文件。
- 通过查询MediaStore来获取相册中的视频信息。
-
处理查询结果:
- 使用ContentResolver执行查询后,处理返回的Cursor。
- 从Cursor中提取视频的URI、标题、日期、时长、分辨率等具体信息。
-
展示数据:
- 将获取到的视频信息加载到应用中,如使用RecyclerView或ListView展示视频列表及其详细信息。
请注意,鸿蒙系统的API可能会随着版本更新而有所变化,建议查阅最新的鸿蒙开发文档以确保代码兼容性。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。