鸿蒙(API 12 Beta3版)【使用智能PhotoPicker】Media Library Kit媒体文件管理服务

智能PhotoPicker是基于PhotoPicker的高阶功能,可以从大量图片中根据配置的智能推荐参数,快速筛选出符合条件的图片,并在PhotoPicker中推荐给用户选择。

应用拉起PhotoPicker时,可以配置智能推荐参数。当设备中有满足应用传入的智能推荐参数的图片时,PhotoPicker界面除了展示全量的图片外,还会展示符合条件的推荐图片。

  • 选择特定类型([RecommendationType])的图片,如身份证、银行卡、驾驶证、行驶证、二维码等。当有符合应用指定类型的图片传入时,将显示对应的图片推荐页。

    以指定图片类型为二维码为例,PhotoPicker界面上将出现"二维码"的Tab页,展示图库中的二维码图片。

  • 在图文编辑时选择图片,系统可以根据应用传入的文本信息,提取出时间、地点、事物或活动,并根据提取的信息,推荐对应的图片展示在PhotoPicker中。

    举例说明,如设置的推荐参数文本是"国庆节,带着女儿去了上海野生动物园,看到了凶猛的大象,漂亮的火烈鸟,还有她心心念念的大熊猫,小家伙可开心了。"

    而且手机中有相应的图片,图片分析完成时,会在"推荐"的Tab页中展示出时间是国庆节,地点是上海野生动物园的大熊猫、火烈鸟、大象的图片。

约束与限制

  • 智能PhotoPicker推荐图片的功能依赖于图片分析的结果,只有在媒体库中的图片分析完成后,系统才会进行推荐。

    当设备在灭屏充电时,在电量充足、温度正常的情况下,系统将自动进行图片分析,分析完成后,图库主页的"相册"tab页里将显示分类相册。

    如果图片带有地理位置信息,设备需要联网才可以正常解析图片中的位置信息。

  • 当前仅支持推荐图片类型的文件。

开发方式

开发者可以通过两种方式实现PhotoPicker,拉起系统图库。接下来将分别介绍在这两种方式下,如何配置智能PhotoPicker参数。

  • [调用ArkTS接口photoAccessHelper.PhotoViewPicker实现PhotoPicker]
  • [调用ArkTS组件PhotoPickerComponent实现PhotoPicker]

通过接口实现

前提条件

  • 在配置智能PhotoPicker参数之前,需要参考[PhotoPicker接口的开发指导],实现PhotoPicker。

  • 在配置参数photoAccessHelper.PhotoSelectOptions时,媒体文件类型MIMEType([PhotoViewMIMETypes])需要配置为IMAGE_TYPE或IMAGE_VIDEO_TYPE。

    说明

    • 当MIMEType配置为IMAGE_TYPE或IMAGE_VIDEO_TYPE,并在后续步骤中配置了智能推荐参数,将根据参数推荐图片类型的文件。页签"全部"下展示的文件类型与MIMEType配置项一致。
    • 当MIMEType配置为其他类型,智能推荐不生效。正常展示PhotoPicker筛选的全部照片。

根据特定类型推荐图片

当需要推荐特定类型的图片,如身份证、银行卡、驾驶证、行驶证、二维码等,可通过配置[RecommendationOptions].recommendationType,指定推荐的图片类型。

let recommendationOptions: photoAccessHelper.RecommendationOptions = {
  recommendationType: photoAccessHelper.RecommendationType.QR_CODE // 配置枚举类型,不同的枚举值,推荐不同种类的图片
};
this.photoSelectOptions.recommendationOptions = recommendationOptions;// 将推荐参数赋值给 photoSelectOptions.recommendationOptions

根据文本信息推荐图片

当需要在图文编辑时,根据文本信息推荐图片,可通过配置[RecommendationOptions].textContextInfo。

说明

如果RecommendationOptions同时配置了recommendationType和textContextInfo,仅textContextInfo生效。

let textInfo: photoAccessHelper.TextContextInfo = {
  text: '国庆节,带着女儿去了上海野生动物园,看到了凶猛的大象,漂亮的火烈鸟,还有她心心念念的大熊猫,小家伙可开心了。'
};
let recommendationOptions: photoAccessHelper.RecommendationOptions = {
  textContextInfo: textInfo
};
this.photoSelectOptions.recommendationOptions = recommendationOptions;// 将推荐参数赋值给 photoSelectOptions.recommendationOptions

