日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙系統的媒體子系統,從何說起呢?

電子工程師 ? 來源:HarmonyOS社區(qū) ? 作者:HarmonyOS社區(qū) ? 2021-01-13 09:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

要探究鴻蒙系統的媒體子系統,從何說起呢?我是從源碼目錄下 applications 下的應用開始的,不過既然在這里記錄下來,就從更清晰的角度來切入。

首先,看權威介紹:

https://gitee.com/openharmony/docs/blob/master/readme/媒體子系統README.md

由該readme可知,子系統雖然底層龐大且盤根錯節(jié),但是,面向應用層,其宗旨(原文)是:

旨在為多媒體應用開發(fā)者開發(fā)者提供統一的開發(fā)接口,使得開發(fā)者可以專注于應用業(yè)務的開發(fā),輕松使用多媒體的資源。

也就是說,封裝之后的耦合程度大大降低了。實際上,應用層僅需實現少量回調函數并按流程操作,即可輕松實現諸如拍照、錄像、預覽等功能。

我們首先來一下瀏覽框架及流程圖,有助于接下來的底層分析。

26a9d634-5146-11eb-8b86-12bb97331649.png

26cc4c78-5146-11eb-8b86-12bb97331649.png

回看源碼。源碼如下applications/sample/camera/media/camera_sample.cpp

中實現的拍照、錄像功能,以此為起點,探究一下系統的多媒體框架,并介紹關鍵組件。

根據對代碼的閱讀,我先將類圖大體上整理出來(水平有限,且時間倉促,錯誤之處望各位不吝賜教):

26f5fcf8-5146-11eb-8b86-12bb97331649.png

在 camera_sample.cpp 的 main() 中,首先調用 CameraKit::GetInstance() 獲取一個 CameraKit 實例 camKit;得到實例后繼而調用 camKit-》GetCameraIds() 獲取 camera ID 列表,遍歷列表,獲取每個ID的對應的camera的ability,找到其中支持指定目標大小的camera ID。

通過CameraKit 實例調用camKit-》CreateCamera(camId, CamStateMng, eventHdlr) 來構造 camera,以下是涉及的相關類及其關系。

由關系圖可知,CameraKit 中聚合了 CameraManager,實際上是由 CameraManagerImpl 繼承并拓展了該類,CameraManager 內部持有CameraManagerImpl類的實例,即cameraManagerImpl,后續(xù)的相關操作由該成員來完成。

緊接著來看CameraManagerImpl類,其成員中有:

CameraService *cameraService_;

該成員是一個關鍵,它內部聚合了:

CameraDevice *device_ = nullptr;

CameraAbility *ability_ = nullptr;

CameraServiceCallback *cameraServiceCb_ = nullptr;

其中:CameraAbility 類型的 ability_ 用來描述CameraService的能力;CameraServiceCallback 類型的 cameraServiceCb_ 用來在構造CameraManagerImpl實例時候對CameraService做一些初始化工作及camera狀態(tài)改變的處理;CameraDevice 類型的 device_ 成員是類 CameraService的核心;

下面詳細分析CameraDevice類;

CameraDevice類涉及到了HAL層及硬件編解碼器的操作,由于底層被封裝為庫文件的形式,給理解帶來的一定的障礙,不過可以暫時先忽略細節(jié),把焦點放到框架上,接下來對其涉及的各個模塊做深入分析。

責任編輯:lq

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

    關注

    9

    文章

    1225

    瀏覽量

    43800
  • 封裝
    +關注

    關注

    128

    文章

    9347

    瀏覽量

    149121
  • 鴻蒙系統
    +關注

    關注

    183

    文章

    2642

    瀏覽量

    70167
  • OpenHarmony
    +關注

    關注

    33

    文章

    3979

    瀏覽量

    21411

