HarmonyOS 鸿蒙Next如何获取相册中视频的一些具体信息

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

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到底是图片还是视频,还有如果是视频 想获得视频的时长,大小等数据

2 回复

使用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系统中,获取相册中视频的具体信息通常涉及访问设备的媒体存储,这需要遵循鸿蒙系统的权限管理和数据存储规范。以下是具体步骤:

  1. 权限申请

    • 应用需要在manifest.json文件中声明访问存储的权限,如ohos.permission.READ_MEDIA
    • 在运行时向用户请求这些权限。
  2. 使用MediaStore API

    • 鸿蒙系统提供了类似Android的MediaStore API,用于访问媒体文件。
    • 通过查询MediaStore来获取相册中的视频信息。
  3. 处理查询结果

    • 使用ContentResolver执行查询后,处理返回的Cursor。
    • 从Cursor中提取视频的URI、标题、日期、时长、分辨率等具体信息。
  4. 展示数据

    • 将获取到的视频信息加载到应用中,如使用RecyclerView或ListView展示视频列表及其详细信息。

请注意,鸿蒙系统的API可能会随着版本更新而有所变化,建议查阅最新的鸿蒙开发文档以确保代码兼容性。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部