0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HarmonyOS NEXT讓開發(fā)者快速上手媒體生態(tài)一致體驗開發(fā)

焦點訊 ? 來源:焦點訊 ? 作者:焦點訊 ? 2023-11-22 16:20 ? 次閱讀

隨著技術(shù)的不斷發(fā)展和多媒體的不斷演進(jìn),越來越多的傳統(tǒng)場景將有可能被顛覆,開發(fā)者們也需要不斷的學(xué)習(xí)和更新自己的技能,以適應(yīng)新的需求和挑戰(zhàn)。然而在開發(fā)過程中,很多開發(fā)者都會遇到“為什么我開發(fā)的相機不如系統(tǒng)相機的效果好?”,“為什么我的應(yīng)用和其他的音樂一起發(fā)聲了,我要怎么處理” 以及“我應(yīng)該怎么做才能在系統(tǒng)的播控中心里可以看到?”等問題。對于開發(fā)者的這些疑問,HarmonyOS NEXT通過提供簡單易用體驗一致的生態(tài)借口,就能幫助開發(fā)者輕松解決上述問題。

三個統(tǒng)一,讓三方相機與系統(tǒng)相機獲取一致體驗

相機應(yīng)用在早期的版本開發(fā)中,開發(fā)者們能夠發(fā)現(xiàn)三方相機和系統(tǒng)相機拍照的效果會有較明顯的不一致,色彩/飽和度/紋理細(xì)節(jié)等方面會出現(xiàn)一些明顯的差異。

wKgaomVdudCAO5HmAAKJ8-7SnTs713.png

(三方相機)

wKgaomVdudGAAoY2AAL6K4hDa68592.png

(系統(tǒng)相機)

出現(xiàn)這樣的情況主要有兩個原因,一個是因為系統(tǒng)相機采用了私有同路,從而獲取了更好的拍照效果,另一個原因就是三方相機預(yù)覽流拍照效果相對較差。

wKgZomVdudGAIwrgAAC-CqaT9Io377.png

針對上述問題,HarmonyOS NEXT三個步驟即可解決相關(guān)問題。

第一步:統(tǒng)一接口,統(tǒng)一流程,統(tǒng)一效果:通過統(tǒng)一開發(fā)接口和流程,從而使得三方相機和系統(tǒng)相機獲取一致的體驗

wKgaomVdudKAX9reAAE5ZvGCXQA781.png

第二步:分離預(yù)覽、拍照、錄像,明確流定義,讓正確的流做正確的事

wKgZomVdudKAHVv1AAEtdhfrrNg683.png

第三步:相機管道流水線模型

wKgaomVdudKAMCv_AACI7BTiRO8567.png

開發(fā)者可參考下方示例代碼:

相機基本控制流程:

wKgZomVdudOAQfJHAABiPy0l7r4111.png

使用PreviewOutput實現(xiàn)相機預(yù)覽:

wKgaomVdudOAaeJkAACouIs00s4834.png

使用PhotoOutput實現(xiàn)相機拍照:

wKgZomVdudSAXjHPAACsd9Rrwqs689.png

使用VideoOutput實現(xiàn)相機錄像:

wKgaomVdudWAEfz3AACYMrpnKE8462.png

統(tǒng)一焦點處理,并發(fā)播放更有序

開發(fā)者在音視頻應(yīng)用開發(fā)中最常遇到的場景,就是并發(fā)播放,而并發(fā)播放一般解決思路是各個應(yīng)用對焦點的申請和處理。傳統(tǒng)的焦點管理方法更依賴應(yīng)用遵守約定好的策略,如果有的應(yīng)用不遵守,比如不響應(yīng)或者濫用焦點,就可能會出現(xiàn)不發(fā)聲或者亂發(fā)聲的現(xiàn)象,影響了用戶的體驗。

針對上述問題,HarmonyOS NEXT進(jìn)一步改進(jìn)了焦點管理的設(shè)計,提供統(tǒng)一的焦點處理策略,用以規(guī)范應(yīng)用對于焦點的使用,以達(dá)成統(tǒng)一的發(fā)聲體驗,HarmonyOS NEXT系統(tǒng)中的焦點管理模塊兒會存儲一個焦點策略表,定義了不同的場景下,哪些應(yīng)用可以獲取焦點進(jìn)行播放,哪些應(yīng)用會失去焦點而停止播放等策略。

