色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

輕松實現相機預覽 | Camera Viewfinder 全新上線

谷歌開發者 ? 來源:未知 ? 2023-02-20 20:20 ? 次閱讀

作者 / Android 開發者關系工程師 Francesco Romano


經過多年的不斷發展,Android 設備現在具有各種尺寸和形狀,并且屏幕大小和功能也大不相同。但無論如何變化,手機拍照從一開始便一直是 Android 設備最重要的使用場景之一。如今,相機功能仍然是消費者購買手機的首要考慮因素之一。

作為開發者,您希望在您的應用中利用相機功能,因此決定采用 Android 相機框架。首先要實現的是預覽 (Preview) 用例,它會在屏幕上顯示相機傳感器的輸出。
  • 預覽 (Preview)

    https://developer.android.google.cn/training/camerax/preview


接下來,您可以使用與屏幕尺寸一樣大的界面創建 CaptureSession。只要屏幕的寬高比與相機傳感器輸出的寬高比相同,并且設備保持自然的縱向方向,那么一切便能順利進行。


  • CaptureSession

    https://developer.android.google.cn/reference/android/hardware/camera2/CameraDevice#createCaptureSession(android.hardware.camera2.params.SessionConfiguration)


但是,當您調整窗口大小、展開設備、更改屏幕或改變方向時會發生什么呢?大多數情況下,預覽畫面可能會被拉伸、上下顛倒或錯誤地旋轉。如果處于多窗口模式中,您的應用甚至可能會崩潰。

為什么會出現這種情況呢?因為您在創建 CaptureSession 時做了隱含假設。

過去,應用在其整個生命周期中可能一直會在同一個窗口中運行,但是,隨著新的外形規格 (例如可折疊設備) 和新的顯示模式 (例如多窗口模式和多屏幕模式) 面市,這種情況已經發生變化。

讓我們具體了解一下在開發針對各種外形規格的應用時需要考慮的一些重要因素,以及要避免的一些常見陷阱:
  • 不要假定應用將一直在縱向窗口中運行。Android 13 仍然支持應用固定屏幕方向的請求,但現在設備制造商可以選擇覆蓋應用的首選屏幕方向請求。

  • 不要假定應用有任何固定尺寸或寬高比。即使您設置了 resizableActivity = "false",您的應用仍然可以在大屏幕設備 (>=600dp) 上以多窗口模式使用。

  • 不要假定屏幕方向和相機方向之間存在固定關系。《Android 兼容性定義文檔》中明確了相機圖像傳感器 "必須朝向正確方向,以便相機的長度方向與屏幕的長度方向對齊"從 API 級別 32 開始,查詢可折疊設備方向的相機客戶端可以收到一個根據設備/折疊狀態動態變化的值。


  • Android 兼容性定義文檔

    https://source.android.com/docs/compatibility/13/android-13-cdd#755_camera_orientation


  • 不要假定邊襯區的大小無法更改。新的任務欄會作為邊襯區報告給應用,且當任務欄與手勢導航一起使用時,任務欄可以動態隱藏和顯示。


  • 不要假定您的應用享有專屬的相機訪問權限。當您的應用處于多窗口模式時,其他應用也可以獲得對相機和麥克風等共享資源的訪問權限。


雖然 CameraX 已經能處理上述大多數情況,但使用 Camera2 API 實現適用于不同場景的預覽可能會很復雜。我們在 "在您的相機應用中支持可調整大小的 Surface" Codelab 中介紹了這一點。


  • 在您的相機應用中支持可調整大小的 Surface

    https://developer.android.google.cn/codelabs/android-camera2-preview


如果有一個簡單的組件可以處理這些細節,并讓您專注于特定的應用邏輯,會不會更好?

話不多說,敬請通過下文了解 CameraViewfinder……



隆重推出 CameraViewfinder


