隨著技術的不斷發展和多媒體的不斷演進,越來越多的傳統場景將有可能被顛覆,開發者們也需要不斷的學習和更新自己的技能,以適應新的需求和挑戰。然而在開發過程中,很多開發者都會遇到“為什么我開發的相機不如系統相機的效果好?”,“為什么我的應用和其他的音樂一起發聲了,我要怎么處理” 以及“我應該怎么做才能在系統的播控中心里可以看到?”等問題。對于開發者的這些疑問,HarmonyOS NEXT通過提供簡單易用體驗一致的生態借口,就能幫助開發者輕松解決上述問題。
三個統一,讓三方相機與系統相機獲取一致體驗
相機應用在早期的版本開發中,開發者們能夠發現三方相機和系統相機拍照的效果會有較明顯的不一致,色彩/飽和度/紋理細節等方面會出現一些明顯的差異。
(三方相機)
(系統相機)
出現這樣的情況主要有兩個原因,一個是因為系統相機采用了私有同路,從而獲取了更好的拍照效果,另一個原因就是三方相機預覽流拍照效果相對較差。
針對上述問題,HarmonyOS NEXT三個步驟即可解決相關問題。
第一步:統一接口,統一流程,統一效果:通過統一開發接口和流程,從而使得三方相機和系統相機獲取一致的體驗
第二步:分離預覽、拍照、錄像,明確流定義,讓正確的流做正確的事
第三步:相機管道流水線模型
開發者可參考下方示例代碼:
相機基本控制流程:
使用PreviewOutput實現相機預覽:
使用PhotoOutput實現相機拍照:
使用VideoOutput實現相機錄像:
統一焦點處理,并發播放更有序
開發者在音視頻應用開發中最常遇到的場景,就是并發播放,而并發播放一般解決思路是各個應用對焦點的申請和處理。傳統的焦點管理方法更依賴應用遵守約定好的策略,如果有的應用不遵守,比如不響應或者濫用焦點,就可能會出現不發聲或者亂發聲的現象,影響了用戶的體驗。
針對上述問題,HarmonyOS NEXT進一步改進了焦點管理的設計,提供統一的焦點處理策略,用以規范應用對于焦點的使用,以達成統一的發聲體驗,HarmonyOS NEXT系統中的焦點管理模塊兒會存儲一個焦點策略表,定義了不同的場景下,哪些應用可以獲取焦點進行播放,哪些應用會失去焦點而停止播放等策略。
各位開發者可通過接口的使用來感受實際處理策略。
首先,在A應用創建并使用AudioRenderer播放的時候,系統會自動為其申請焦點,此行為屬于系統的行為。
當A應用播放后,系統的焦點策略會進行判斷,如果A應用可以搶到焦點,那就會使得失去焦點的應用暫停播放;同時被暫停的應用也會在INTERRUPT_FORCE的回調事件中,得到暫停的狀態,應用在收到這個事件后,就需要存儲并更新應用內的狀態。
當A應用停止播放后,之前被暫停的應用也會收到一個恢復播放的事件,這個事件會在INTERRUPT_SHARE中,應用可以進行恢復播放的操作,或者忽略,屬于非強制行為。
開發者可參考下方示例代碼:
打通低時延通路,一套接口適配不同場景
很多開發者都知道,游戲、K歌、樂器等應用對于音頻的輸出時延要求很高,常規的播放通路一般只能達到60ms左右,甚至更高的時延,并不能滿足這些應用的使用訴求。而HarmonyOS NEXT則為此提供了低時延通路的設計方案。
首先在系統中的普通通路之外新增一條垂直打通硬件的低時延通路,通過bypass 框架層直接在DSP進行混音,達成最低20ms的音頻輸出時延。
其次為了簡化應用的接入,通過在接口中提供不同的參數配置,就能使開發者可以用一套接口同時支持低時延和普通通路兩種播放模式。
開發者們可以通過OH_AudioStreamXXX接口來進行低時延通路的創建,通過傳入不同參數就可以設置低時延模式,亦可以設置普通模式,從而使用一套接口來適配不同場景。
同時,低時延模式一般采用來pull模式來獲取數據,在這里提供一個callback,需要應用創建并填入。
開發者可參考下方示例代碼:
播控應用控制一鍵直達
基于上方所述焦點管理策略,HarmonyOS NEXT解決了音視頻應用并發播放的問題;而對于播放中的應用控制,系統也提供了規范支持。
首先在系統提供的C/S模式的播控管理的框架中,應用作為客戶端,接入AVSession的會話端,設置必要的信息;
其次系統的播控中心獲取與之對應的會話控制器,獲取信息進行展示,以及對應用發送控制命令。
最后通過標準接口的接入,規范應用的播放行為;同時通過統一的播控中心的入口,就能讓用戶對于播放的控制做到一鍵直達。
開發者可參考下方示例代碼:
想要跟上技術發展的步伐,開發者學習新技術的同時,能夠擁有開發便捷高效的工具則能達到事半功倍的效果。除了多媒體技術的開發管理,HarmonyOS NEXT也在積極為各位開發者提供其他更多技術開發解決方案,讓開發者在高效開發之余也能持續拓寬視野,提高自己的創新能力。
審核編輯 黃宇
-
開發者
+關注
關注
1文章
528瀏覽量
16916 -
HarmonyOS
+關注
關注
79文章
1946瀏覽量
29739
發布評論請先 登錄
相關推薦
評論