wKgZomVdudWAH2hwAADz3t-DvWA213.png

各位開發(fā)者可通過接口的使用來感受實際處理策略。

首先,在A應(yīng)用創(chuàng)建并使用AudioRenderer播放的時候,系統(tǒng)會自動為其申請焦點,此行為屬于系統(tǒng)的行為。

當(dāng)A應(yīng)用播放后,系統(tǒng)的焦點策略會進(jìn)行判斷,如果A應(yīng)用可以搶到焦點,那就會使得失去焦點的應(yīng)用暫停播放;同時被暫停的應(yīng)用也會在INTERRUPT_FORCE的回調(diào)事件中,得到暫停的狀態(tài),應(yīng)用在收到這個事件后,就需要存儲并更新應(yīng)用內(nèi)的狀態(tài)。

當(dāng)A應(yīng)用停止播放后,之前被暫停的應(yīng)用也會收到一個恢復(fù)播放的事件,這個事件會在INTERRUPT_SHARE中,應(yīng)用可以進(jìn)行恢復(fù)播放的操作,或者忽略,屬于非強制行為。

開發(fā)者可參考下方示例代碼:

wKgaomVdudaAc1sEAACM39mD2gc642.png

打通低時延通路,一套接口適配不同場景

很多開發(fā)者都知道,游戲、K歌、樂器等應(yīng)用對于音頻的輸出時延要求很高,常規(guī)的播放通路一般只能達(dá)到60ms左右,甚至更高的時延,并不能滿足這些應(yīng)用的使用訴求。而HarmonyOS NEXT則為此提供了低時延通路的設(shè)計方案。

首先在系統(tǒng)中的普通通路之外新增一條垂直打通硬件的低時延通路,通過bypass 框架層直接在DSP進(jìn)行混音,達(dá)成最低20ms的音頻輸出時延。

其次為了簡化應(yīng)用的接入,通過在接口中提供不同的參數(shù)配置,就能使開發(fā)者可以用一套接口同時支持低時延和普通通路兩種播放模式。

wKgZomVdudaACq3_AAD78jllHrI050.png

開發(fā)者們可以通過OH_AudioStreamXXX接口來進(jìn)行低時延通路的創(chuàng)建,通過傳入不同參數(shù)就可以設(shè)置低時延模式,亦可以設(shè)置普通模式,從而使用一套接口來適配不同場景。

同時,低時延模式一般采用來pull模式來獲取數(shù)據(jù),在這里提供一個callback,需要應(yīng)用創(chuàng)建并填入。

開發(fā)者可參考下方示例代碼:

wKgaomVdudiAQmhaAACzZ-j0KR0264.png

播控應(yīng)用控制一鍵直達(dá)

基于上方所述焦點管理策略,HarmonyOS NEXT解決了音視頻應(yīng)用并發(fā)播放的問題;而對于播放中的應(yīng)用控制,系統(tǒng)也提供了規(guī)范支持。

首先在系統(tǒng)提供的C/S模式的播控管理的框架中,應(yīng)用作為客戶端,接入AVSession的會話端,設(shè)置必要的信息;

其次系統(tǒng)的播控中心獲取與之對應(yīng)的會話控制器,獲取信息進(jìn)行展示,以及對應(yīng)用發(fā)送控制命令。

最后通過標(biāo)準(zhǔn)接口的接入,規(guī)范應(yīng)用的播放行為;同時通過統(tǒng)一的播控中心的入口,就能讓用戶對于播放的控制做到一鍵直達(dá)。

wKgZomVdudiADttsAAEgAojVdOc588.png

開發(fā)者可參考下方示例代碼:

wKgaomVdudmAHddsAAJc69RM6w8157.png