CameraViewfinderJetpack 庫的一個新組件,幫助您更輕松地快速實現相機預覽。它在內部使用 TextureView 或 SurfaceView 來顯示相機畫面,并對其應用進行必要的轉換以正確顯示取景器。比如校正寬高比、比例和旋轉方向。它與您現有的 Camera2 代碼庫完全兼容,并已在多種設備上持續進行測試。

  • CameraViewfinder

    https://developer.android.google.cn/reference/kotlin/androidx/camera/viewfinder/CameraViewfinder


下面就讓我們對其用法一探究竟!

首先,在您的應用級 build.gradle 文件中添加依賴項:
implementation "androidx.camera:camera-viewfinder:1.3.0-alpha01"


同步您的項目。現在,您應該可以像使用任何其他 View 一樣直接使用 CameraViewfinder。例如,您可以將它添加到您的布局文件中:
<androidx.camera.viewfinder.CameraViewfinder
android:id="@+id/view_finder"
app:scaleType="fitCenter"
app:implementationMode="performance"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

  • View

    https://developer.android.google.cn/reference/android/view/View


如您所見,CameraViewfinder 的控件與 PreviewView 上可用的控件相同,所以您可以選擇不同的實現模式縮放類型


  • PreviewView

    https://developer.android.google.cn/reference/kotlin/androidx/camera/view/PreviewView

  • 實現模式

    https://developer.android.google.cn/training/camerax/preview#implementation-mode

  • 縮放類型

    https://developer.android.google.cn/training/camerax/preview#scale-type


現在該組件是布局的一部分,您仍然可以創建 CameraCaptureSession,但不提供 TextureView 或 SurfaceView 作為目標界面,而是使用 requestSurfaceAsync() 的結果。

fun startCamera(){
val previewResolution = Size(width, height)
val viewfinderSurfaceRequest =
ViewfinderSurfaceRequest(previewResolution, characteristics)
val surfaceListenableFuture =
cameraViewfinder.requestSurfaceAsync(viewfinderSurfaceRequest)


Futures.addCallback(surfaceListenableFuture, object :FutureCallback {
override fun onSuccess(surface:Surface) {
//像往常一樣使用這個界面創建 CaptureSession
}
override fun onFailure(t:Throwable) { /* 出錯了 */}
}, ContextCompat.getMainExecutor(context))
}


  • CameraCaptureSession
    https://developer.android.google.cn/reference/android/hardware/camera2/CameraCaptureSession
  • requestSurfaceAsync()

    https://developer.android.google.cn/reference/kotlin/androidx/camera/viewfinder/CameraViewfinder#requestSurfaceAsync(androidx.camera.viewfinder.ViewfinderSurfaceRequest)



附加功能: 可折疊設備的布局優化


CameraViewFinder 隨時可以在可調整大小的界面、配置更改、旋轉和多窗口模式下使用,并且已經在許多可折疊設備上進行了測試。

但是,如果您想為可折疊設備和雙屏設備實施布局優化,您可以將 CameraViewFinder 與 Jetpack WindowManager 庫結合使用,從而為您的用戶提供獨特的體驗。

  • Jetpack WindowManager

    https://developer.android.google.cn/jetpack/androidx/releases/window


例如,如果屏幕中間有鉸鏈,或者設備處于 "書本" 或 "桌面" 模式,您可以選擇不顯示全屏預覽。在這種情況下,您可以將取景器放在屏幕的一部分中,然后將控件放在另一側;或者您可以使用屏幕的一部分來顯示最后拍攝的照片。盡情發揮您的創意吧!

示例應用已經針對可折疊設備進行了優化,您可以立即查看處理姿勢變化的代碼。歡迎您持續關注我們,及時了解更多開發技術和產品更新等資訊動態。


  • 處理姿勢變化的代碼

    https://github.com/androidx/androidx/blob/androidx-main/camera/integration-tests/viewfindertestapp/src/main/java/androidx/camera/integration/viewfinder/CameraViewfinderFoldableFragment.kt#L583




