0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HarmonyOS NEXT让开发者快速上手媒体生态一致体验开发

焦点讯 来源:焦点讯 作者:焦点讯 2023-11-22 16:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着技术的不断发展和多媒体的不断演进,越来越多的传统场景将有可能被颠覆,开发者们也需要不断的学习和更新自己的技能,以适应新的需求和挑战。然而在开发过程中,很多开发者都会遇到“为什么我开发的相机不如系统相机的效果好?”,“为什么我的应用和其他的音乐一起发声了,我要怎么处理” 以及“我应该怎么做才能在系统的播控中心里可以看到?”等问题。对于开发者的这些疑问,HarmonyOS NEXT通过提供简单易用体验一致的生态借口,就能帮助开发者轻松解决上述问题。

三个统一,让三方相机与系统相机获取一致体验

相机应用在早期的版本开发中,开发者们能够发现三方相机和系统相机拍照的效果会有较明显的不一致,色彩/饱和度/纹理细节等方面会出现一些明显的差异。

wKgaomVdudCAO5HmAAKJ8-7SnTs713.png

(三方相机)

wKgaomVdudGAAoY2AAL6K4hDa68592.png

(系统相机)

出现这样的情况主要有两个原因,一个是因为系统相机采用了私有同路,从而获取了更好的拍照效果,另一个原因就是三方相机预览流拍照效果相对较差。

wKgZomVdudGAIwrgAAC-CqaT9Io377.png

针对上述问题,HarmonyOS NEXT三个步骤即可解决相关问题。

第一步:统一接口,统一流程,统一效果:通过统一开发接口和流程,从而使得三方相机和系统相机获取一致的体验

wKgaomVdudKAX9reAAE5ZvGCXQA781.png

第二步:分离预览、拍照、录像,明确流定义,让正确的流做正确的事

wKgZomVdudKAHVv1AAEtdhfrrNg683.png

第三步:相机管道流水线模型

wKgaomVdudKAMCv_AACI7BTiRO8567.png

开发者可参考下方示例代码:

相机基本控制流程:

wKgZomVdudOAQfJHAABiPy0l7r4111.png

使用PreviewOutput实现相机预览:

wKgaomVdudOAaeJkAACouIs00s4834.png

使用PhotoOutput实现相机拍照:

wKgZomVdudSAXjHPAACsd9Rrwqs689.png

使用VideoOutput实现相机录像:

wKgaomVdudWAEfz3AACYMrpnKE8462.png

统一焦点处理,并发播放更有序

开发者在音视频应用开发中最常遇到的场景,就是并发播放,而并发播放一般解决思路是各个应用对焦点的申请和处理。传统的焦点管理方法更依赖应用遵守约定好的策略,如果有的应用不遵守,比如不响应或者滥用焦点,就可能会出现不发声或者乱发声的现象,影响了用户的体验。

针对上述问题,HarmonyOS NEXT进一步改进了焦点管理的设计,提供统一的焦点处理策略,用以规范应用对于焦点的使用,以达成统一的发声体验,HarmonyOS NEXT系统中的焦点管理模块儿会存储一个焦点策略表,定义了不同的场景下,哪些应用可以获取焦点进行播放,哪些应用会失去焦点而停止播放等策略。

wKgZomVdudWAH2hwAADz3t-DvWA213.png

各位开发者可通过接口的使用来感受实际处理策略。

首先,在A应用创建并使用AudioRenderer播放的时候,系统会自动为其申请焦点,此行为属于系统的行为。

当A应用播放后,系统的焦点策略会进行判断,如果A应用可以抢到焦点,那就会使得失去焦点的应用暂停播放;同时被暂停的应用也会在INTERRUPT_FORCE的回调事件中,得到暂停的状态,应用在收到这个事件后,就需要存储并更新应用内的状态。

当A应用停止播放后,之前被暂停的应用也会收到一个恢复播放的事件,这个事件会在INTERRUPT_SHARE中,应用可以进行恢复播放的操作,或者忽略,属于非强制行为。

