原文:https://mp.weixin.qq.com/s/_2LHv7s7X4IJMCPU8hcCeg,点击链接查看更多技术内容。
 
随着科技进步,我们的生活发生了翻天覆地的变化。过去几年音视频技术发展迅速,直播行业异军突起,在社交、娱乐、教育、医疗等领域高歌猛进。当前,对音视频技术的需求又将到达一个新高度。

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

多媒体框架介绍结构:

相机(Camera)

播放(Player)

音频(Audio)

一、相机(Camera)

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

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

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

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

2、相机框架介绍:

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

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

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

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

3、工作流程介绍:

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

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

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

第一步:创建工作session;

第二步:配置输入镜头、输出流格式;

第三步:启动会话;

第四步:操作会话,变焦、聚焦等操作可在此步骤进行控制;

第五步:释放会话,此步骤用于释放所占用的系统资源。

二、播放(Player)

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

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

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

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

2、播放框架介绍:

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

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

在硬件适配层,即HDF层,提供兼容设计。播放框架内部轻量化的Histreamer引擎,基于传统的pipeline,通过插件化机制增强相关的音视频的编解码和解析能力,该引擎最典型的特征就是小。当开发者使用的时候,播放MP3,最低可做到600K以下。

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

三、音频(Audio)

1、音频框架设计目标:接口统一、效果一致、高性能、统一焦点控制和架构归一

接口统一是指同一套音频接口体系,支持不同场景的音频使用方式,例如音频低时延播放、高清音频和低功耗等。

效果一致是指音频框架提供给所有应用的一致性的效果体验。

高性能是指音频的低时延播放。

统一焦点控制是指音频框架对音频播放、录制的焦点的强管控。

架构归一是指音频框架适用于大、中、小的各种设备。

2、音频框架介绍:

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

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

其中,Audio Renderer提供了渲染音频文件和控制播放的接口,开发者可以通过本接口在输出设备中播放音频文件并管理播放任务。Audio Capturer提供了获取原始音频文件的方法,开发者可以通过该接口调用实现对音频数据的采集。Audio Manager提供了音频流类型、音量、音频设备管理等接口,开发者可以通过调用该接口实现对相关音频对象的管理。

