精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

OpenHarmony3.2 beta4上照相機的使用之1--開啟照相機預覽畫面

系統(tǒng) OpenHarmony
這里為何我特意強調是OpenHarmony3.2 beta4,因為我發(fā)現(xiàn)即使同為3.2版本,beta4上的Camera相關的api和beta2版本差距都非常大,于是選取了當前最新的版本進行講解。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區(qū)??

??https://ost.51cto.com??

隨著OpenHarmony的版本更新,在3.2上已經提供了非常豐富的API來調用照相機。此處講解的是原生的使用相機的流程,并發(fā)像Android普通應用開發(fā)一樣通過一個intent直接調用系統(tǒng)相機應用進行拍照,根據(jù)原生的調用相機的API可以讓大家自己定義功能更加豐富的相機應用。

這里為何我特意強調是OpenHarmony3.2 beta4,因為我發(fā)現(xiàn)即使同為3.2版本,beta4上的Camera相關的api和beta2版本差距都非常大,于是選取了當前最新的版本進行講解。

既然使用相機,那么第一步是先想辦法把相機點亮,即能通過攝像頭看到預覽畫面,后面才是拍照、錄像、分布式拍照等功能實現(xiàn)。

關于sdk的問題

目前在OpenHarmony3.2上調用相機,需要使用ohos-full-sdk,而非大家下載DevEco Studio所帶的sdk,那個sdk被稱作為public sdk。關于sdk的替換辦法可以參考官方文檔“ ??full-SDK替換指南??”,我這里不過多贅述。

此處核心要注意的一點是,目前我3.2 beta4上用的sdk對應的版本號為3.2.9.4

OpenHarmony3.2 beta4上照相機的使用之1--開啟照相機預覽畫面-開源基礎軟件社區(qū)

而目前官方文檔上寫的能下載到的sdk最高版本只有3.2.5.6。

OpenHarmony3.2 beta4上照相機的使用之1--開啟照相機預覽畫面-開源基礎軟件社區(qū)

因此,需要我們手動下載系統(tǒng)源碼,自己完成sdk的編譯才行,我這里是基于3.2 beta4的系統(tǒng)源碼自行編譯出來的full-sdk。

啟用相機打開預覽畫面核心流程與代碼實現(xiàn)

(1)動態(tài)權限申請

需要獲取ohos.permission.CAMERA權限

(2)相機相關API操作流程

OpenHarmony3.2 beta4上照相機的使用之1--開啟照相機預覽畫面-開源基礎軟件社區(qū)

上面是相機完整功能使用的時序圖,這里我們先只按照時序圖中的流程只實現(xiàn)預覽部分。

(3)配合XComponent組件完成相機預覽流的輸出

XComponent組件中通過XComponentController的getXComponentSurfaceId方法可以獲取到sufaceId,然后通過相機管理對象cameraManager.createPreviewOutput這個關鍵方法可以綁定該surface,從而實現(xiàn)預覽畫面的輸出。

啟用相機打開預覽畫面代碼實現(xiàn)

import camera from '@ohos.multimedia.camera'

const PERMISSIONS: Array<string> = [
'ohos.permission.CAMERA']
let previewWidth;
let previewHeight;
@Entry
@Component
struct Index {
private mXComponentController: XComponentController = new XComponentController()
private surfaceId: string = '-1'

async initCamera(surfaceId: string){
//動態(tài)獲取隱私權限
let context = getContext(this) as any
await context.requestPermissionsFromUser(PERMISSIONS)
console.log('grantPermission,requestPermissionsFromUser');
// 創(chuàng)建CameraManager對象
let cameraManager = await camera.getCameraManager(context)
if (!cameraManager) {
console.error('Failed to get the CameraManager instance');
}
// 獲取相機列表
let cameraArray = await cameraManager.getSupportedCameras()
if (!cameraArray) {
console.error('Failed to get the cameras');
}
for (let index = 0; index < cameraArray.length; index++) {
console.log('cameraId : ' + cameraArray[index].cameraId) // 獲取相機ID
console.log('cameraPosition : ' + cameraArray[index].cameraPosition) // 獲取相機位置
console.log('cameraType : ' + cameraArray[index].cameraType) // 獲取相機類型
console.log('connectionType : ' + cameraArray[index].connectionType) // 獲取相機連接類型
}

// 創(chuàng)建相機輸入流
let cameraInput = await cameraManager.createCameraInput(cameraArray[0])

// 打開相機
await cameraInput.open().then(() => {
console.log('opencamera succ.');
}).catch(function(err){
console.log("opencamera failed with error:"+ err);
});

// 獲取相機設備支持的輸出流能力
let cameraOutputCap = await cameraManager.getSupportedOutputCapability(cameraArray[0]);
if (!cameraOutputCap) {
console.error("outputCapability outputCapability == null || undefined")
} else {
console.log("outputCapability: " + JSON.stringify(cameraOutputCap));
}

//獲取相機支持的輸出能力--支持的預覽配置信息
let previewProfilesArray = cameraOutputCap.previewProfiles;
if (!previewProfilesArray) {
console.error("createOutput previewProfilesArray == null || undefined")
}else{
console.log("previewProfiles:"+JSON.stringify(previewProfilesArray[0]))
previewWidth = previewProfilesArray[0].size.width;
previewHeight = previewProfilesArray[0].size.height;
}

// 創(chuàng)建預覽輸出流,其中參數(shù) surfaceId 參考下面 XComponent 組件,預覽流為XComponent組件提供的surface
let previewOutput = await cameraManager.createPreviewOutput(previewProfilesArray[0], surfaceId)
if (!previewOutput) {
console.error("Failed to create the PreviewOutput instance.")
}else{
console.log("create the PreviewOutput instance succ.")
}

//創(chuàng)建會話
let captureSession = await cameraManager.createCaptureSession()
if (!captureSession) {
console.error('Failed to create the CaptureSession instance.');
return;
}
console.log('Callback returned with the CaptureSession instance.' + captureSession);

// 開始配置會話
await captureSession.beginConfig().then(()=>{
console.log('captureSession beginConfig succ');
}).catch(function(err){
console.log("captureSession beginConfig failed with error:"+ err);
});

// 向會話中添加相機輸入流
await captureSession.addInput(cameraInput).then(() => {
console.log('captureSession addInput instance is added.');
}).catch(function(err){
console.log("captureSession addInput failed with error:"+ err);
});

// 向會話中添加預覽輸入流
await captureSession.addOutput(previewOutput).then(() => {
console.log('captureSession addOutput previewOutput instance is added.');
}).catch(function(err){
console.log("captureSession addOutput previewOutput failed with error:"+ err);
});

// 提交會話配置
await captureSession.commitConfig().then(() => {
console.log('captureSession commitConfig success.');
}).catch(function(err){
console.log("captureSession commitConfig failed with error:"+ err);
});
// 啟動會話
await captureSession.start().then(() => {
console.log('captureSession start success.');
}).catch(function(err){
console.log("captureSession start failed with error:"+ err);
});
}

build() {
Flex() {
XComponent({ // 創(chuàng)建XComponent
id: '',
type: 'surface',
libraryname: '',
controller: this.mXComponentController
})
.onLoad(() => { // 設置onload回調
// 設置Surface寬高(1920*1080),預覽尺寸設置參考前面 previewProfilesArray 獲取的當前設備所支持的預覽分辨率大小去設置
this.mXComponentController.setXComponentSurfaceSize({surfaceWidth:previewWidth,surfaceHeight:previewHeight})
// 獲取Surface ID
this.surfaceId = this.mXComponentController.getXComponentSurfaceId()
this.initCamera(this.surfaceId)
})
.width('100%') // 設置XComponent寬度
.height('100%') // 設置XComponent高度
}
}

}

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區(qū)??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區(qū)
相關推薦

2011-07-29 10:41:27

IPhone 應用開發(fā) 照相機

2015-11-17 11:02:35

2017-05-23 10:17:40

互聯(lián)網

2021-11-02 22:50:10

鼠標計算機傳感器

2022-05-27 15:04:53

鴻蒙操作系統(tǒng)

2013-04-19 15:23:11

高新技術

2022-12-02 18:26:33

開源鴻蒙OpenHarmon

2012-03-02 10:35:22

金山快盤云相機

2022-08-24 14:50:09

谷歌3D

2013-11-18 10:27:05

Tizen智能家居

2011-06-10 16:33:54

iOS 5蘋果

2023-02-13 15:54:49

2011-05-03 16:50:08