通过组件实现

前提条件

  • 在配置智能PhotoPicker参数之前,需要参考[PhotoPicker组件的开发指导],实现PhotoPicker。

  • 在配置PhotoPickerComponent的属性pickerOptions时,媒体文件类型MIMEType([PhotoViewMIMETypes])需要配置为IMAGE_TYPE或IMAGE_VIDEO_TYPE。

    说明

    • 当MIMEType配置为IMAGE_TYPE或IMAGE_VIDEO_TYPE,并在后续步骤中配置了智能推荐参数,将根据参数推荐图片类型的文件。页签"全部"下展示的文件类型与MIMEType配置项一致。
    • 当MIMEType配置为其他类型,智能推荐不生效。正常展示PhotoPicker筛选的全部照片。

根据特定类型推荐图片

当需要推荐特定类型的图片,如身份证、银行卡、驾驶证、行驶证、二维码等,可通过配置[RecommendationOptions].recommendationType,指定推荐的图片类型。支持的图片类型可参考[RecommendationType]。

let recommendationOptions: photoAccessHelper.RecommendationOptions = {
  recommendationType: photoAccessHelper.RecommendationType.QR_CODE // 配置枚举类型,不同的枚举值,推荐不同种类的图片
};
this.pickerOptions.recommendationOptions = recommendationOptions;// 将推荐参数赋值给 pickerOptions.recommendationOptions

根据文本信息推荐图片

当需要在图文编辑时,根据文本信息推荐图片,可通过配置[RecommendationOptions].textContextInfo。

说明

如果RecommendationOptions同时配置了recommendationType和textContextInfo,仅textContextInfo生效。

let textInfo: photoAccessHelper.TextContextInfo = {
  text: '国庆节,带着女儿去了上海野生动物园,看到了凶猛的大象,漂亮的火烈鸟,还有她心心念念的大熊猫,小家伙可开心了。'
};
let recommendationOptions: photoAccessHelper.RecommendationOptions = {
  textContextInfo: textInfo
};
this.pickerOptions.recommendationOptions = recommendationOptions;// 将推荐参数赋值给 pickerOptions.recommendationOptions

最后呢

很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。

而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档 》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。

针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细鸿蒙(OpenHarmony )手册(共计1236页)与鸿蒙(OpenHarmony )开发入门视频,帮助大家在技术的道路上更进一步。

  • 《鸿蒙 (OpenHarmony)开发学习视频》
  • 《鸿蒙生态应用开发V2.0白皮书》
  • 《鸿蒙 (OpenHarmony)开发基础到实战手册》
  • OpenHarmony北向、南向开发环境搭建
  • 《鸿蒙开发基础》
  • 《鸿蒙开发进阶》
  • 《鸿蒙开发实战》

总结

鸿蒙---作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。

并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行! 自↓↓↓拿

相关推荐
恋猫de小郭18 分钟前
鸿蒙版 React Native 正式开源,ohos_react_native 了解一下
react native·react.js·harmonyos
OH五星上将2 小时前
OpenHarmony(鸿蒙南向开发)——小型系统芯片移植指南(二)
驱动开发·harmonyos·内存管理·openharmony·鸿蒙内核·鸿蒙源码·鸿蒙移植
让开,我要吃人了2 小时前
OpenHarmony鸿蒙开发( Beta5.0)智能油烟机开发实践
驱动开发·嵌入式硬件·华为·移动开发·harmonyos·鸿蒙·openharmony
OH五星上将2 小时前
OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植指南(二)
嵌入式硬件·移动开发·harmonyos·移植·openharmony·鸿蒙开发
金博客9 小时前
QT进行音频录制
c++·qt·音视频
cuijiecheng201810 小时前
音视频入门基础:AAC专题(1)——AAC官方文档下载
音视频·aac
FutureUniant10 小时前
GitHub每日最火火火项目(9.13)
人工智能·python·计算机视觉·github·音视频
Andy醒11 小时前
HarmonyOS开发之使用Picker(从相册选择图片),并且通过Swiper组件实现图片预览
harmonyos·鸿蒙
gomogomono12 小时前
【FFMPEG】FFplay音视频同步分析(下)
ffmpeg·音视频
念威14 小时前
unity导入半透明webm + AE合成半透明视频
unity·游戏引擎·音视频·web