chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

HarmonyOS折疊屏鏡頭切換應(yīng)用實(shí)踐

HarmonyOS開(kāi)發(fā)者 ? 來(lái)源:HarmonyOS開(kāi)發(fā)者技術(shù) ? 2025-08-27 16:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在2025華為開(kāi)發(fā)者大會(huì)的圖片和相機(jī)分論壇上,美顏相機(jī)分享了如何通過(guò)折疊屏鏡頭適配,打造多端一致的拍攝體驗(yàn)。隨著華為折疊屏產(chǎn)品的不斷豐富,相機(jī)開(kāi)發(fā)在折疊屏上也面臨獨(dú)特技術(shù)難題,鏡頭選錯(cuò)導(dǎo)致黑屏、角度設(shè)置錯(cuò)誤導(dǎo)致拉伸或者畫面旋轉(zhuǎn)的問(wèn)題日益凸顯。本文通過(guò)鏡頭選取、鏡頭接續(xù)、角度設(shè)置三個(gè)維度來(lái)探討在HarmonyOS折疊屏設(shè)備上更多創(chuàng)新的使用方式和更豐富的布局樣式。

統(tǒng)一、簡(jiǎn)易的鏡頭選取

HarmonyOS基于折疊狀態(tài)和鏡頭位置,精準(zhǔn)描述每一顆鏡頭,并僅上報(bào)當(dāng)前折疊狀態(tài)下的前后置鏡頭集合。這種機(jī)制確保了應(yīng)用能夠按照直板機(jī)鏡頭的使用習(xí)慣,直接通過(guò)位置信息打開(kāi)鏡頭,而HarmonyOS會(huì)自動(dòng)映射為當(dāng)前折疊狀態(tài)下的鏡頭。這種設(shè)計(jì)保障了直板機(jī)和折疊機(jī)在鏡頭使用上的統(tǒng)一性和兼容性,極大簡(jiǎn)化了開(kāi)發(fā)者的適配工作。

ae1aa492-7f2f-11f0-a18e-92fbcf53809c.png

import{ camera }from'@kit.CameraKit';
import{BusinessError}from'@kit.BasicServicesKit';
import{ common }from'@kit.AbilityKit';
functiongetCameraManager(context: common.BaseContext): camera.CameraManager{
letcameraManager: camera.CameraManager= camera.getCameraManager(context);
returncameraManager;
}
functiongetCameraDevices(cameraManager: camera.CameraManager):Array {
letcameraArray:Array = cameraManager.getSupportedCameras();
if(cameraArray !=undefined&& cameraArray.length>0) {
 for(letindex =0; index < cameraArray.length; index++) {
? ? ??console.info('cameraId : '?+ cameraArray[index].cameraId);?// 相機(jī)ID
? ? ??console.info('cameraPosition : '?+ cameraArray[index].cameraPosition);?// 相機(jī)位置
? ? ??console.info('cameraType : '?+ cameraArray[index].cameraType);?// 相機(jī)類型
? ? ??console.info('connectionType : '?+ cameraArray[index].connectionType);?// 相機(jī)連接類型
? ? }
? ??return?cameraArray;
? }?else?{
? ??console.error("cameraManager.getSupportedCameras error");
? ??return?[];
? }
}

快捷的鏡頭切換方式

折疊設(shè)備形態(tài)各異,在相機(jī)應(yīng)用的開(kāi)發(fā)過(guò)程中需要統(tǒng)一的攝像頭切換方案,以確保用戶在拍照、錄像過(guò)程中獲得更好的體驗(yàn)。為了應(yīng)對(duì)折疊屏設(shè)備的動(dòng)態(tài)變化,HarmonyOS提供了兩種鏡頭切換方式,以滿足不同場(chǎng)景的需求:

方式1:應(yīng)用自主切換鏡頭

適用場(chǎng)景:適用于需要精致拍照體驗(yàn)的場(chǎng)景,如美顏相機(jī)。

實(shí)現(xiàn)方式:應(yīng)用需監(jiān)聽(tīng)折疊狀態(tài)的變化,自主完成鏡頭的啟停、切換,重新配置會(huì)話(涉及修改分辨率),重新查詢鏡頭能力范圍,并調(diào)整UX布局。

優(yōu)勢(shì):提供高度定制化的拍攝體驗(yàn),滿足復(fù)雜場(chǎng)景的需求。