激光打印機工作原理

2013-04-19 14:31:12

影像

2012-05-23 14:57:21

噴墨打印機評測

2017-01-09 13:01:04

辦公系統(tǒng)
點贊
收藏

51CTO技術棧公眾號

国产无遮挡猛进猛出免费软件| 久久综合九色欧美狠狠| 亚洲国产精品免费在线观看| 91精品日本| 欧美日韩在线第一页| 日韩一区二区电影在线观看| 国产视频在线免费观看| 日韩亚洲在线| 操日韩av在线电影| theav精尽人亡av| 亚洲一区导航| 欧美视频精品一区| 国产在线无码精品| 福利视频在线导航| 丰满少妇久久久久久久| 国产成人在线亚洲欧美| 久久久精品国产sm调教| 成人高清av| 亚洲娇小xxxx欧美娇小| 91欧美一区二区三区| 免费亚洲电影| 亚洲成人免费影院| 吴梦梦av在线| 国产小视频在线播放| 懂色av一区二区三区蜜臀| 欧美日韩二三区| 成人在线免费电影| 成人激情免费网站| 成人h视频在线| 中文字幕视频网| 欧美 日韩 国产 一区| 亚洲成人免费网站| 4438x全国最大成人| 国产成人免费精品| 一本大道久久a久久综合| 337p亚洲精品色噜噜狠狠p| 不卡在线视频| 久久久亚洲精品石原莉奈| 国产精品.com| 国内精品久久久久久久久久| 麻豆精品一区二区三区| 国产成人涩涩涩视频在线观看| 香蕉视频一区二区| 激情文学一区| 欧美韩日一区二区| 久久老司机精品视频| 亚洲色图二区| yellow中文字幕久久| 色欲狠狠躁天天躁无码中文字幕 | 国产日韩中文字幕| 中文字幕91爱爱| 琪琪一区二区三区| 国产精品三级美女白浆呻吟| 无码人妻精品一区二区50| 亚洲综合不卡| 日本亚洲精品在线观看| 精品久久久久久久久久久久久久久久久久 | 蜜桃视频www网站在线观看| 亚洲精品成人精品456| 欧美性受黑人性爽| 色呦呦久久久| 亚洲成人免费影院| 日韩av三级在线| 在线天堂资源| 欧美午夜精品电影| 亚洲视频第二页| 免费一区二区三区在线视频| 日韩午夜激情av| 国产人妻精品午夜福利免费| 国产96在线亚洲| 亚洲精品视频免费在线观看| 谁有免费的黄色网址| 日韩精品不卡一区二区| 欧美成人午夜激情视频| 免费在线一区二区三区| 亚洲影院在线| 国产精品亚洲美女av网站| 一区二区三区播放| 懂色av一区二区夜夜嗨| 久中文字幕一区| 日韩毛片久久久| 一区二区三区日韩| 日韩精品视频一区二区在线观看| 欧美影视资讯| 欧美成人猛片aaaaaaa| 变态另类丨国产精品| 欧美久久综合网| 欧美成人免费一级人片100| 日本一区二区不卡在线| 免费成人在线网站| 99久久无色码| 国产女人在线视频| 亚洲国产综合91精品麻豆| 久久久久狠狠高潮亚洲精品| 日韩一区二区三免费高清在线观看| 欧美一级在线观看| 亚洲av无码国产精品久久| 婷婷伊人综合| 欧洲成人免费aa| 国产女人高潮时对白| 高清在线观看日韩| 亚洲欧洲一区二区在线观看| 9lporm自拍视频区在线| 在线观看亚洲a| 中文字幕在线观看91| 日韩精品电影| 国产91av在线| 国产极品久久久| 中文字幕av在线一区二区三区| 日韩精品一区二区在线视频| 日韩av电影资源网| 日韩av网站导航| 男女性高潮免费网站| 久久中文在线| 国产一区二区免费电影| 国产亚洲依依| 欧美午夜女人视频在线| 少妇丰满尤物大尺度写真| 精品一区电影| 欧美一区二区三区图| 亚洲成人中文字幕在线| 最新中文字幕一区二区三区| 亚洲精品乱码久久久久久自慰| 国产精品白浆| 欧美另类高清videos| 一个人看的www日本高清视频| 91网页版在线| 国产av人人夜夜澡人人爽麻豆| 欧美大片91| 久久久国产精品x99av | 91视频青青草| 久久99久久99小草精品免视看| 欧美性大战久久久久| 国产精品xx| 亚洲成色777777女色窝| 久久久久亚洲av片无码下载蜜桃 | 91观看网站| 欧美18一19xxx性| 欧美天天综合网| 久久精品—区二区三区舞蹈| 先锋亚洲精品| 久久久久久九九| 欧产日产国产精品视频| 亚洲韩国欧洲国产日产av| 中文字幕一区二区三区精品 | 综合图区亚洲| 日韩一级免费一区| 精品99在线观看| 国产**成人网毛片九色| 亚洲色成人www永久在线观看| 在线观看视频一区二区三区| 欧美成年人视频| 精品国产av一区二区| 一级日本不卡的影视| 古装做爰无遮挡三级聊斋艳谭| 亚洲情侣在线| 国产精品久久精品视| 第一中文字幕在线| 日韩精品欧美国产精品忘忧草| 精品在线播放视频| 久久综合99re88久久爱| 精品久久久久久中文字幕2017| 欧美猛男男男激情videos| 国产精品黄色av| 麻豆传媒在线观看| 日韩无一区二区| 日韩三级一区二区三区| 久久免费午夜影院| 久久久久国产一区| 欧美日韩亚洲国产精品| 精品日产一区2区三区黄免费 | 亚洲福利国产| 欧美久久久久久| 91精品福利观看| 国产+人+亚洲| 搞黄视频免费在线观看| 制服.丝袜.亚洲.中文.综合| 久久久久无码国产精品| 91丝袜高跟美女视频| 国产又粗又长又大的视频| 在线成人激情| 美女被啪啪一区二区| 国精品产品一区| 久久久亚洲影院你懂的| 高清性色生活片在线观看| 日韩一卡二卡三卡国产欧美| www.国产高清| 国产精品国产三级国产| 超碰caoprom| 免费在线观看成人| 青草网在线观看| 日本久久黄色| 国产一区二区三区四区五区在线| 成人在线爆射| 欧美激情欧美狂野欧美精品| 国产在线你懂得| 日韩精品一区二区三区四区| 看黄色一级大片| 夜夜操天天操亚洲| 日本精品久久久久中文| 99久久精品免费| 天堂在线一区二区三区| 国产福利片一区二区| 蜜乳av综合| 超碰97在线资源| 欧洲亚洲精品久久久久| 2019中文在线观看| 日本三级在线观看网站| 中文欧美日本在线资源| 人妻精品无码一区二区| 91精品一区二区三区久久久久久| 四虎成人永久免费视频| 一区二区三区精品| 久久精品色妇熟妇丰满人妻| 99riav一区二区三区| 国产在线视频三区| 免费在线视频一区| 久久综合久久色| 亚洲狼人精品一区二区三区| 艳色歌舞团一区二区三区| 亚洲天堂日韩在线| 国产日韩一区二区| 亚洲国产视频二区| 91免费观看网站| 九九热这里有精品| 国产精品久久久久久av福利| 欧美日韩在线观看首页| 韩国欧美亚洲国产| 日本不卡影院| 久久成人综合视频| 男女啪啪在线观看| 日韩在线观看免费全集电视剧网站 | 懂色av中文字幕一区二区三区| 手机av在线免费| 免费成人av在线| av污在线观看| 日韩电影免费一区| 久久黄色免费看| 视频在线观看国产精品| 日韩中文字幕三区| 国产欧美日韩亚洲一区二区三区| 九色自拍视频在线观看| 黄色av一区| 日本中文字幕亚洲| 亚洲区第一页| 日本少妇高潮喷水视频| 在线综合欧美| 欧美成人精品欧美一级乱| 久久激情中文| 蜜臀视频一区二区三区| 日韩电影在线看| 岛国av在线免费| 激情综合网av| 国产一精品一aⅴ一免费| 国产传媒久久文化传媒| 精品无码av一区二区三区| 国产91丝袜在线观看| 亚洲精品乱码久久| 2020国产成人综合网| 国产jjizz一区二区三区视频| 国产日韩三级在线| 五月天免费网站| 日韩毛片精品高清免费| 久久中文字幕无码| 欧美日韩午夜剧场| 亚洲高清在线看| 欧美日韩精品免费| www.黄色小说.com| 亚洲国产精品久久久久久| 在线观看xxx| 在线观看欧美www| 美女国产在线| 久久免费视频这里只有精品| 成人av三级| 亚洲va久久久噜噜噜| 国产在线播放精品| 日韩电影大全在线观看| 亚洲综合小说| 18禁免费无码无遮挡不卡网站| 日产国产高清一区二区三区| 毛片毛片毛片毛片毛| 99视频国产精品| 成人欧美一区二区三区黑人一| 亚洲最色的网站| 日日噜噜噜噜人人爽亚洲精品| 欧美日韩电影在线播放| 欧美自拍偷拍第一页| 在线电影欧美日韩一区二区私密| 日本精品600av| 国产精品成人久久久久| 91大神精品| 亚洲国产欧美日韩| 激情久久久久久| 国产精品视频分类| 成人午夜av电影| 黑人操日本美女| 欧美性xxxx极品高清hd直播| 97免费观看视频| 日韩久久精品成人| av电影高清在线观看| 日韩av电影在线免费播放| 精品视频一区二区三区| 免费成人在线观看av| 欧美福利一区| 天天爽人人爽夜夜爽| 99久久综合色| 国产免费无码一区二区视频| 欧美综合一区二区三区| 少妇精品视频一区二区| 久久亚洲国产成人| yiren22亚洲综合| 欧美lavv| 亚洲日本黄色| 国产精品无码自拍| 中文字幕在线观看一区二区| 天堂а√在线中文在线新版 | 魔女鞋交玉足榨精调教| 一区二区三区视频在线看| 在线观看中文字幕码| 亚洲摸下面视频| h片在线观看视频免费| 亚洲一区亚洲二区亚洲三区| 成人毛片免费看| av片中文字幕| www成人在线观看| 国产乡下妇女做爰毛片| 日韩女同互慰一区二区| 黄色动漫在线| 91免费在线视频网站| 99九九热只有国产精品| 亚洲xxxx2d动漫1| 国产日韩精品久久久| 69视频免费看| 国产亚洲欧洲高清| 欧美日韩在线精品一区二区三区激情综合 | 欧美激情在线观看| 一区二区视频| 国产九色porny| 99精品视频一区二区三区| 久久精品国产亚洲av高清色欲| 日韩久久免费av| 亚洲资源一区| 成人片在线免费看| 精品动漫3d一区二区三区免费版 | 欧美成人全部免费| 涩爱av色老久久精品偷偷鲁| 路边理发店露脸熟妇泻火| 国产精品亚洲一区二区三区妖精 | 少妇毛片一区二区三区| 欧美日韩亚洲一区二区| 欧美欧美欧美| 国产精品久久久久久久一区探花| 国产一区二区在线| 手机在线免费观看毛片| 中文字幕亚洲在| 99热这里只有精品99| 欧美激情奇米色| 天天操综合520| 波多野结衣天堂| 综合色中文字幕| www.国产三级| 欧美亚洲伦理www| 欧美一级精品片在线看| 午夜剧场高清版免费观看| 一区二区三区中文字幕电影| 欧美在线精品一区二区三区| 青青精品视频播放| 色综合狠狠操| 亚洲女则毛耸耸bbw| 日本久久一区二区| 菠萝蜜视频国产在线播放| 国产欧美欧洲| 免费观看在线综合| 久久久久久久久艹| 亚洲人成伊人成综合网久久久| 国产成人精品一区二区三区视频| 致1999电视剧免费观看策驰影院| 国产精品 日产精品 欧美精品| 国产精品999在线观看| 国产亚洲精品久久久久动| 国产精久久一区二区| 精品久久一二三| 国产精品伦理在线| 成人午夜免费在线观看| 国产精品成av人在线视午夜片| 亚洲成人tv| 中文字字幕码一二三区| 制服.丝袜.亚洲.另类.中文| av美女在线观看| 天天好比中文综合网| 粉嫩绯色av一区二区在线观看| 日韩不卡高清视频| 久久久久久久久中文字幕| 日本久久黄色| 中文字幕日韩三级片| 9191国产精品| 日本免费久久| 高清无码一区二区在线观看吞精| 久久夜色精品国产欧美乱极品| a级片在线免费看|