HarmonyOS鸿蒙Next中从文件管理器选择视频得到uri,如何获取视频的大小,名称,时长,创建时间,缩略图等属性值

HarmonyOS鸿蒙Next中从文件管理器选择视频得到uri,如何获取视频的大小,名称,时长,创建时间,缩略图等属性值 从文件管理器选择视频得到uri,如何获取视频的大小,名称,时长,创建时间,缩略图等属性值

async callFilePickerSelectFile(): Promise<void> {
    try {
        let DocumentSelectOptions = new picker.DocumentSelectOptions();
        let documentPicker = new picker.DocumentViewPicker();
        documentPicker.select(DocumentSelectOptions).then((DocumentSelectResult) => {
            Logger.info(TAG,
                'DocumentViewPicker.select successfully, DocumentSelectResult uri: ' + JSON.stringify(DocumentSelectResult));
            let editFlag = false;
            if (DocumentSelectResult !== null && DocumentSelectResult !== undefined) {
            }
        }).catch((err: BusinessError) => {
            Logger.error(TAG, 'DocumentViewPicker.select failed with err: ' + JSON.stringify(err));
        });
    } catch (err) {
        Logger.error(TAG, 'DocumentViewPicker failed with err: ' + JSON.stringify(err));
    }
}

更多关于HarmonyOS鸿蒙Next中从文件管理器选择视频得到uri,如何获取视频的大小,名称,时长,创建时间,缩略图等属性值的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

参考文档使用url方式读取视频参数:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/user-file-uri-intro-V5#媒体文件uri的使用方式

更多关于HarmonyOS鸿蒙Next中从文件管理器选择视频得到uri,如何获取视频的大小,名称,时长,创建时间,缩略图等属性值的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,通过文件管理器选择视频并获取其URI后,可以使用FileAsset类来获取视频的大小、名称、时长、创建时间等属性值。以下是如何获取这些信息的具体方法:

  1. 获取FileAsset对象: 首先,通过URI获取FileAsset对象:

    import fileIo from '[@ohos](/user/ohos).fileio';
    import file from '[@ohos](/user/ohos).file';
    
    let fileAsset = fileIo.openSync(uri);
    
  2. 获取视频大小: 使用FileAssetstat方法获取文件的大小:

    let stat = file.statSync(fileAsset.fd);
    let size = stat.size;
    
  3. 获取视频名称: 从URI中提取视频名称:

    let name = uri.split('/').pop();
    
  4. 获取视频时长: 使用MediaLibrary模块获取视频的时长:

    import mediaLibrary from '[@ohos](/user/ohos).multimedia.mediaLibrary';
    
    let media = mediaLibrary.getMediaLibrary(context);
    let fileInfo = media.getFileAssets(uri);
    let duration = fileInfo.duration;
    
  5. 获取视频创建时间: 使用FileAssetstat方法获取文件的创建时间:

    let createTime = stat.ctime;
    
  6. 获取视频缩略图: 使用MediaLibrary模块获取视频的缩略图:

    let thumbnail = media.getThumbnail(uri);
    

通过以上方法,可以获取视频的大小、名称、时长、创建时间和缩略图等属性值。

在HarmonyOS鸿蒙Next中,您可以使用FileManagerMediaLibrary API来获取视频的URI后,进一步获取其属性值。以下是如何获取视频大小、名称、时长、创建时间和缩略图的步骤:

  1. 获取视频URI:通过文件管理器选择视频后,获取其URI。
  2. 使用MediaLibrary API:通过MediaLibraryMediaAsset类,使用URI查询视频的元数据。
  3. 获取属性值
    • 大小:使用MediaAsset.getSize()方法。
    • 名称:使用MediaAsset.getDisplayName()方法。
    • 时长:使用MediaAsset.getDuration()方法。
    • 创建时间:使用MediaAsset.getDateAdded()方法。
    • 缩略图:使用MediaAsset.getThumbnail()方法获取缩略图。

通过这些方法,您可以轻松获取视频的各项属性值。

回到顶部