| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Camera2查看相机支持和设定的preview size、picture size和FPSRange的方法 -> 正文阅读 |
|
[游戏开发]Camera2查看相机支持和设定的preview size、picture size和FPSRange的方法 |
通过如下方法dump camera service信息到dump.txt: adb shell dumpsys media.camera > dump.txt 1. 查看相机支持的preview size和picture size 在dump结果中,搜索android.scaler.availableStreamConfigurations,出来的结果列表形式如下: ??? [34 4032 3024 OUTPUT ] ??? ... 其中,第1个参数为format,第2个参数为width,第3个参数为height,第4个参数为streamType(preview看OUTPUT类型)。 主要的format为: ??? HAL_PIXEL_FORMAT_RAW16 = 32; ??? HAL_PIXEL_FORMAT_BLOB = 33; ??? HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED = 34; ??? HAL_PIXEL_FORMAT_YCbCr_420_888 = 35; ??? HAL_PIXEL_FORMAT_RAW_OPAQUE = 36; ??? HAL_PIXEL_FORMAT_RAW10 = 37; ??? HAL_PIXEL_FORMAT_RAW12 = 38; HAL_PIXEL_FORMAT_BLOB表示是jpeg stream,对应的size即平时所说的picture size; HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED表示preview stream,对应的size即平时所说的preview size. 例如,[34 4032 3024 OUTPUT ]表示preview size支持4032x3024. [33 4032 2016 OUTPUT ]表示picture size支持4032x2016. 所以availableStreamConfigurations的输出结果中,所有format=34且streamType=OUTPUT的size即为相机支持的preview size. 同理,所有format=33且streamType=OUTPUT的size即为相机支持的picture size. 2.查看相机支持的FPS 在dump结果中,搜索android.control.aeAvailableTargetFpsRanges,出来的结果列表形式如下: ??? [7 30 30 30 ] ??? ... 数据中每2个一组构成一个FPSRange,其中第1个为FPSRange的下限,第2个为FPSRange的上限。 例如,[7 30 30 30 ]表示相机支持的FPSRange为[7 30]和[30 30]. 3.查看当前打开的相机及其设置 在dump结果,搜索CameraDeviceClient,出来的结果类似: ? Device 3 is open. Client instance dump: ??? Client priority score: 0 state: 2 ??? Client PID: 7358 ??? Client package: com.android.camera ? CameraDeviceClient[3] (0xebbc0500) dump: CameraDeviceClient[3]中括号里的“3”即为当前打开的camera id. 要查看相机当前的设置,只需在该client的“Dumping camera metadata array”中根据对应的key搜索即可。 例如:查看相机当前设置的FPS 在dump结果中,搜索android.control.aeTargetFpsRange,出来的结果即为当前的FPSRange. 例如,[7 30 ]表示当前设定的FPSRange为[7 30 ]. 4.查看相机当前设置的preview size和picture size 在dump结果中,搜索Stream configuration,Stream configuration的输出类似: ??? Stream[0]: Output ????? Consumer name: SurfaceTexture-1-7358-0 ????? State: 4 ????? Dims: 1920 x 1080, format 0x22, dataspace 0x0 ??? ... ??? Stream[1]: Output ????? Consumer name: ImageReader-3840x2160f100m2-7358-1 ????? State: 4 ????? Dims: 3840 x 2160, format 0x21, dataspace 0x8c20000 其中stream 0的format为0x22=34,这个即为preview stream,其size为1920 x 1080. 其中stream 1的format为0x21=33,这个即为jpeg stream,其size为3840 x 2160. |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/16 18:51:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |