HarmonyOS多媒体框架介绍

HarmonyOS 作为一款全新的面向全场景的分布式操作系统,不断创新,致力于为开发者提供更好、更高效的使用体验。接下来让我们一起学习了解下 HarmonyOS 中的多媒体框架的相关知识吧!

多媒体框架介绍结构:

相机(Camera)

①相机框架设计目标:简单易用、效果一致、性能优先

简单易用是指相机框架从面向用户、场景和一些功能的高级 API 的设计,去屏蔽一些底层复杂的硬件操作,从而简化应用层的编程。

效果一致是指相机框架通过对应用层接口的统一管控,以及对厂商扩展的归一,来确保对所有包含相机的应用提供同样的展示质量和效果。

性能优先是指相机框架通过内部软硬协同的设计,提升拍照启动、预览和拍照过程中的性能体验。

②相机框架介绍

如下图所示:

左侧绿色模块是目前已经开源或者开放的能力。其中包含一些镜头管理能力,例如镜头查询、生命周期管理,除此之外,也将支持一些基础的预览、拍照和录像功能。

为了进一步降低拍照过程中对于前台资源的占用,后期将考虑提供开源和开放的离线拍照的架构设计。

从分层架构的角度,相机框架的框架层提供了开发者可以感知的 API 来简化编程,服务层主要通过一些高性能、高画质的设计,提升对开发者服务的质量和体验效果。

针对芯片适配层,对不同厂商的芯片适配接口提供归一的抽象,做比较兼容的设计,确保芯片厂商接入系统的时候花费最低的成本,同时也保证兼容性。

③工作流程介绍

下图是相机模块运行态的业务流程图:

当需要下发相机的命令时,无论是启动预览或者预览之后的其他命令,再或者是其他变量下发到底层系统的操作的命令,当接收到时,将会被转化为对底层的控制,然后再由相机框架通过一定方式将处理结果回传给应用和开发者。

如上图所示,此流程在代码实现上分为五个步骤:

播放(Player)

①播放框架设计目标:低消耗、简单易用、灵活扩展

低消耗是指播放框架在播放资源的消耗和功耗上是最优的。

简单易用是指播放框架提供了两种接口形式:JS 和结合 ArkUI 提供的 UI 控件接口,便于开发者使用。

灵活扩展是指播放框架针对服务类目的引擎,可增强、可扩展、可替换。

②播放框架介绍

播放框架主要提供较为通用的,但控制能力丰富的音、视频的播放和录制功能。中间件的核心是基于引擎提供各种各样的服务的能力。

目前提供了两套引擎,分别是 GStreamer 引擎和 HiStreamer 引擎,功能都比较齐全。

在硬件适配层,即 HDF 层,提供兼容设计。播放框架内部轻量化的 Histreamer 引擎,基于传统的 pipeline,通过插件化机制增强相关的音视频的编解码和解析能力,该引擎最典型的特征就是小。

当开发者使用的时候,播放 MP3,最低可做到 600K 以下。

另外引擎本身可跨多系统支持。除此之外,MP3,AAC,H264,HTTP,HLS 等当前常用的音频格式都是完全支持的,开发者可以通过一键化的方式灵活切换引擎。

音频(Audio)

①音频框架设计目标

如下:

②音频框架介绍

音频框架主要采用 CS 的架构,支持多个音频同时运行。

音频模块分为三个,分别是 Audio Renderer、Audio Capturer、Audio Manager。

其中,Audio Renderer 提供了渲染音频文件和控制播放的接口,开发者可以通过本接口在输出设备中播放音频文件并管理播放任务。

Audio Capturer 提供了获取原始音频文件的方法,开发者可以通过该接口调用实现对音频数据的采集。

Audio Manager 提供了音频流类型、音量、音频设备管理等接口,开发者可以通过调用该接口实现对相关音频对象的管理。

以上是多媒体框架的相关介绍内容,如果您想了解更多关于HarmonyOS相关知识,请参考 HarmonyOS 应用开发平台。

展开阅读全文

页面更新:2024-06-10

标签:框架   开发者   架构   接口   音频   效果   相机   多媒体   能力   操作   引擎

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top