原文標題:OpenHarmopny的媒體子系統_1

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RDMA設計37:RoCE v2 子系統模型設計

    本博文主要交流設計思路,在本博客已給出相關博文160多篇,希望對初學者有用。注意這里只是拋磚引玉,切莫認為參考這就可以完成商用IP設計。 RoCE v2 子系統模型是用來模擬 RoCE v2 功能
    發(fā)表于 02-06 16:19

    TPA2051D3音頻子系統:特性、應用與設計要點

    TPA2051D3音頻子系統:特性、應用與設計要點 在音頻設備設計領域,一款高性能的音頻子系統對于提升音質和用戶體驗至關重要。德州儀器(TI)的TPA2051D3就是這樣一款具有出色性能和豐富功能
    的頭像 發(fā)表于 02-02 11:05 ?274次閱讀

    探索LM49153:高性能音頻子系統的設計秘籍

    探索LM49153:高性能音頻子系統的設計秘籍 在當今的便攜式電子設備領域,音頻質量和功耗管理一直是開發(fā)者關注的焦點。德州儀器(TI)的LM49153音頻子系統為我們提供了一個優(yōu)秀的解決方案,它集成
    的頭像 發(fā)表于 01-30 16:20 ?2519次閱讀

    家電電子系統設計:Littelfuse技術方案解析

    家電電子系統設計:Littelfuse技術方案解析 在當今家電市場,技術的飛速發(fā)展促使家電不斷智能化、高效化和安全化。作為電子工程師,我們在設計家電電子系統時,需要綜合考慮市場趨勢、技術應用以及產品
    的頭像 發(fā)表于 12-16 09:50 ?688次閱讀

    鴻蒙系統對手機市場會產生怎樣的影響?現在汽車是不是也用上鴻蒙系統了?

    鴻蒙系統對手機市場會產生怎樣的影響?現在汽車是不是也用上鴻蒙系統了?
    發(fā)表于 12-04 20:47

    弱電智能化中究竟有多少個子系統?

    ,每個子系統都承擔著特定的功能,共同為建筑提供全面的智能化服務。隨著技術的不斷進步,弱電智能化系統子系統也在不斷發(fā)展和完善。那么,弱電智能化中究竟有多少個子系統
    的頭像 發(fā)表于 11-24 09:57 ?1531次閱讀
    弱電智能化中究竟有多少個<b class='flag-5'>子系統</b>?

    Fakra接口標準以及它能為汽車電子系統帶來什么

    Fakra接口標準是一種全球通用的汽車電子系統連接技術,它的主要作用是為汽車電子系統提供一種可靠的、全球通用的接口標準。它能夠提高汽車電子系統的可靠性、整體性能和靈活性,使汽車電子系統
    的頭像 發(fā)表于 09-17 14:50 ?3918次閱讀
    Fakra接口標準以及它能為汽車電<b class='flag-5'>子系統</b>帶來什么

    NVMe高速傳輸之擺脫XDMA設計25: NVMe 子系統模型設計

    本課題提出 NVMe子系統模型的設計理念, 并將其整合到驗證平臺中, 使 NoP 邏輯加速引擎能夠在較復雜存儲子系統中做系統性的功能驗證, 同時降低了設計與驗證的迭代成本。
    的頭像 發(fā)表于 09-14 11:31 ?4623次閱讀
    NVMe高速傳輸之擺脫XDMA設計25: NVMe <b class='flag-5'>子系統</b>模型設計

    瑞芯微RK3568主板+國產鴻蒙系統+多媒體信息發(fā)布系統,搭載鴻蒙的國產廣告機|高格欣科技

    HarmonyOS4.0系統完成適配,并結合多媒體信發(fā)軟件,為智慧商顯、樓宇自控、交通樞紐信息展示等場景,打造更智能、穩(wěn)定、易用的信息發(fā)布解決方案。RK3568主板性能剖析
    的頭像 發(fā)表于 09-11 10:18 ?1706次閱讀
    瑞芯微RK3568主板+國產<b class='flag-5'>鴻蒙</b><b class='flag-5'>系統</b>+多<b class='flag-5'>媒體</b>信息發(fā)布<b class='flag-5'>系統</b>,搭載<b class='flag-5'>鴻蒙</b>的國產廣告機|高格欣科技

    基于 ROS + ADI 芯片方案 的 人形機器人子系統級BOM清單(以腿部子系統為例)

    基于 ROS + ADI 芯片方案 的 人形機器人子系統級BOM清單 (以 腿部子系統 為例),包括核心感知、執(zhí)行與通信模塊,配合主控系統通過 ROS2 實現分布式控制與狀態(tài)反饋。 一、腿部
    的頭像 發(fā)表于 06-17 17:06 ?2343次閱讀

    迅為RK3568開發(fā)板新增topeet子系統-在產品中新增子系統

    build/subsystem_config.json文件中增加名為topeet的子系統,在3.4節(jié)已經新建了topeet 文件夾存放子系統代碼。添加 topeet 子系統進行一個登記,說明
    發(fā)表于 06-16 10:43

    開源系統適配:聚徽分享國產工控平板在 Linux / 鴻蒙系統下的技術優(yōu)化

    在工業(yè)自動化與智能化加速推進的當下,國產工控平板的系統適配成為提升設備性能與競爭力的關鍵環(huán)節(jié)。Linux 和鴻蒙作為開源系統,憑借其高度的開放性與可定制性,為國產工控平板帶來新的發(fā)展機遇。如何對國產
    的頭像 發(fā)表于 06-13 16:29 ?1323次閱讀

    迅為RK3568開發(fā)板驅動指南GPIO子系統GPIO子系統API函數的引入

    迅為RK3568開發(fā)板驅動指南GPIO子系統GPIO子系統API函數的引入
    的頭像 發(fā)表于 05-29 14:05 ?1244次閱讀
    迅為RK3568開發(fā)板驅動指南GPIO<b class='flag-5'>子系統</b>GPIO<b class='flag-5'>子系統</b>API函數的引入

    RK3568驅動指南|第十二篇 GPIO子系統-第135章 GPIO子系統與pinctrl子系統相結合實驗

    RK3568驅動指南|第十二篇 GPIO子系統-第135章 GPIO子系統與pinctrl子系統相結合實驗
    的頭像 發(fā)表于 05-23 13:47 ?1243次閱讀
    RK3568驅動指南|第十二篇 GPIO<b class='flag-5'>子系統</b>-第135章 GPIO<b class='flag-5'>子系統</b>與pinctrl<b class='flag-5'>子系統</b>相結合實驗

    國產操作系統加速崛起——鴻蒙電腦補齊鴻蒙生態(tài)最重要拼圖

    國產操作系統加速崛起——鴻蒙電腦補齊鴻蒙生態(tài)最重要拼圖 5月19日,首次應用鴻蒙操作系統的個人電腦(PC)在四川成都正式發(fā)布。這標志著我國擁
    的頭像 發(fā)表于 05-21 11:41 ?816次閱讀
    宁海县| 高雄市| 宁城县| 宿松县| 彭阳县| 阿合奇县| 肥西县| 泰州市| 沙洋县| 高密市| 连州市| 新巴尔虎左旗| 乐至县| 连云港市| 林西县| 昔阳县| 陵川县| 建湖县| 邵东县| 宜阳县| 阿瓦提县| 萍乡市| 攀枝花市| 怀仁县| 新和县| 崇文区| 鹿泉市| 噶尔县| 韶山市| 思南县| 治多县| 巫溪县| 英德市| 平和县| 垫江县| 建德市| 新蔡县| 察雅县| 中牟县| 开江县| 交城县|