隨著科技進(jìn)步,我們的生活發(fā)生了翻天覆地的變化。過(guò)去幾年音視頻技術(shù)發(fā)展迅速,直播行業(yè)異軍突起,在社交、娛樂(lè)、教育、醫(yī)療等領(lǐng)域高歌猛進(jìn)。當(dāng)前,對(duì)音視頻技術(shù)的需求又將到達(dá)一個(gè)新高度。
HarmonyOS作為一款全新的面向全場(chǎng)景的分布式操作系統(tǒng),不斷創(chuàng)新,致力于為開發(fā)者提供更好、更高效的使用體驗(yàn)。接下來(lái)讓我們一起學(xué)習(xí)了解下HarmonyOS中的多媒體框架的相關(guān)知識(shí)吧!
多媒體框架介紹結(jié)構(gòu):
相機(jī)(Camera)
播放(Player)
音頻(Audio)
一
相機(jī)(Camera)
1、相機(jī)框架設(shè)計(jì)目標(biāo):簡(jiǎn)單易用、效果一致、性能優(yōu)先
簡(jiǎn)單易用是指相機(jī)框架從面向用戶、場(chǎng)景和一些功能的高級(jí)API的設(shè)計(jì),去屏蔽一些底層復(fù)雜的硬件操作,從而簡(jiǎn)化應(yīng)用層的編程。
效果一致是指相機(jī)框架通過(guò)對(duì)應(yīng)用層接口的統(tǒng)一管控,以及對(duì)廠商擴(kuò)展的歸一,來(lái)確保對(duì)所有包含相機(jī)的應(yīng)用提供同樣的展示質(zhì)量和效果。
性能優(yōu)先是指相機(jī)框架通過(guò)內(nèi)部軟硬協(xié)同的設(shè)計(jì),提升拍照啟動(dòng)、預(yù)覽和拍照過(guò)程中的性能體驗(yàn)。
2、相機(jī)框架介紹:
如下圖所示,左側(cè)綠色模塊是目前已經(jīng)開源或者開放的能力。其中包含一些鏡頭管理能力,例如鏡頭查詢、生命周期管理,除此之外,也將支持一些基礎(chǔ)的預(yù)覽、拍照和錄像功能。
為了進(jìn)一步降低拍照過(guò)程中對(duì)于前臺(tái)資源的占用,后期將考慮提供開源和開放的離線拍照的架構(gòu)設(shè)計(jì)。
從分層架構(gòu)的角度,相機(jī)框架的框架層提供了開發(fā)者可以感知的API來(lái)簡(jiǎn)化編程,服務(wù)層主要通過(guò)一些高性能、高畫質(zhì)的設(shè)計(jì),提升對(duì)開發(fā)者服務(wù)的質(zhì)量和體驗(yàn)效果。
針對(duì)芯片適配層,對(duì)不同廠商的芯片適配接口提供歸一的抽象,做比較兼容的設(shè)計(jì),確保芯片廠商接入系統(tǒng)的時(shí)候花費(fèi)最低的成本,同時(shí)也保證兼容性。
3、工作流程介紹:
下圖是相機(jī)模塊運(yùn)行態(tài)的業(yè)務(wù)流程圖。
當(dāng)需要下發(fā)相機(jī)的命令時(shí),無(wú)論是啟動(dòng)預(yù)覽或者預(yù)覽之后的其他命令,再或者是其他變量下發(fā)到底層系統(tǒng)的操作的命令,當(dāng)接收到時(shí),將會(huì)被轉(zhuǎn)化為對(duì)底層的控制,然后再由相機(jī)框架通過(guò)一定方式將處理結(jié)果回傳給應(yīng)用和開發(fā)者。
如下圖所示,此流程在代碼實(shí)現(xiàn)上分為五個(gè)步驟:
第一步:創(chuàng)建工作session;
第二步:配置輸入鏡頭、輸出流格式;
第三步:?jiǎn)?dòng)會(huì)話;
第四步:操作會(huì)話,變焦、聚焦等操作可在此步驟進(jìn)行控制;
第五步:釋放會(huì)話,此步驟用于釋放所占用的系統(tǒng)資源。
二
播放(Player)
1、播放框架設(shè)計(jì)目標(biāo):低消耗、簡(jiǎn)單易用、靈活擴(kuò)展
低消耗是指播放框架在播放資源的消耗和功耗上是最優(yōu)的。
簡(jiǎn)單易用是指播放框架提供了兩種接口形式:JS和結(jié)合ArkUI提供的UI控件接口,便于開發(fā)者使用。
靈活擴(kuò)展是指播放框架針對(duì)服務(wù)類目的引擎,可增強(qiáng)、可擴(kuò)展、可替換。
2、播放框架介紹:
播放框架主要提供較為通用的,但控制能力豐富的音、視頻的播放和錄制功能。中間件的核心是基于引擎提供各種各樣的服務(wù)的能力。
目前提供了兩套引擎,分別是GStreamer引擎和HiStreamer引擎,功能都比較齊全。
在硬件適配層,即HDF層,提供兼容設(shè)計(jì)。播放框架內(nèi)部輕量化的Histreamer引擎,基于傳統(tǒng)的pipeline,通過(guò)插件化機(jī)制增強(qiáng)相關(guān)的音視頻的編解碼和解析能力,該引擎最典型的特征就是小。當(dāng)開發(fā)者使用的時(shí)候,播放MP3,最低可做到600K以下。
另外引擎本身可跨多系統(tǒng)支持。除此之外,MP3,AAC,H264,HTTP,HLS等當(dāng)前常用的音頻格式都是完全支持的,開發(fā)者可以通過(guò)一鍵化的方式靈活切換引擎。
三
音頻(Audio)
1、音頻框架設(shè)計(jì)目標(biāo):接口統(tǒng)一、效果一致、高性能、統(tǒng)一焦點(diǎn)控制和架構(gòu)歸一
接口統(tǒng)一是指同一套音頻接口體系,支持不同場(chǎng)景的音頻使用方式,例如音頻低時(shí)延播放、高清音頻和低功耗等。
效果一致是指音頻框架提供給所有應(yīng)用的一致性的效果體驗(yàn)。
高性能是指音頻的低時(shí)延播放。
統(tǒng)一焦點(diǎn)控制是指音頻框架對(duì)音頻播放、錄制的焦點(diǎn)的強(qiáng)管控。
架構(gòu)歸一是指音頻框架適用于大、中、小的各種設(shè)備。
2、音頻框架介紹:
音頻框架主要采用CS的架構(gòu),支持多個(gè)音頻同時(shí)運(yùn)行。
音頻模塊分為三個(gè),分別是Audio Renderer、Audio Capturer、Audio Manager。
其中,Audio Renderer提供了渲染音頻文件和控制播放的接口,開發(fā)者可以通過(guò)本接口在輸出設(shè)備中播放音頻文件并管理播放任務(wù)。Audio Capturer提供了獲取原始音頻文件的方法,開發(fā)者可以通過(guò)該接口調(diào)用實(shí)現(xiàn)對(duì)音頻數(shù)據(jù)的采集。Audio Manager提供了音頻流類型、音量、音頻設(shè)備管理等接口,開發(fā)者可以通過(guò)調(diào)用該接口實(shí)現(xiàn)對(duì)相關(guān)音頻對(duì)象的管理。
以上是多媒體框架的相關(guān)介紹內(nèi)容,如果您想了解更多關(guān)于HarmonyOS相關(guān)知識(shí),請(qǐng)參考HarmonyOS應(yīng)用開發(fā)平臺(tái)(https:// developer.harmonyos.com/),那里有更多更詳細(xì)的介紹,提供循序漸進(jìn)的學(xué)習(xí)路徑,便于開發(fā)者快速掌握相關(guān)知識(shí),構(gòu)建屬于自己的HarmonyOS應(yīng)用,我們期待您的加入。
END
想了解更多HarmonyOS技術(shù)?
后臺(tái)留言給我們
立刻安排!
歡迎點(diǎn)擊|閱讀原文|
了解更多HarmonyOS框架知識(shí)
原文標(biāo)題:HarmonyOS多媒體框架介紹
文章出處:【微信公眾號(hào):HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
HarmonyOS
+關(guān)注
關(guān)注
79文章
1977瀏覽量
30259
原文標(biāo)題:HarmonyOS多媒體框架介紹
文章出處:【微信號(hào):HarmonyOS_Dev,微信公眾號(hào):HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論