以上是多媒体框架的相关介绍内容,如果您想了解更多关于HarmonyOS相关知识,请参考HarmonyOS应用开发平台(https:// developer.harmonyos.com/),那里有更多更详细的介绍,提供循序渐进的学习路径,便于开发者快速掌握相关知识,构建属于自己的HarmonyOS应用,我们期待您的加入。

HarmonyOS多媒体框架介绍的更多相关文章

  1. iOS多媒体框架介绍

    媒体层 媒体层包含图形技术.音频技术和视频技术,这些技术相互结合就可为移动设备带来最好的多媒体体验,更重要的是,它们让创建外观音效俱佳的应用程序变得更加容易.您可以使用iOS的高级框架更快速地创建高级 ...

  2. Vitamio 多媒体框架 介绍

    功能 Vitamio 是一款 Android 与 iOS 平台上的全能多媒体开发框架,全面支持硬件解码与 GPU 渲染.Vitamio 凭借其简洁易用的 API 接口赢得了全球众多开发者的青睐.到目前 ...

  3. Android的多媒体框架OpenCore介绍

    网上资料很少, 不过还是找到一个比较详细的说明: 特地在此整理了下: 地址:http://blog.csdn.net/djy1992/article/details/9339787 分为几个阶段: 1 ...

  4. Android多媒体框架对音乐播放器的支持

    下面介绍一下Andriod多媒体框架对开发者提供的支持有哪些.               1. MediaScannerReceiver                   这个广播接收者在接收到A ...

  5. [连载]《C#通讯(串口和网络)框架的设计与实现》-1.通讯框架介绍

    [连载]<C#通讯(串口和网络)框架的设计与实现>- 0.前言 目       录 第一章           通讯框架介绍... 2 1.1           通讯的本质... 2 1 ...

  6. YARN基本框架介绍

    YARN基本框架介绍 转载请注明出处:http://www.cnblogs.com/BYRans/ 在之前的博客<YARN与MRv1的对比>中介绍了YARN对Hadoop 1.0的完善.本 ...

  7. Selenium自动化测试框架介绍

    Selenium自动化测试框架介绍 1.测试架构作用 a.可维护性 b.提高编写脚本效率 c.提高脚本的可读性 2.框架的几大要素: Driver管理,脚本,数据,元素对象,LOG,报告,运行机制,失 ...

  8. UiAutomator自动化测试框架介绍

    UiAutomator自动化测试框架介绍 环境搭建 1         必要条件 1.1       JDK 1.2       SDK(API高于15) 1.3       Eclipse 2    ...

  9. [翻译]Spring框架参考文档(V4.3.3)-第二章Spring框架介绍 2.1 2.2 翻译--2.3待继续

    英文链接:http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/overview.ht ...

  10. MJExtension框架介绍

    MJExtension框架介绍 标签: MJExtension 2015-05-01 08:22 1120人阅读 评论(0) 收藏 举报  分类: Foundation(14)  版权声明:本文为博主 ...

随机推荐

  1. 视觉slam十四讲CH4 ---李群与李代数求导

    视觉slam十四讲 ---CH4 李群与李代数求导 李群与李代数相较于CH3是比较的抽象的数学知识,这个工具的提出目的是解决一些旋转位姿描述的优化问题.本讲最终的目的是解决如何描述对旋转求导的问题. ...

  2. mysql添加联合唯一索引与删除索引

    -- 添加联合唯一索引 alter table <表名> add unique index <索引名称> (name, no, org_id); -- 删除索引 ALTER T ...

  3. RocketMQ(5) 订阅关系的一致性规范

    多个消费者组订阅了多个Topic,并且每个消费者组里的多个消费者实例的订阅关系应该保持一致. 例如下消费关系, 不同的消费组,消费不同的队列,相同的消费组订阅相同的队列,tag 错误示例: 一个消费者 ...

  4. 解决element-ui的date-picker组件的picker-options属性不生效的问题

    网上查半天都没查到,好像没人写,于是俺怀着激动的心情来记录下 项目来需求,说要控制日期选择的最大最小范围,看似简单,实则藏深坑! 小白的我天真地按照网上的例子(主要是官网也不给一个!)写完如下: 1. ...

  5. Fiddler 延迟请求

    1.开启浏览器代理 2.fiddler设置要抓取的域名 3.设置fiddler代理端口 Tools->Options->Connections 4.设置接口延时 5.访问页面即可延时此接口

  6. 一文搞懂Vue的MVVM模式与双向绑定

    v-model 是 Vue.js 框架中用于实现双向数据绑定的指令.它充分体现了 MVVM(Model-View-ViewModel)模式中的双向数据绑定特性.下面我们将详细解释 v-model 如何 ...

  7. 世界银行使用.NET 7开发的免费电子问卷制作系统Survey Solution

    Survey Solution (下文简称SS) 是世界银行数据部开发的一套免费电子问卷制作系统, 官网地址为: https://mysurvey.solutions/, github地址:https ...

  8. 双声道音频16bit量化16KHz采样率共多少个bit

    Hz(赫兹)是频率单位,其含义是每秒钟的次数.kHz中的k是千的意思,所以kHz就是千赫兹,所以16kHz就是16000Hz,意思就是每秒钟采样16000次.bit(比特)称为"位" ...

  9. sqlplus清屏方法

    cmd中使用:host cls 或 clear screen或 clear scre或clea scr

  10. 引领汽车营销新趋势,3DCAT实时云渲染助力汽车三维可视化

    当前,汽车产业发展正从电动化的上半场,向智能化的下半场迈进.除了车机技术体验的智能化之外,观车体验的智能化也不容忽视. 这是因为,随着数字化.智能化.个性化的趋势,消费者对汽车的需求和期待也越来越高, ...