开发者可参考下方示例代码:

wKgaomVdudaAc1sEAACM39mD2gc642.png

打通低时延通路,一套接口适配不同场景

很多开发者都知道,游戏、K歌、乐器等应用对于音频的输出时延要求很高,常规的播放通路一般只能达到60ms左右,甚至更高的时延,并不能满足这些应用的使用诉求。而HarmonyOS NEXT则为此提供了低时延通路的设计方案。

首先在系统中的普通通路之外新增一条垂直打通硬件的低时延通路,通过bypass 框架层直接在DSP进行混音,达成最低20ms的音频输出时延。

其次为了简化应用的接入,通过在接口中提供不同的参数配置,就能使开发者可以用一套接口同时支持低时延和普通通路两种播放模式。

wKgZomVdudaACq3_AAD78jllHrI050.png

开发者们可以通过OH_AudioStreamXXX接口来进行低时延通路的创建,通过传入不同参数就可以设置低时延模式,亦可以设置普通模式,从而使用一套接口来适配不同场景。

同时,低时延模式一般采用来pull模式来获取数据,在这里提供一个callback,需要应用创建并填入。

开发者可参考下方示例代码:

wKgaomVdudiAQmhaAACzZ-j0KR0264.png

播控应用控制一键直达

基于上方所述焦点管理策略,HarmonyOS NEXT解决了音视频应用并发播放的问题;而对于播放中的应用控制,系统也提供了规范支持。

首先在系统提供的C/S模式的播控管理的框架中,应用作为客户端,接入AVSession的会话端,设置必要的信息;

其次系统的播控中心获取与之对应的会话控制器,获取信息进行展示,以及对应用发送控制命令。

最后通过标准接口的接入,规范应用的播放行为;同时通过统一的播控中心的入口,就能让用户对于播放的控制做到一键直达。

wKgZomVdudiADttsAAEgAojVdOc588.png

开发者可参考下方示例代码:

wKgaomVdudmAHddsAAJc69RM6w8157.png