?點擊屏末||即刻了解 CameraViewfinder 更多相關信息




原文標題:輕松實現相機預覽 | Camera Viewfinder 全新上線

文章出處:【微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 谷歌
    +關注

    關注

    27

    文章

    6161

    瀏覽量

    105304

原文標題:輕松實現相機預覽 | Camera Viewfinder 全新上線

文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    微軟預覽版Copilot Vision AI功能上線

    Vision AI功能能夠智能地分析用戶正在瀏覽的網頁內容,為用戶提供更加便捷、高效的信息獲取方式。借助這一功能,用戶可以更加輕松地理解和處理網頁上的信息,提高工作和學習的效率。 微軟表示,預覽版的Copilot Vision AI功能將為用戶提供初步的體驗機會,以便收
    的頭像 發表于 12-09 14:38 ?257次閱讀

    PowerPAD?輕松實現

    電子發燒友網站提供《PowerPAD?輕松實現.pdf》資料免費下載
    發表于 10-29 10:08 ?0次下載
    PowerPAD?<b class='flag-5'>輕松</b><b class='flag-5'>實現</b>

    51camera 2024產品型錄-工業相機、工業鏡頭、光源

    51camera 2024產品型錄涵蓋了工業相機、工業鏡頭、光源、采集卡、工控機、線纜等視覺器件產品型號。
    發表于 10-18 16:31 ?0次下載

    KaihongOS 4.1.2開發者預覽版正式上線,誠邀開發者免費試用!

    深開鴻在2024開放原子開源生態大會上正式宣布KaihongOS4.1.2開發者預覽版全面上線,并向全球開發者開放免費下載。作為KaihongOS不斷創新與發展的重要里程碑,此次預覽版為開發者提供了
    的頭像 發表于 09-28 08:07 ?330次閱讀
    KaihongOS 4.1.2開發者<b class='flag-5'>預覽</b>版正式<b class='flag-5'>上線</b>,誠邀開發者免費試用!

    KaihongOS 4.1.2開發者預覽版正式上線,誠邀開發者免費試用!

    今日,深開鴻在2024開放原子開源生態大會上正式宣布KaihongOS 4.1.2開發者預覽版全面上線,并向全球開發者開放免費下載。作為KaihongOS不斷創新與發展的重要里程碑,此次預覽版為
    的頭像 發表于 09-26 15:59 ?451次閱讀

    石英晶振在智能相機中的應用

    智能相機(Smart Camera),是一種高度集成化的微小型機器視覺系統。它將圖像的采集、處理與通信功能集成于單一相機內,從而提供了具有多功能、模塊化、高可靠性、易于實現的機器視覺解
    的頭像 發表于 09-06 11:21 ?303次閱讀
    石英晶振在智能<b class='flag-5'>相機</b>中的應用

    GUI Guider V1.8.0全新版本正式上線

    在這個充滿創新與挑戰的時代,我們深知高效、靈活的GUI設計工具對人機交互應用的重要性。經過幾個月的精心打磨與測試,GUI Guider V1.8.0全新版本正式上線了!本次更新不僅帶來了前所未有的設計自由度,更在功能優化與用戶體驗上實現
    的頭像 發表于 08-02 09:26 ?776次閱讀

    51camera | 2024上海機器視覺展圓滿結束

    朋友對51camera的信任與支持。盛況回顧/REVIEW靜態展品51camera攜眾多經典靜態產品亮相現場,Dalsa的5G工業相機,FLIR的Forge5G相機
    的頭像 發表于 07-13 08:35 ?309次閱讀
    51<b class='flag-5'>camera</b> | 2024上海機器視覺展圓滿結束

    HarmonyOS開發案例:【相機開發】

    相機是OpenHarmony多媒體進程提供的服務之一,提供了相機的錄像、預覽、拍照功能,支持多用戶并發取流。
    的頭像 發表于 04-23 21:20 ?367次閱讀
    HarmonyOS開發案例:【<b class='flag-5'>相機</b>開發】

    Chrome瀏覽器新增攝像頭與麥克風預覽功能,解決會議操作困擾

    最近發布的 Chrome 123 版本中,用戶可提前預覽攝像頭拍攝的畫面以及麥克風的收音效果。要啟動此功能,只需在 Chrome 地址欄輸入“chrome://flags#camera-mic-preview”并按回車,然后選擇“Enabled”并重新啟動瀏覽器即可。
    的頭像 發表于 04-15 11:07 ?976次閱讀

    【米爾-芯馳D9360商顯板試用評測】創建視頻監控

    (); private: Ui::MainWindow *ui; QCamera *camera; //相機 QCameraViewfinder *viewfinder;//取景器
    發表于 04-07 19:56

    鴻蒙實戰開發Camera組件:【相機

    相機組件支持相機業務的開發,開發者可以通過已開放的接口實現相機硬件的訪問、操作和新功能開發,最常見的操作如:預覽、拍照和錄像等。
    的頭像 發表于 03-08 16:20 ?614次閱讀
    鴻蒙實戰開發<b class='flag-5'>Camera</b>組件:【<b class='flag-5'>相機</b>】

    工業相機SDK接口使用總結

    DMA控制器存在各種接口的圖像采集卡中,包括1394/GigE/USB/Camera Link等,這些采集卡有自己的時間控制單元完成和相機曝光的同步,并控制DMA的存取行為。
    發表于 03-08 15:11 ?1642次閱讀
    工業<b class='flag-5'>相機</b>SDK接口使用總結

    文心一言APP上線數字分身功能

    文心一言APP近日上線了一項令人興奮的新功能——數字分身。這一功能允許用戶輕松創建自己的個性化虛擬形象,為用戶帶來全新的互動體驗。
    的頭像 發表于 02-04 10:32 ?1179次閱讀

    FPGA模擬MIPI相機接入Jetson方案

    視覺相機是機器智能/自動化的關鍵,NVIDIA Jetson支持多個合作伙伴的Camera,這些相機包括USB、以太網、MIPI等接口的相機
    的頭像 發表于 01-04 09:51 ?2386次閱讀
    FPGA模擬MIPI<b class='flag-5'>相機</b>接入Jetson方案
    主站蜘蛛池模板: 99精品国产福利在线观看| 甜性涩爱在线播放| 国产精品香蕉视频在线| 亚洲日韩天堂在线中文字幕| 少妇无码吹潮久久精品AV网站| 揉抓捏打抽插射免费视频| 亚洲欭美日韩颜射在线二| YELLOW免费观看2019| 国产人妻XXXX精品HD电影| 含羞草在线免费观看| 奶好大下面流了好多水水| 皮皮色狼网| 亚洲精品视频在线免费| 99精品久久精品一区二区| 国产成人欧美日韩在线电影| 国产亚洲人成在线视频| 理论片午午伦夜理片2021| 日韩欧美一区二区三区免费看 | 精品久久久久中文字幕加勒比东京热| 国产色婷亚洲99精品AV| 美女被触手注入精子强制受孕漫画| 无限资源日本2019版免费| 99亚洲精品自拍AV成人软件| 九九热在线视频| 挺进老师的紧窄小肉六电影完整版 | 免费夜色污私人影院网站| 动漫美女搞鸡| 麻豆一二三区果冻| 亚洲成AV人片一区二区不卡| chinesetoilet美女沟| 久久黄色网| 一本之道高清视频在线观看| 国产精品久久国产三级国不卡顿 | 国产网红主播精品福利大秀专区| 男人被绑着强行摸j| 国产精品视频免费视频| 和尚轮流澡到高潮H| 思思久久99热只有频精品66| 国产高清精品自在久久| 含羞草影院免费区| 久久视频这有精品63在线国产|