import{ camera }from'@kit.CameraKit';
import{BusinessError}from'@kit.BasicServicesKit';
functionregisterFoldStatusChanged(err: BusinessError, foldStatusInfo: camera.FoldStatusInfo) {
console.info('foldStatusChanged foldStatus: '+ foldStatusInfo.foldStatus);
 for(leti =0; i < foldStatusInfo.supportedCameras.length; i++) {
? ? ??// 選取當(dāng)前折疊狀態(tài)的前置鏡頭,進(jìn)行重新配流和UX布局調(diào)整
? ? ??console.info(`foldStatusChanged camera[${i}]:?${foldStatusInfo.supportedCameras[i].cameraId}`);
? ? }
}
function?onFoldStatusChange(cameraManager: camera.CameraManager) {
? cameraManager.on('foldStatusChange', registerFoldStatusChanged);
}
function?offFoldStatusChange(cameraManager: camera.CameraManager) {
? cameraManager.off('foldStatusChange', registerFoldStatusChanged);
}

方式2:系統(tǒng)自動(dòng)切換鏡頭

適用場(chǎng)景:適用于簡(jiǎn)單場(chǎng)景,如人臉識(shí)別。

實(shí)現(xiàn)方式:HarmonyOS自動(dòng)完成鏡頭切換、會(huì)話配置,應(yīng)用使能自動(dòng)切換鏡頭的能力時(shí),在有多個(gè)前置鏡頭的折疊設(shè)備上,不同的折疊狀態(tài)下可自動(dòng)切換到當(dāng)前可使用的前置鏡頭,避免前置鏡頭被折入內(nèi)部導(dǎo)致黑屏。

優(yōu)勢(shì):簡(jiǎn)化開(kāi)發(fā)流程,提升用戶體驗(yàn)的一致性和便捷性。

import{ camera }from'@kit.CameraKit';
functionenableAutoDeviceSwitchFn(session: camera.PhotoSession) {
if(session.isAutoDeviceSwitchSupported()) {
  session.enableAutoDeviceSwitch(true);
 }
}

簡(jiǎn)單易用的角度查詢?cè)O(shè)置能力

為了確保在不同折疊狀態(tài)下拍攝的照片和視頻保持正確的方向和角度,HarmonyOS相機(jī)采用了以下角度計(jì)算公式:

預(yù)覽:屏幕跟隨鏡頭一起旋轉(zhuǎn),因此預(yù)覽角度需考慮屏幕旋轉(zhuǎn)角度。

公式:旋轉(zhuǎn)角度 = 鏡頭安裝角度 + 屏幕旋轉(zhuǎn)角度

拍照/錄像:要保證照片/視頻正向存儲(chǔ),因此與設(shè)備旋轉(zhuǎn)角度相關(guān)。

公式:旋轉(zhuǎn)角度 = 前置:鏡頭安裝角度 – 設(shè)備旋轉(zhuǎn)角度

后置:鏡頭安裝角度 + 設(shè)備旋轉(zhuǎn)角度

通過(guò)這些角度計(jì)算,美顏相機(jī)確保了在不同折疊狀態(tài)下,用戶能夠獲得一致且高質(zhì)量的拍攝體驗(yàn)。

import{ camera }from'@kit.CameraKit';
import{BusinessError}from'@kit.BasicServicesKit';
import{ display }from'@kit.ArkUI';
// 以預(yù)覽舉例,previewOutput是創(chuàng)建的預(yù)覽輸出
letinitDisplayRotation = display.getDefaultDisplaySync().rotation;
letinitPreviewRotation = previewOutput.getPreviewRotation(initDisplayRotation * camera.ImageRotation.ROTATION_90);
previewOutput.setPreviewRotation(initPreviewRotation,false);
display.off('change');
display.on('change',() =>{
// 在折疊狀態(tài)變化時(shí),重新查詢旋轉(zhuǎn)角度并下發(fā)
 initDisplayRotation = display.getDefaultDisplaySync().rotation;
letimageRotation = initDisplayRotation * camera.ImageRotation.ROTATION_90;
letpreviewRotation = previewOutput.getPreviewRotation(imageRotation);
 previewOutput.setPreviewRotation(previewRotation,false);
});

