国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

OpenHarmony 源碼解析之多媒體子系統(camera)

系統
媒體子系統為開發者提供一套接口,方便開發者使用系統的媒體資源,本文主要介紹多媒體下的Camera模塊。大致了解Camera的初始化流程,明白Camera的創建過程,并且對Camera的拍照,錄像等功能有詳細的了解。

[[423587]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

介紹

媒體子系統為開發者提供一套接口,方便開發者使用系統的媒體資源,本文主要介紹多媒體下的Camera模塊。

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

camera子系統提供以下功能相關接口 :

  1. 相機拍照
  2. 相機預覽
  3. 相機錄像

架構

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

原理圖

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

搭建HarmonyOS環境

我們首先需要完成HarmonyOS開發環境搭建,可參照如下步驟進行。

安裝DevEco Studio,詳情請參考下載和安裝軟件

設置DevEco Studio開發環境,DevEco Studio開發環境需要依賴于網絡環境,需要連接上網絡才能確保工具的正常使用,可以根據如下兩種情況來配置開發環境:

1.如果可以直接訪問Internet,只需進行下載HarmonyOS SDK操作

2.如果網絡不能直接訪問Internet,需要通過代理服務器才可以訪問,請參考配置開發環境

開發者可以參考以下鏈接,完成設備調試的相關配置:

1.使用真機進行調試

2.使用模擬器進行調試

代碼結構解讀

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

相機模塊

核心類

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

上層初始化示例

該文件的main方法執行了創建camera的整個流程,并且在創建初始化好了camera后,根據用戶輸入的字符,對camera進行拍照,錄像,預覽功能的執行。

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

Camkit 是CameraKit類的全局的變量,這個主要提供上層的調用,這個類里面實際是通過cameraManager_對象進行調用相關的方法。圖中主要的流程分為以下幾個步驟:

  1. 獲取CameraKit實例
  2. 調用camKit的GetCameraIds方法獲取攝像頭的id列表,根據id列表找到1080P分辨率的攝像頭id,如果沒有找到提示錯誤信息,直接return。
  3. 調用camKit的CreateCamera方法,這個方法是camera初始化的核心

根據這三個步驟,分析每一個步驟的流程,獲取CameraKit實例這一步,其實一層層調用,實現camera初始化的操作,以下是相關的調用流程

(1)獲取CameraKit流程

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

(2)GetCameraIds流程

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

CameraKit調用實際上是通過cameraManager_進行調用

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

CameraService初始化完成后,通過device和ability創建的CameraImpl實例存入cameraMapCache_變量中, GetCameraIds方法通過遍歷cameraMapCache_來獲取可用的cameraId列表。

(3)CreateCamera流程

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

CameraKit實際調用了CameraManagerImpl的CreateCamera方法

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

首先根據cameraId在cameraMapCache_中找到CameraImpl的位置,將CameraStateCallback回調注冊到CamerImpl中,CameraStateCallback是從應用層通過參數傳入進來,所以后續CameraImpl中的Configure,Release,OnCreate,OnCreateFailed等方法會通過回調,調用應用層的接口。最后調用CameraService的CreateCamera方法進行創建camera。

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

CameraService中主要通過回調OnCameraStatusChange方法,這個是在CameraManagerImpl類中實現的,CameraManagerImpl通過調用CameraService的Initialize(*this)實現回調接口注冊。

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

接下來看一下CameraManagerImpl類中的回調實現

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

調用cameraMapCache_中對應cameraId的OnCreate方法,其中device參數是CameraService中創建并傳給CameraImpl的,接下來看一下CameraImpl的OnCreate方法

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

首先在CameraImpl中保存一份device_, 其次在EventHandler中通過之前注冊的CameraStateCallback回調OnCreate方法,該回調是上層應用實現的,具體如下圖所示

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

主要配置了FrameStateCallback回調,以及設置了EventHandler,然后保存CameraImpl,應用層拿到了CameraImpl的對象,并且賦值給cam_對象,后續的camera操作都是通過cam_進行的。

上層調用相機功能

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

應用層根據用戶輸入的字符進行拍照,開始錄像,開始預覽以及停止的操作,以下是拍照,錄像和預覽的時序圖

拍照流程

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

錄像流程

OpenHarmony 源碼解析之多媒體子系統(camera)-鴻蒙HarmonyOS技術社區

總結

通過本文的學習可以大致了解Camera的初始化流程,明白Camera的創建過程,并且對Camera的拍照,錄像等功能有詳細的了解。

OpenHarmony代碼中提供了使用camera的

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2023-04-06 09:14:11

多模輸入子系統鴻蒙

2021-09-17 14:38:58

鴻蒙HarmonyOS應用

2021-09-18 14:40:37

鴻蒙HarmonyOS應用

2021-11-08 15:04:47

鴻蒙HarmonyOS應用

2022-02-17 20:57:07

OpenHarmon操作系統鴻蒙

2022-01-06 16:17:58

鴻蒙HarmonyOS應用

2021-12-17 16:42:09

鴻蒙HarmonyOS應用

2023-04-12 15:31:11

系統服務管理鴻蒙

2022-01-10 15:30:11

鴻蒙HarmonyOS應用

2013-12-17 11:18:53

iOS開發多媒體API

2013-12-17 13:29:04

iOS開發多媒體

2022-05-10 11:17:27

電話子系統數據服務模塊

2021-11-18 10:28:03

鴻蒙HarmonyOS應用

2023-06-28 15:00:02

開源鴻蒙輸入系統架構

2011-08-02 10:36:02

iOS開發 SDK 多媒體

2022-05-24 15:46:51

Wi-FiSTA模式

2022-06-07 10:33:29

Camera組件鴻蒙

2022-01-13 10:11:59

鴻蒙HarmonyOS應用

2022-05-20 10:32:49

事件循環器事件隊列鴻蒙

2010-01-27 13:52:15

Android多媒體框
點贊
收藏

51CTO技術棧公眾號

www.亚洲| 欧美日韩一区三区四区| 一区二区在线免费观看| 欧美精品video| 亚洲综合色在线观看| 亚洲精品a区| 国产精品99精品久久免费| 亚洲人午夜色婷婷| 午夜精品久久久久久久无码 | 亚洲伊人观看| 亚洲一级黄色片| 成视频免费在线看| 日本在线不卡视频一二三区| 亚洲天堂网站在线观看视频| 黄色片免费在线| 菠萝蜜一区二区| 中文字幕五月欧美| 一区二区三区国产视频| 任我爽在线视频精品一| 最新精品国偷自产在线| 在线观看视频一区| 香蕉视频在线网址| 一本一道久久a久久精品蜜桃| 国产日韩欧美二区| 亚洲成在人线av| 18禁免费观看网站| 成年人在线视频免费观看| 蜜臀久久99精品久久久久久9 | 亚洲制服丝袜一区| 青青草综合视频| 欧美gay男男猛男无套| 精品偷拍各种wc美女嘘嘘| 麻豆电影在线| 久久久亚洲精品石原莉奈| 麻豆成人小视频| 一区免费视频| 国产精品私拍pans大尺度在线 | 久久精品网址| 中文字幕亚洲激情| 九色91popny| 亚洲+小说+欧美+激情+另类 | 成人激情黄色网| 日韩毛片免费观看| 色屁屁一区二区| 欧洲亚洲两性| av在线播放亚洲| 欧美偷拍自拍| 亚洲精品日产aⅴ| 久久三级福利| 国产精品久久一区主播| 亚洲精品乱码日韩| 久99久在线视频| 欧美一级全黄| 久久久久久成人| 国产欧美一区| 91精品在线国产| 一二三区精品| 亚洲一区二区三区加勒比| 蜜臂av日日欢夜夜爽一区| 中文字幕久久一区| 久久精品一区二区三区av| 青青草免费在线视频| 亚洲精品一区二区久| 激情网站在线| 懂色一区二区三区免费观看| 欧美精品一区二区免费| 3p在线观看| 亚洲第一av网| 国产剧情在线观看一区| 国产精品一区二区三区四区五区 | 91原创在线视频| 久久精品国产成人| 日本一区二区三区视频| 久中文字幕一区| 91久久在线播放| 91精品国产91久久综合| 国产精品久久精品视| 全国精品久久少妇| 97在线免费视频观看| 成人av电影免费在线播放| 日韩精品免费一区二区三区竹菊 | 日本a级片免费| 99re66热这里只有精品3直播| 免费在线国产精品| 免费看黄色91| 激情亚洲综合网| 欧美一个色资源| 成人黄页网站视频| 99久久久精品免费观看国产| 青青草91视频| 天堂在线中文资源| 久久久久久久久久婷婷| 免费看精品久久片| 国产三级三级看三级| 日韩欧美国产不卡| 亚洲成人二区| 色免费在线视频| 日韩精品在线免费观看视频| 91白丝在线| 久久亚洲成人精品| 国产视频一区二| 鲁丝一区鲁丝二区鲁丝三区| 亚洲国产视频一区| 色先锋久久影院av| 成人一区二区av| 欧美日韩亚洲视频| 麻豆成人在线观看| 国产精品午夜免费| 伊人成人网在线看| 成人爽a毛片| 成人污污www网站免费丝瓜| 亚洲天堂av线| 国产精品入口尤物| 7878成人国产在线观看| 国内外成人在线| 亚洲精品亚洲人成在线观看| 在线观看av网| 91精品在线播放| 高清一区二区三区四区五区| 色噜噜狠狠狠综合曰曰曰88av| 午夜a成v人精品| 久久影院电视剧免费观看| 免费视频一区| 欧美破处大片在线视频| 国产国产人免费人成免费视频| 黄色污网站在线免费观看| 国产亚洲自拍偷拍| 一区二区三区资源| 欧美 日韩 国产精品免费观看| 久久综合色播| 国产精品精品久久久久久| 国产精品久久久久久亚洲伦| 日本亚洲不卡| 日韩午夜精品电影| 亚欧成人精品| 色综合久久久| 免费在线黄色电影| 成人毛片100部免费看| 欧美精品在线看| 色悠久久久久综合欧美99| 国产99一区视频免费| 91久久久久| 男人的天堂在线视频免费观看 | 国产成人综合一区| 亚洲欧洲成视频免费观看| 国内精品久久久久影院薰衣草| 国产丝袜在线播放| avav在线播放| 久久久亚洲国产| 亚洲高清中文字幕| 久久资源免费视频| 最新97超碰在线| 国产欧美综合精品一区二区| 91精品国产美女浴室洗澡无遮挡| 日本伊人色综合网| 第四色男人最爱上成人网| 国产一区亚洲二区三区| 日本精品va在线观看| 在线观看一区二区精品视频| 日日摸夜夜添夜夜添亚洲女人| 日韩国产激情| 超级碰碰视频| 国产在线一区二区三区欧美| 精品免费国产二区三区| 91天堂素人约啪| 日韩高清一级| 高清中文字幕一区二区三区| 亚洲欧美影院| 国产+成+人+亚洲欧洲| 91久久国产最好的精华液| 日韩av中文字幕一区二区三区| 992tv国产精品成人影院| 国产黄色片大全| 久久综合九色综合网站| 日韩在线视频免费观看| 亚洲精品日产精品乱码不卡| 久久久久免费av| 欧美性xxx| 秋霞福利视频| 亚洲国产精品一区二区第四页av | 久久久久久久电影| 婷婷综合久久| 欧美日韩经典丝袜| 日韩福利视频在线| 国产精品国产一区二区| 亚洲人成在线一二| 亚洲精品乱码久久久久久| 日韩午夜av在线| 亚洲高清国产拍精品26u| 在线看片免费人成视久网| 中文字幕欧美日韩一区二区| 97国产一区二区精品久久呦 | 毛片免费在线观看| 黄色三级中文字幕| 91福利入口| 日韩中文字幕在线播放| 欧美性生交xxxxxdddd| 成人在线一区二区三区| 欧美特黄一区| 欧美电影在线观看完整版|