想要跟上技術(shù)發(fā)展的步伐,開發(fā)者學(xué)習(xí)新技術(shù)的同時,能夠擁有開發(fā)便捷高效的工具則能達(dá)到事半功倍的效果。除了多媒體技術(shù)的開發(fā)管理,HarmonyOS NEXT也在積極為各位開發(fā)者提供其他更多技術(shù)開發(fā)解決方案,讓開發(fā)者在高效開發(fā)之余也能持續(xù)拓寬視野,提高自己的創(chuàng)新能力。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開發(fā)者
    +關(guān)注

    關(guān)注

    1

    文章

    547

    瀏覽量

    16970
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1966

    瀏覽量

    29962
收藏 人收藏

    評論

    相關(guān)推薦

    【書籍評測活動NO.47】HarmonyOS NEXT啟程:零基礎(chǔ)構(gòu)建純血鴻蒙應(yīng)用

    。 然而,許多開發(fā)者面臨個問題:如何快速上手HarmonyOS NEXT
    發(fā)表于 10-14 14:36

    慶科信息獲HarmonyOS高級應(yīng)用開發(fā)能力認(rèn)證!助力品牌快速打造鴻蒙原生應(yīng)用

    近日,上海慶科信息技術(shù)有限公司榮獲HarmonyOS應(yīng)用開發(fā)者高級認(rèn)證,公司在華為鴻蒙生態(tài)開發(fā)能力得到進(jìn)步拓展,能夠幫助客戶
    的頭像 發(fā)表于 07-17 13:24 ?524次閱讀
    慶科信息獲<b class='flag-5'>HarmonyOS</b>高級應(yīng)用<b class='flag-5'>開發(fā)</b>能力認(rèn)證!助力品牌<b class='flag-5'>快速</b>打造鴻蒙原生應(yīng)用

    HarmonyOS開發(fā)案例:【開發(fā),多端部署(視頻應(yīng)用)】

    提供了“開發(fā),多端部署”的系統(tǒng)能力,讓開發(fā)者可以基于開發(fā),快速構(gòu)建不同類型終端上的應(yīng)用,
    的頭像 發(fā)表于 05-11 15:41 ?1304次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發(fā)</b>案例:【<b class='flag-5'>一</b>次<b class='flag-5'>開發(fā)</b>,多端部署(視頻應(yīng)用)】

    鴻蒙開發(fā)者預(yù)覽版如何?

    在24年的華為鴻蒙發(fā)布會中表示。預(yù)覽版已經(jīng)向開發(fā)者開放申請,首批支持的機型有三款分別為華為 Mate 60、華為Mate 60 Pro、華為Mate X5。 其HarmonyOS NEXT去除
    發(fā)表于 02-17 21:54

    華為宣布HarmonyOS NEXT鴻蒙星河版開發(fā)者預(yù)覽面向開發(fā)者開放申請

    華為宣布HarmonyOS NEXT鴻蒙星河版開發(fā)者預(yù)覽面向開發(fā)者開放申請,這意味著鴻蒙生態(tài)進(jìn)入第二階段,將加速千行百業(yè)的應(yīng)用鴻蒙化。
    的頭像 發(fā)表于 01-29 16:42 ?1343次閱讀
    華為宣布<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>NEXT</b>鴻蒙星河版<b class='flag-5'>開發(fā)者</b>預(yù)覽面向<b class='flag-5'>開發(fā)者</b>開放申請

    淘寶與華為合作將基于HarmonyOS NEXT啟動鴻蒙原生應(yīng)用開發(fā)

    1月25日,淘寶與華為舉辦鴻蒙合作簽約儀式,宣布將基于HarmonyOS NEXT啟動鴻蒙原生應(yīng)用開發(fā)。
    的頭像 發(fā)表于 01-26 16:14 ?1019次閱讀

    “純血”鴻蒙到來,對開發(fā)者是機會嗎?

    、前言 華為宣布HarmonyOS NEXT鴻蒙星河版面向開發(fā)者開放申請,這最新版本的鴻蒙系統(tǒng)也被喻為“純血鴻蒙”。用余承東的話說便是,
    的頭像 發(fā)表于 01-24 13:44 ?934次閱讀
    “純血”鴻蒙到來,對<b class='flag-5'>開發(fā)者</b>是機會嗎?

    今日看點丨華為 HarmonyOS NEXT 鴻蒙星河版第四季度商用;博世計劃2026年底前裁員1200人

    1. 華為 HarmonyOS NEXT 鴻蒙星河版第四季度商用,第二季度啟動開發(fā)者 Beta ? 在鴻蒙生態(tài)千帆啟航儀式,華為宣布 Harmony
    發(fā)表于 01-19 10:47 ?1187次閱讀

    HarmonyOS SDK,助力開發(fā)者打造煥然新的鴻蒙原生應(yīng)用

    六大領(lǐng)域的開發(fā)能力,為開發(fā)者帶來簡潔、高效的開發(fā)體驗,開發(fā)者只需通過 API 調(diào)用即可實現(xiàn)豐富的鴻蒙原生應(yīng)用功能和獨特體驗。同時,在開發(fā)
    發(fā)表于 01-19 10:31

    開發(fā)者說】HarmonyOS實踐之應(yīng)用狀態(tài)變量共享

    # 開發(fā)者說 # 【開發(fā)者說】欄目是為HarmonyOS開發(fā)者提供的展示和分享平臺,在這里,大家可以發(fā)表自己的技術(shù)洞察和見解,也可以展示自己的開發(fā)
    的頭像 發(fā)表于 12-26 21:20 ?741次閱讀
    【<b class='flag-5'>開發(fā)者</b>說】<b class='flag-5'>HarmonyOS</b>實踐之應(yīng)用狀態(tài)變量共享

    開發(fā)者說】開發(fā)案例分享:萬能卡片也能用來玩游戲

    】,即可獲得投稿渠道。期待你們的分享~ 前言 作為開發(fā)愛好,從大了講,我學(xué)習(xí)并進(jìn)行HarmonyOS相關(guān)
    的頭像 發(fā)表于 11-30 21:15 ?480次閱讀
    【<b class='flag-5'>開發(fā)者</b>說】<b class='flag-5'>開發(fā)</b>案例分享:萬能卡片也能用來玩游戲

    【鴻蒙生態(tài)千帆起】HarmonyOS系統(tǒng)級地圖與位置服務(wù),賦能廣大開發(fā)者

    HarmonyOS下地圖領(lǐng)域的最新技術(shù)探索與實踐成果。 得益于HarmonyOS開發(fā)多端部署、可分可合自由流轉(zhuǎn)、統(tǒng)一生態(tài)原生智能的特性,
    發(fā)表于 11-22 10:37

    【鴻蒙生態(tài)千帆起】HarmonyOS系統(tǒng)級地圖與位置服務(wù),賦能廣大開發(fā)者

    下地圖領(lǐng)域的最新技術(shù)探索與實踐成果 。 得益于HarmonyOS開發(fā)多端部署、可分可合自由流轉(zhuǎn)、統(tǒng)一生態(tài)原生智能的特性,Petal Maps為
    的頭像 發(fā)表于 11-21 21:10 ?562次閱讀
    【鴻蒙<b class='flag-5'>生態(tài)</b>千帆起】<b class='flag-5'>HarmonyOS</b>系統(tǒng)級地圖與位置服務(wù),賦能廣大<b class='flag-5'>開發(fā)者</b>

    學(xué)習(xí)指南:如何快速上手媒體生態(tài)一致體驗開發(fā)

    呢?對于開發(fā)者的這些疑問,HarmonyOS通過提供簡單易用體驗一致生態(tài)接口,使得開發(fā)者可以輕松解決上述問題。下面會按照不同模塊逐個進(jìn)行介
    發(fā)表于 11-17 11:09

    【技術(shù)視界】學(xué)習(xí)指南:如何快速上手媒體生態(tài)一致體驗開發(fā)

    的是華為媒體技術(shù)工程師的分享,希望為您的開發(fā)之路帶來啟發(fā)~ 作者:chengcheng,華為媒體技術(shù)工程師 過去開發(fā)者們在使用多媒體能力時,
    的頭像 發(fā)表于 11-16 21:15 ?522次閱讀
    【技術(shù)視界】學(xué)習(xí)指南:如何<b class='flag-5'>快速</b><b class='flag-5'>上手</b><b class='flag-5'>媒體</b><b class='flag-5'>生態(tài)</b><b class='flag-5'>一致</b>體驗<b class='flag-5'>開發(fā)</b>