女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

鴻蒙系統(tǒng)的媒體子系統(tǒng),從何說起呢?

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

掃碼添加小助手

加入工程師交流群

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

首先,看權(quán)威介紹:

https://gitee.com/openharmony/docs/blob/master/readme/媒體子系統(tǒng)README.md

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

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

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

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

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

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

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

中實現(xiàn)的拍照、錄像功能,以此為起點,探究一下系統(tǒng)的多媒體框架,并介紹關(guān)鍵組件。

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

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

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

通過CameraKit 實例調(diào)用camKit-》CreateCamera(camId, CamStateMng, eventHdlr) 來構(gòu)造 camera,以下是涉及的相關(guān)類及其關(guān)系。

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

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

CameraService *cameraService_;

該成員是一個關(guān)鍵,它內(nèi)部聚合了:

CameraDevice *device_ = nullptr;

CameraAbility *ability_ = nullptr;

CameraServiceCallback *cameraServiceCb_ = nullptr;

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

下面詳細(xì)分析CameraDevice類;

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

責(zé)任編輯:lq

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

    關(guān)注

    9

    文章

    1174

    瀏覽量

    41955
  • 封裝
    +關(guān)注

    關(guān)注

    128

    文章

    8662

    瀏覽量

    145430
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2642

    瀏覽量

    68066
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3851

    瀏覽量

    18578

原文標(biāo)題:OpenHarmopny的媒體子系統(tǒng)_1

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    迅為RK3568開發(fā)板新增topeet子系統(tǒng)-在產(chǎn)品中新增子系統(tǒng)

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

    迅為RK3568開發(fā)板驅(qū)動指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

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

    RK3568驅(qū)動指南|第十二篇 GPIO子系統(tǒng)-第135章 GPIO子系統(tǒng)與pinctrl子系統(tǒng)相結(jié)合實驗

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

    飛凌嵌入式ElfBoard ELF 1板卡-input子系統(tǒng)之input子系統(tǒng)簡介

    在Linux系統(tǒng)中,Input子系統(tǒng)是一個用于處理輸入設(shè)備的軟件框架。它提供了一種統(tǒng)一的接口和機(jī)制,使得各種輸入設(shè)備(如鍵盤、鼠標(biāo)、觸摸屏、游戲手柄等)能夠與Linux系統(tǒng)進(jìn)行交互。Input
    發(fā)表于 04-15 10:27

    飛凌嵌入式ElfBoard ELF 1板卡-Pinctrl和GPIO子系統(tǒng)之GPIO子系統(tǒng)

    GPIO(General Purpose Input/Output)子系統(tǒng)是用于控制和管理通用輸入/輸出引腳的一部分。它提供了一種標(biāo)準(zhǔn)化的方式來訪問和操作硬件平臺上的GPIO引腳,使開發(fā)人員能夠通過
    發(fā)表于 03-24 15:41

    飛凌嵌入式ElfBoard ELF 1板卡-Pinctrl和GPIO子系統(tǒng)之Pinctrl子系統(tǒng)

    pinctrl(Pin Control)子系統(tǒng)是Linux內(nèi)核中的一個模塊化子系統(tǒng),用于管理和控制硬件引腳(Pin)的配置和功能。它提供了一種統(tǒng)一的接口,使驅(qū)動程序可以對硬件引腳進(jìn)行靈活的配置和控制
    發(fā)表于 03-22 09:23

    云天勵飛DeepEdge10芯片與國產(chǎn)鴻蒙操作系統(tǒng)完成適配

    日前,DeepEdge10芯片已完成國產(chǎn)鴻蒙操作系統(tǒng)的適配。目前已構(gòu)建適配鴻蒙的芯片編譯平臺框架,完成圖形等子系統(tǒng)的適配。基于DeepEdge10的
    的頭像 發(fā)表于 01-24 10:14 ?1089次閱讀

    詳解deepin 25 Preview的Distrobox子系統(tǒng)

    為解決根社區(qū)倉庫部分軟件包缺失,或版本不滿足用戶需求的問題,deepin 結(jié)合 Distrobox 方案,在商店上架了 Debian、Ubuntu、Arch Linux、 Fedora 子系統(tǒng)鏡像
    的頭像 發(fā)表于 01-24 09:15 ?1302次閱讀
    詳解deepin 25 Preview的Distrobox<b class='flag-5'>子系統(tǒng)</b>

    開源鴻蒙系統(tǒng)外設(shè)指紋儀模塊功能演示#OpenHarmony

    鴻蒙系統(tǒng)
    深圳市視美泰技術(shù)股份有限公司
    發(fā)布于 :2024年12月17日 10:45:58

    開源鴻蒙系統(tǒng)外設(shè)身份證模塊讀取信息演示 #OpenHarmony

    鴻蒙系統(tǒng)
    深圳市視美泰技術(shù)股份有限公司
    發(fā)布于 :2024年12月17日 10:45:11

    名單公布!【書籍評測活動NO.53】鴻蒙操作系統(tǒng)設(shè)計原理與架構(gòu)

    , 分門別類地闡述鴻蒙操作系統(tǒng)關(guān)鍵子系統(tǒng)的技術(shù)架構(gòu)和主要設(shè)計思路,包括內(nèi)核、方舟運(yùn)行時、圖形、媒體、驅(qū)動框架、各種分布式技術(shù),以及安全、DFX 等方面的相關(guān)架構(gòu)設(shè)計思路 。 圍繞Har
    發(fā)表于 12-16 15:10

    鴻蒙系統(tǒng)專用版微信內(nèi)測即將啟動

    近日,有知情人士稱鴻蒙系統(tǒng)專用版微信的開發(fā)工作現(xiàn)已基本完成。這一消息標(biāo)志著微信在適配鴻蒙系統(tǒng)方面取得了重要進(jìn)展,為鴻蒙
    的頭像 發(fā)表于 11-07 10:58 ?1494次閱讀

    華為原生鴻蒙操作系統(tǒng)正式發(fā)布

    10月22日晚,華為舉行了一場盛大的發(fā)布會,正式推出了其原生鴻蒙操作系統(tǒng)HarmonyOS NEXT,也被稱為鴻蒙5.0。這一發(fā)布標(biāo)志著鴻蒙系統(tǒng)
    的頭像 發(fā)表于 10-23 16:52 ?1181次閱讀

    Jacinto 7顯示子系統(tǒng)概述應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《Jacinto 7顯示子系統(tǒng)概述應(yīng)用說明.pdf》資料免費下載
    發(fā)表于 09-14 10:00 ?0次下載
    Jacinto 7顯示<b class='flag-5'>子系統(tǒng)</b>概述應(yīng)用說明

    PRU子系統(tǒng)特性比較

    電子發(fā)燒友網(wǎng)站提供《PRU子系統(tǒng)特性比較.pdf》資料免費下載
    發(fā)表于 09-03 11:13 ?0次下載
    PRU<b class='flag-5'>子系統(tǒng)</b>特性比較