精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

一区二区免费在线观看| 国产精品三级久久久久久电影| 欧美xxxx黑人| 九色porny视频在线观看| 91丨porny丨户外露出| 国产精品爱啪在线线免费观看 | 精品国产三级| 午夜精品久久久| 亚洲福利av| 六月婷婷综合网| 三级在线观看一区二区| 免费91在线视频| 中日韩精品一区二区三区| 91视频亚洲| 欧美性生交xxxxxdddd| 天堂av免费看| 国产一二三在线观看| 国产精品小仙女| 青青草原一区二区| 国产亚洲欧美精品久久久久久| 亚洲人成网站77777在线观看| 欧美日韩国产乱码电影| 日本日本19xxxⅹhd乱影响| 免费在线观看黄色| 久久一夜天堂av一区二区三区 | 日韩一二三区在线观看| 色综合久久久久久久久| 免费cad大片在线观看| 国产三级电影在线| 97se亚洲国产综合自在线| 成人福利免费观看| 天天干天天插天天射| 999亚洲国产精| 欧美猛少妇色xxxxx| 天堂网中文在线观看| 久久不卡国产精品一区二区| 精品国产一区二区三区忘忧草 | 99这里只有精品| 91亚洲精品视频| 在线免费观看高清视频| 久久狠狠婷婷| 55夜色66夜色国产精品视频| 久久99久久98精品免观看软件| 91亚洲国产| 最近中文字幕日韩精品| 成人片黄网站色大片免费毛片| 精品人人人人| 亚洲电影av在线| 日本不卡视频一区| 精品国产午夜肉伦伦影院| 精品人在线二区三区| 一级黄色在线播放| 91嫩草国产线观看亚洲一区二区| 欧美日韩你懂得| 日本va中文字幕| 欧美色网在线| 欧美午夜一区二区| wwww.国产| jizz免费一区二区三区| 色婷婷久久久亚洲一区二区三区 | 久草免费在线视频| 欧美性videos高清精品| 国产女女做受ⅹxx高潮| 成人va天堂| 在线精品视频一区二区三四| 粗暴91大变态调教| 高清av一区| 欧美中文一区二区三区| 男人添女人下面免费视频| 欧美国产日韩电影| 91精品国产综合久久久蜜臀图片 | 精品欧美一区二区三区免费观看| 亚洲最黄网站| 国产www精品| 黄色av网站免费| 极品销魂美女一区二区三区| 51午夜精品| 日韩专区第一页| 久久美女高清视频| 吴梦梦av在线| 9999在线视频| 91成人免费在线| 一区二区三区欧美精品| 香蕉成人app| 日韩黄色在线免费观看| 国产精品av久久久久久无| 91精品天堂福利在线观看| 久久97久久97精品免视看| 日韩黄色一级大片| 毛片不卡一区二区| 懂色av一区二区三区在线播放| 三级毛片在线免费看| 国产精品久久久久久户外露出 | 视频在线观看入口黄最新永久免费国产| 伊人婷婷欧美激情| 北条麻妃视频在线| 精品国产亚洲一区二区三区在线 | 无码成人精品区在线观看| 美女久久久久| 九色精品美女在线| 神马久久久久久久| 国产盗摄精品一区二区三区在线 | 三级国产在线观看| 中文字幕一区二区三区在线观看| 日韩欧美不卡在线| 欧美激情福利| 日韩理论片久久| 国产高潮流白浆| 日韩制服丝袜先锋影音| 99伊人久久| 岛国视频免费在线观看| 亚洲综合久久久| 91看片在线免费观看| 欧美精品密入口播放| 色妞色视频一区二区三区四区| 日本熟伦人妇xxxx| 精品在线免费观看| 日本不卡一二三区| av中文字幕电影在线看| 欧美日韩成人综合天天影院| 日本xxxx裸体xxxx| 欧美~级网站不卡| 国产女精品视频网站免费| 深夜福利在线看| 亚洲综合色成人| 在线a免费观看| 久久国产电影| 国产精品www网站| 男人的天堂在线视频| 亚洲午夜免费电影| 人妻少妇偷人精品久久久任期| 欧美日韩在线观看视频小说| 97国产成人精品视频| 不卡视频在线播放| 亚洲激情图片一区| 亚洲精品综合在线观看| 日韩av有码| 国产精品久久久久一区二区| 亚洲 美腿 欧美 偷拍| 亚洲综合视频网| 中文字幕无人区二| 一区二区国产在线| 91精品国产自产在线老师啪| 国产午夜视频在线观看| 色婷婷久久久亚洲一区二区三区| 免费日本黄色网址| 日韩网站在线| 国产精品视频免费观看| 日韩av官网| 亚洲精品一线二线三线| 国产亚洲欧美久久久久| 国产精品综合二区| 成人在线视频一区二区三区| 视频一区中文字幕精品| 欧美伦理91i| 男人天堂手机在线观看| 亚洲高清免费一级二级三级| 无码国产69精品久久久久网站| 亚洲久久一区二区| 乱一区二区三区在线播放| 最新日韩精品| 在线看日韩欧美| 一级片在线观看视频| 亚洲欧美偷拍卡通变态| 51自拍视频在线观看| 亚洲天堂偷拍| 精品九九九九| 影视一区二区三区| 日韩有码在线电影| 亚洲av无码一区二区乱子伦| 亚洲午夜久久久久| av中文字幕免费观看| 麻豆精品视频在线观看| 亚洲一区二区精品在线| 国产精品一区二区精品| 欧美激情一区二区三区高清视频| 午夜一区在线观看| 欧美丝袜第三区| 1024手机在线视频| 91女人视频在线观看| 色国产在线视频| 国户精品久久久久久久久久久不卡| 国产伦精品一区二区三区免| 男人皇宫亚洲男人2020| 日韩有码在线观看| 婷婷伊人综合中文字幕| 欧美伊人久久大香线蕉综合69| 在线看的片片片免费| www.欧美精品一二区| 久久久精品三级| 欧美国内亚洲| 日本免费高清不卡| 亚洲日本va午夜在线电影| 欧美三级蜜桃2在线观看| 狠狠色狠狠色综合人人| 91av亚洲| 欧美日本精品在线| 国产一级免费在线观看| 日韩欧美电影一区| 不卡av电影在线| 一区二区三区在线观看动漫| 美女久久久久久久久久| 国产精品一区二区在线看| 97国产精东麻豆人妻电影| 久久亚洲影视| 久久99久久精品国产| 成人在线精品| 国产极品jizzhd欧美| 美洲精品一卡2卡三卡4卡四卡| 一区二区欧美在线| 欧美自拍第一页| 7777精品伊人久久久大香线蕉完整版 | 日韩精品一区二区亚洲av| 1024成人网| 91成人在线免费视频| 成人小视频免费在线观看| 久久久久久蜜桃一区二区| 国产一区二区你懂的| 国产欧美123| 99精品在线免费在线观看| 久久另类ts人妖一区二区| 视频一区日韩精品| 亚洲a级在线播放观看| 成人精品电影在线| 91成人在线观看国产| 男人添女人下部高潮视频在线观看 | 97精品国产| 日本在线观看一区二区三区| 麻豆成人入口| 国产精品一区在线播放| 久久在线观看| 91在线播放国产| 视频91a欧美| 91精品国产自产在线| 91久久久久久白丝白浆欲热蜜臀| 欧美性视频在线| 成人免费网站观看| 久久久亚洲精品视频| 乱插在线www| 欧美疯狂做受xxxx高潮| 日本乱理伦在线| 乱亲女秽乱长久久久| 激情视频在线观看| 精品国偷自产在线视频| 日本不卡视频| 久久精品国产91精品亚洲| 在线观看完整版免费| 中国china体内裑精亚洲片| 国产在线观看黄| 一区二区欧美在线| 婷婷免费在线视频| 日韩网站在线观看| av免费在线观看网址| 欧美乱妇高清无乱码| 黄色美女视频在线观看| 欧美极品少妇xxxxⅹ免费视频| 天天色天天射天天综合网| 九九热精品在线| yellow字幕网在线| 日本久久久久久久| 国产超碰精品| 91精品国产综合久久久久久久久| 成人自拍视频| 国产精品久久久久久久久久久久冷 | 亚洲国产导航| 欧美国产亚洲一区| 日韩黄色一级片| 极品粉嫩美女露脸啪啪| 国产一区二区三区在线观看免费 | 主播福利视频一区| www.在线视频| 国内揄拍国内精品少妇国语| 国产不卡网站| 国产精品一区二区三| 国产高清日韩| 精品不卡在线| 成人午夜av| 国产精品一二三在线观看| 伊人久久亚洲热| 日本a√在线观看| 国产不卡免费视频| 国产又爽又黄无码无遮挡在线观看| 久久精品夜色噜噜亚洲aⅴ| 亚洲不卡的av| 亚洲最大的成人av| 天天爱天天做天天爽| 91麻豆精品国产自产在线 | 成人激情午夜影院| 成人性生交大免费看| 亚洲色图欧美偷拍| 国产精品久久久久久99| 欧美日韩激情一区二区| 蜜桃视频污在线观看| 夜夜嗨av一区二区三区四区| 91网址在线观看| 国产成人亚洲综合91| 国产视频一区二区在线播放| 精品国产乱码久久久久久久软件| 成人精品电影| 男人用嘴添女人下身免费视频| 免费成人你懂的| 欧美一区二区免费在线观看| 国产精品卡一卡二| 看片网址国产福利av中文字幕| 欧美乱妇23p| 日本v片在线免费观看| 九九热这里只有在线精品视 | 在线观看成人小视频| 亚洲精品一区二区三区四区 | 国产伦精品一区二区三区免 | 91成人app| 久久综合九色综合久99| 欧美成人精品| 在线观看国产一级片| 99精品偷自拍| 久久久久久欧美精品se一二三四| 在线免费观看不卡av| 亚洲欧美日韩免费| 久久久久久久国产精品| 日本精品久久| 神马影院午夜我不卡| 99精品久久久| 成年女人免费视频| 一区二区三区在线视频观看58| 最近中文在线观看| 亚洲人成在线播放| 涩涩网在线视频| 国产精品视频免费观看| 欧美日韩亚洲一区| 中文字幕视频三区| 国产精品国产精品国产专区不片| 国产精品久免费的黄网站| 日韩av在线看| 波多野结衣精品| 国产精品久久久久久久久婷婷| 88国产精品视频一区二区三区| 久久久久国产一区| 国产欧美一区二区三区鸳鸯浴| 成人午夜淫片100集| 亚洲国产小视频在线观看| 成人在线高清免费| 国产伦精品一区二区三区视频免费| 欧美日韩亚洲一区| 99久久久无码国产精品性波多 | 在线观看精品国产视频| 高清电影一区| 日韩精品欧美在线| 日韩精品久久理论片| 永久免费成人代码| 在线观看亚洲专区| 超碰免费在线观看| 国产精品白丝jk喷水视频一区| 国产成人精品三级高清久久91| 337p粉嫩大胆噜噜噜鲁| 久久精品视频网| 国产情侣呻吟对白高潮| 中文字幕亚洲欧美一区二区三区| 国产福利91精品一区二区| 日韩在线三区| 久久99国内精品| 欧美黑人猛猛猛| 亚洲电影av在线| 亚洲深夜视频| 日韩三级在线播放| 韩国女主播成人在线观看| 丝袜美腿小色网| 亚洲福利视频网站| 成人va天堂| 99热都是精品| 不卡电影一区二区三区| 免费黄色片视频| 久久精品国产2020观看福利| 中文在线免费一区三区| 成人在线免费观看av| 日本一区二区三级电影在线观看| 91影院在线播放| 欧美激情综合色综合啪啪五月| 蜜桃一区av| 污片在线免费看| 亚洲最大成人综合| 国产视频在线看| 99精品99久久久久久宅男| 国产一区二区三区久久久久久久久| 日本一级免费视频| 日韩欧美在线不卡| 亚洲淫成人影院| 欧美 亚洲 视频| 久久久久久久久蜜桃| 国产色视频在线| 欧美一区在线直播| 亚洲精品国产偷自在线观看| 污污污www精品国产网站| 欧美日韩黄视频| 碰碰在线视频| 熟女视频一区二区三区| av在线不卡免费看| 国产美女无遮挡永久免费| 欧美在线激情网| 欧美日一区二区三区在线观看国产免| 亚洲永久精品ww.7491进入|