開(kāi)發(fā)者可通過(guò)HarmonyOS開(kāi)發(fā)者官網(wǎng)查詢相關(guān)資料進(jìn)行開(kāi)發(fā)實(shí)踐,通過(guò)以下官網(wǎng)鏈路進(jìn)行體驗(yàn)參考(指南→媒體→相機(jī)服務(wù)→開(kāi)發(fā)相機(jī)應(yīng)用),助力開(kāi)發(fā)更高效便捷。

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

    關(guān)注

    216

    文章

    35572

    瀏覽量

    259209
  • 相機(jī)
    +關(guān)注

    關(guān)注

    4

    文章

    1511

    瀏覽量

    55180
  • 折疊屏
    +關(guān)注

    關(guān)注

    3

    文章

    539

    瀏覽量

    16577
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2141

    瀏覽量

    34905

原文標(biāo)題:【HarmonyOS相機(jī)開(kāi)發(fā)系列】折疊屏鏡頭切換優(yōu)秀實(shí)踐

文章出處:【微信號(hào):HarmonyOS_Dev,微信公眾號(hào):HarmonyOS開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Pura X****闊折疊適配:解鎖超視覺(jué)與高效交互的全新體驗(yàn)

    3月20日,華為發(fā)布業(yè)界首款闊折疊手機(jī)Pura X,其獨(dú)特的16:10闊型設(shè)計(jì),為用戶帶來(lái)煥然一新的體驗(yàn)。為了幫助開(kāi)發(fā)者更好的適配闊折疊設(shè)備,華為在HarmonyOS開(kāi)發(fā)者官網(wǎng)上線了
    發(fā)表于 04-14 15:30

    鴻蒙5開(kāi)發(fā)寶藏案例分享---折疊懸停態(tài)開(kāi)發(fā)實(shí)踐

    HarmonyOS早就準(zhǔn)備好了超多實(shí)用案例,今天必須帶大家解鎖\"懸停態(tài)\"開(kāi)發(fā)的正確姿勢(shì),手慢無(wú)哦~ ?** 先來(lái)點(diǎn)干貨:什么是懸停態(tài)?** 就是把折疊像筆記本電腦那樣半折立在桌上
    發(fā)表于 06-03 12:04

    鴻蒙5開(kāi)發(fā)寶藏案例分享---折疊開(kāi)發(fā)實(shí)踐

    ?** 最佳實(shí)踐案例大揭秘!開(kāi)發(fā)者的隱藏寶藏手冊(cè)** 大家好呀! 今天在翻鴻蒙文檔時(shí)突然發(fā)現(xiàn)了一個(gè)驚天大寶藏——官方其實(shí)早就默默放出了 幾十個(gè)超實(shí)用開(kāi)發(fā)案例 ,覆蓋折疊適配、性能優(yōu)化、UI框架、跨
    發(fā)表于 06-12 11:44

    和寬浪費(fèi)了?HarmonyOS折疊設(shè)計(jì)規(guī)范教你用起來(lái)

    這幾年折疊手機(jī)很火,我們針對(duì)使用HarmonyOS折疊手機(jī)提供了應(yīng)用設(shè)計(jì)指導(dǎo)——HarmonyOS
    發(fā)表于 02-22 14:52

    一文帶你詳細(xì)了解HarmonyOS折疊設(shè)計(jì)規(guī)范!

    隨著新一代折疊手機(jī)HUAWEI Mate Xs 2發(fā)布,HarmonyOS折疊設(shè)計(jì)規(guī)范(后文簡(jiǎn)稱:設(shè)計(jì)規(guī)范)也馬不停蹄地更新啦!這次更新
    發(fā)表于 05-20 10:22

    harmonyos程序開(kāi)發(fā)如何暫時(shí)屏蔽折疊?

    harmonyos程序開(kāi)發(fā)如何暫時(shí)屏蔽折疊,沒(méi)有折疊設(shè)備,沒(méi)法進(jìn)行正常的適配,所以想暫時(shí)關(guān)閉屏蔽折疊
    發(fā)表于 06-16 10:48

    HarmonyOS原子化服務(wù)案例分享-馬仕健專輯

    代碼,兼容了手機(jī)、平板、折疊。本服務(wù)已經(jīng)上架,在HarmonyOS系統(tǒng)手機(jī)中,可以直接體驗(yàn)。二、搜索 鴻蒙碼 服務(wù)中心效果三、手機(jī)折疊
    發(fā)表于 07-18 16:05

    不止于大,如何打造優(yōu)秀的折疊應(yīng)用體驗(yàn)

    ,HarmonyOS 折疊設(shè)計(jì)規(guī)范中提供了六種動(dòng)態(tài)布局規(guī)則,通過(guò)這些布局規(guī)則的使用或組合,就可以做到在展開(kāi)態(tài)下顯示更多的內(nèi)容。 動(dòng)態(tài)布局規(guī)則 (左圖為自適應(yīng)動(dòng)態(tài)布局、右圖為響應(yīng)式動(dòng)態(tài)布局) 通常一個(gè)頁(yè)面上有多種
    發(fā)表于 12-23 11:16

    折疊原理

    我們今天介紹的主角就是折疊折疊是使用可以很好的擴(kuò)展屏幕的尺寸,讓我們的手機(jī)屏幕不在受限手機(jī)自身的體積?;蛟S你已經(jīng)看了華為折疊
    的頭像 發(fā)表于 03-10 09:31 ?2.2w次閱讀

    HarmonyOS 測(cè)試技術(shù)與實(shí)踐-HarmonyOS 軟件測(cè)試技術(shù)棧

    2021華為開(kāi)發(fā)者大會(huì)HarmonyOS 測(cè)試技術(shù)與實(shí)踐-HarmonyOS 軟件測(cè)試技術(shù)棧
    的頭像 發(fā)表于 10-23 14:19 ?1973次閱讀
    <b class='flag-5'>HarmonyOS</b> 測(cè)試技術(shù)與<b class='flag-5'>實(shí)踐</b>-<b class='flag-5'>HarmonyOS</b> 軟件測(cè)試技術(shù)棧

    HarmonyOS折疊設(shè)計(jì)規(guī)范的新增亮點(diǎn)內(nèi)容

    這幾年折疊手機(jī)很火,我們針對(duì)使用HarmonyOS折疊手機(jī)提供了應(yīng)用設(shè)計(jì)指導(dǎo)——HarmonyOS
    的頭像 發(fā)表于 02-25 12:08 ?2433次閱讀

    華為發(fā)布新版HarmonyOS折疊設(shè)計(jì)規(guī)范 持續(xù)引領(lǐng)折疊UI設(shè)計(jì)創(chuàng)新

    近日,華為發(fā)布了最新的HarmonyOS折疊設(shè)計(jì)規(guī)范。本次更新的設(shè)計(jì)規(guī)范圍繞折疊適配和雙
    的頭像 發(fā)表于 11-07 13:26 ?1742次閱讀

    華為發(fā)布新版HarmonyOS折疊設(shè)計(jì)規(guī)范 持續(xù)引領(lǐng)折疊UI設(shè)計(jì)創(chuàng)新

    近日,華為發(fā)布了最新的HarmonyOS折疊設(shè)計(jì)規(guī)范。本次更新的設(shè)計(jì)規(guī)范圍繞折疊適配和雙
    的頭像 發(fā)表于 11-09 09:31 ?1207次閱讀

    華為發(fā)布新版HarmonyOS折疊設(shè)計(jì)規(guī)范 持續(xù)引領(lǐng)折疊UI設(shè)計(jì)創(chuàng)新

    近日,華為發(fā)布了最新的HarmonyOS折疊設(shè)計(jì)規(guī)范。本次更新的設(shè)計(jì)規(guī)范圍繞折疊適配和雙
    發(fā)表于 11-09 11:38 ?667次閱讀
    華為發(fā)布新版<b class='flag-5'>HarmonyOS</b><b class='flag-5'>折疊</b><b class='flag-5'>屏</b>設(shè)計(jì)規(guī)范 持續(xù)引領(lǐng)<b class='flag-5'>折疊</b><b class='flag-5'>屏</b>UI設(shè)計(jì)創(chuàng)新

    HarmonyOS聯(lián)合綠盟發(fā)布折疊軟件規(guī)范,攜HUAWEI Mate X3帶來(lái)創(chuàng)新折疊體驗(yàn)

    、HarmonyOS 3.1 全新升級(jí)的智慧多窗以及懸停狀態(tài)下的創(chuàng)意功能玩法,軟硬一體為折疊手機(jī)帶來(lái)更加優(yōu)秀的閱讀、觀影、辦公及游戲體驗(yàn)。 此外,早在2019年,華為便與軟件綠色聯(lián)盟首發(fā)了《
    的頭像 發(fā)表于 03-24 12:32 ?1147次閱讀
    <b class='flag-5'>HarmonyOS</b>聯(lián)合綠盟發(fā)布<b class='flag-5'>折疊</b><b class='flag-5'>屏</b>軟件規(guī)范,攜HUAWEI Mate X3帶來(lái)創(chuàng)新<b class='flag-5'>折疊</b>體驗(yàn)