想要跟上技术发展的步伐,开发者学习新技术的同时,能够拥有开发便捷高效的工具则能达到事半功倍的效果。除了多媒体技术的开发管理,HarmonyOS NEXT也在积极为各位开发者提供其他更多技术开发解决方案,让开发者在高效开发之余也能持续拓宽视野,提高自己的创新能力。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发者
    +关注

    关注

    1

    文章

    733

    浏览量

    17925
  • HarmonyOS
    +关注

    关注

    80

    文章

    2147

    浏览量

    35594
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    QCon·上海站HarmonyOS开发者技术分论坛:共探鸿蒙开发新机遇

    论坛(以下简称“论坛”)成功举办,论坛聚焦 AI 实践落地与技术赋能,邀请多位华为技术专家深度解读并分享 HarmonyOS AI辅助开发能力、多设备适配解决方案、场景化赋能、性能调优、场景能力共建以及React Native性能优化等方面的实战内容,帮助
    的头像 发表于 10-24 15:59 702次阅读
    QCon·上海站<b class='flag-5'>HarmonyOS</b><b class='flag-5'>开发者</b>技术分论坛:共探鸿蒙<b class='flag-5'>开发</b>新机遇

    HarmonyOS 5】金融应用开发鸿蒙组件实践

    原生鸿蒙操作系统星河版,面向开发者开放申请,余承东宣布鸿蒙生态设备数达 8 亿台;建设银行、邮储银行等完成鸿蒙原生应用 Beta 版本开发。 2024 年 10 月 22 日: Harmon
    的头像 发表于 07-11 18:20 757次阅读
    【<b class='flag-5'>HarmonyOS</b> 5】金融应用<b class='flag-5'>开发</b>鸿蒙组件实践

    HDC 2025开发者主题演讲精彩回顾

    开发者解决方案升级等内容,同时多位生态伙伴分享基于HarmonyOS的最新开发实践,为开发者提供切实可行的创新思路,进
    的头像 发表于 07-09 11:20 1050次阅读

    软通动力出席华为开发者大会2025

    华为开发者大会 2025中,软通动力展出“鸿蒙电脑+AI:AI面试官”以及多款HarmonyOS Connect产品,并受邀在多个专题分论分享鸿蒙生态领域技术与解决方案能力。
    的头像 发表于 07-01 09:07 857次阅读

    HarmonyOS入门指南

    上手HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。 2、开源框架 harmony-utils 款功能丰富且极易
    的头像 发表于 06-27 00:11 568次阅读

    华为正式启动HarmonyOS 6开发者Beta

    在2025年华为开发者大会(HDC)上,华为正式启动HarmonyOS 6开发者Beta,并全面展示年多以来与合作伙伴共建鸿蒙生态的创新成
    的头像 发表于 06-24 15:42 648次阅读

    开发者即创世——HarmonyOS极客马拉松2025英雄召集令

    在万物智联的浪潮中,每次技术突破都可能成为改变世界的支点。HarmonyOS极客马拉松2025正式启动,诚邀开发者以代码为笔,在鸿蒙生态的画布上书写创新篇章。 这里没有遥不可及的科幻
    发表于 05-12 10:16

    Java开发者必备的效率工具——Perforce JRebel是什么?为什么很多Java开发者在用?

    Perforce JRebel是款Java开发效率工具,旨在帮助java开发人员更快地编写更好的应用程序。JRebel可即时重新加载对代码的修改,无需重启或重新部署应用程序,就能让开发者
    的头像 发表于 04-27 13:44 659次阅读
    Java<b class='flag-5'>开发者</b>必备的效率工具——Perforce JRebel是什么?为什么很多Java<b class='flag-5'>开发者</b>在用?

    HarmonyOS 应用开发赋能套件:鸿蒙原生应用开发的 “神助攻”

    随着鸿蒙生态快速发展,越来越多的开发者投身于鸿蒙原生应用的开发中。然而,在学习鸿蒙原生应用开发时,许多
    发表于 02-17 16:37

    名单公布!【书籍评测活动NO.56】极速探索HarmonyOS NEXT:纯血鸿蒙应用开发实践

    独立生态的国产操作系统。这无疑是项巨大的进步,也是信息技术国产化道路上的重要里程碑。 本书专为渴望深入探索HarmonyOS NEXT开发
    发表于 01-20 16:53

    JetBrains IDE上架开发微信小程序的官方插件

    快速发展的特色开发需求,最近 JetBrains 官方开发并上线了款专用于微信小程序开发的插件(插件名称:WeChat Mini Prog
    的头像 发表于 01-16 17:15 1080次阅读
    JetBrains IDE上架<b class='flag-5'>开发</b>微信小程序的官方插件

    AKI跨语言调用库神助攻C/C++代码迁移至HarmonyOS NEXT

    /C++代码快速迁移至HarmonyOS NEXT。凭借卓越的兼容性,AKI已成为厂商与开发者打造鸿蒙原生应用过程中广泛使用的跨语言调用解决方案。 AKI是
    发表于 01-02 17:08

    HarmonyOS课》焕新升级,赋能开发者快速掌握鸿蒙应用开发

    HarmonyOS课》焕新升级,赋能开发者快速掌握鸿蒙应用开发 随着HarmonyOS
    发表于 01-02 14:24

    HarmonyOS开发指导类文档更新速递(下)

    伴随着HarmonyOS 5.0.0 Release、HarmonyOS 5.0.1 Release版本的发布,HarmonyOS官网文档也带来了不少上新内容。本期HarmonyOS
    的头像 发表于 12-30 09:54 2154次阅读
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>开发</b>指导类文档更新速递(下)

    HarmonyOS开发指导类文档更新速递(上)

    伴随着HarmonyOS 5.0.0 Release版本的发布,HarmonyOS官网文档也带来了不少上新内容。本期HarmonyOS NEXT开发
    的头像 发表于 12-30 09:50 1769次阅读
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>开发</b>指导类文档更新速递(上)