OpenHarmony多媒体-metadata-extractor

简介

metadata-extractor是用于从图像、视频和音频文件中提取 Exif、IPTC、XMP、ICC 和其他元数据的组件。

下载安装

shell 复制代码
ohpm install @ohos/metadata-extractor

OpenHarmony

ohpm环境配置等更多内容,请参考 如何安装OpenHarmony ohpm包

使用说明

  1. 引入文件及代码依赖

    复制代码
    import {Metadata} from '@ohos/metadata-extractor'
    import {ImageMetadataReader} from '@ohos/metadata_extractor'
  2. 读取数据

    private getMetaData() {
    let path = globalThis.fileDir.concat("/AVITest.avi")
    let metadata: Metadata = ImageMetadataReader.readMetadata(path)
    // iterate over the metadata and print to System.out
    for (let directory of metadata.getDirectories()) {
    let directoryName = directory.getName()
    for (let tag of directory.getTags()) {
    let tagName = tag.getTagName()
    let description = tag.getDescription()

    复制代码
          // truncate the description if it's too longzg zg
          if (description != null && description.length > 1024) {
            description = description.substring(0, 1024) + "..."
          }
          this.data.push("\n" + "[" + directoryName + "] " + tagName + " = " + description)
        }
      }

    }

  3. 展示数据

    Column() {
    Text("元数据:" ).fontSize(20).width('100%')
    .textAlign(TextAlign.Start)
    Text("" + this.data).fontSize(20).width('100%')
    .textAlign(TextAlign.Start)
    .visibility(this.isVisibility)
    }.height("80%").padding({ bottom: 10 })

接口说明

说明:支持ImageMetadataReader.readMetadata(path)统一入口;也支持对应文件格式下下的MetadataReader: 如:PngMetadataReader.readMetadata(filepath);JpegMetadataReader.readMetadata(filepath)
  1. 获取元数据ImageMetadataReader.readMetadata()
  2. 获取目录信息Metadata.getDirectories()
  3. 获取目录类型Metadata.getDirectoriesOfType()
  4. 获取目录数量Metadata.getDirectoryCount()
  5. 获取首目录类型Metadata.getFirstDirectoryOfType()
  6. 获取目录名称Directory.getName()
  7. 获取标签信息Directory.getTags()
  8. 获取标签数量Directory.getTagCount()
  9. 获取父目录信息Directory.getParent()
  10. 获取日期信息Directory.getDate()
  11. 获取标签名称Tag.getTagName()
  12. 获取标签名称Tag.getgetDescription()

约束与限制

在下述版本验证通过:

  • DevEco Studio 版本: 4.1 Canary(4.1.3.317)

  • OpenHarmony SDK:API11 (4.1.0.36)

目录结构

复制代码
|---- metadata-extractor
|     |---- entry  # 示例代码文件夹
|     |---- library # 库文件夹
|           |---- index.ets  # 对外接口
|           |---- src
|                 |---- main
|                       |---- com
|                             |---- drew
|                                   |---- imaging  #文件解析器(包含图片、音频、视频)
|                                          |---- avi  #avi视频格式解析
|                                          |---- gif  #gif图片格式解析
|                                          |---- jpeg #jpeg图片格式解析
|                                          |---- mp3 #mp3图片格式解析
|                                          |---- mp4 #mp4图片格式解析
|                                          |---- FileType.ets # 文件类型
|                                          |---- FileTypeDetector.ets  #文件格式识别
|                                          |---- ImageMetadataReader.ets #文件数据解析总入口
|                                          |---- ImageProcessingException.ets #异常情况处理
|                                          |---- TypeChecker.ets #文件格式接口回调器
|                                   |---- lang   #工具类
|                                          |---- StreamReader.ets   #文件流读取器
|                                   |---- metadata  #文件数据配置,包括字典之类
|                                          |---- avi #获取avi格式的文件数据
|                                          |---- gif #获取avi格式的文件数据
|                                          |---- jpeg #获取avi格式的文件数据
|                                          |---- mp3 #获取avi格式的文件数据
|                                          |---- mp4 #获取avi格式的文件数据
|                                          |---- Directory.ets #数据字典抽象类
|                                          |---- Metadata.ets #文件具体数据
|                                          |---- MetadataReader.ets #文件具体数据读取
|                                          |---- Tag.ets #指定字典类型
|                                          |---- TagDescriptor.ets #指定字典类型描述
|     |---- README.md  # 安装使用方法                    

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:

如何快速入门:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ......

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ......

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ......

鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题

2.性能优化方向

3.架构方向

4.鸿蒙开发系统底层方向

5.鸿蒙音视频开发方向

6.鸿蒙车载开发方向

7.鸿蒙南向开发方向

相关推荐
realhuizhu3 小时前
为什么程序员配出的颜色像"斑斓的灰"?因为你还在靠直觉
前端开发·ai工具·ui设计·deepseek·程序员提升
讯方洋哥6 小时前
HarmonyOS App开发——职前通应用App开发(下)
华为·harmonyos
摘星编程8 小时前
React Native鸿蒙版:Image图片占位符
react native·react.js·harmonyos
大雷神8 小时前
HarmonyOS智慧农业管理应用开发教程--高高种地-- 第30篇:设置与帮助系统
harmonyos
Swift社区9 小时前
HarmonyOS 自定义组件与布局实践
华为·harmonyos
鸿蒙开发工程师—阿辉11 小时前
让 AI 帮你编译部署鸿蒙应用:harmonyos-build-deploy Skill
华为·harmonyos
盐焗西兰花11 小时前
鸿蒙学习实战之路-Reader Kit构建阅读器最佳实践
学习·华为·harmonyos
一起养小猫13 小时前
Flutter for OpenHarmony 实战:记忆棋游戏完整开发指南
flutter·游戏·harmonyos
飞羽殇情13 小时前
基于React Native鸿蒙跨平台开发构建完整电商预售系统数据模型,完成参与预售、支付尾款、商品信息展示等
react native·react.js·华为·harmonyos
Betelgeuse7614 小时前
【Flutter For OpenHarmony】TechHub技术资讯界面开发
flutter·ui·华为·交互·harmonyos