android camera setParameters failed 类问题分析总结

LOG显示为:

09-01 18:47:17.348 15656 15675 E AndroidRuntime: FATAL EXCEPTION: Camera Handler Thread

09-01 18:47:17.348 15656 15675 E AndroidRuntime: Process: com.android.camera, PID: 15656

09-01 18:47:17.348 15656 15675 E AndroidRuntime: java.lang.RuntimeException: setParameters failed

09-01 18:47:17.348 15656 15675 E AndroidRuntime:      at android.hardware.Camera.native_setParameters(Native Method)

这种情况下都是参数设置错误。

主要常见错误在以下两个方法的参数设置

Camera.Parameters parameters = mCamera.getParameters();

parameters.setPictureSize(1600, 1200);

parameters.setPreviewSize(w, h);

该怎样去设置好这两个参数设置呢?

首先我们将数据获取处理看看这两个方法能够传递那些参数进来。

List<Size> pictureSizes = parameters.getSupportedPictureSizes();

int length = pictureSizes.size();

for (int i = 0; i < length; i++) {

Log.e("TAG","SupportedPictureSizes : " + pictureSizes.get(i).width + "x" + pictureSizes.get(i).height);

}

List<Size> previewSizes = parameters.getSupportedPreviewSizes();

length = previewSizes.size();

for (int i = 0; i < length; i++) {

Log.e("TAG","SupportedPreviewSizes : " + previewSizes.get(i).width + "x" + previewSizes.get(i).height);

}

通过日志我们可以看到

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPictureSizes : 640x480

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPictureSizes : 1600x1200

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPictureSizes : 2048x1536

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPictureSizes : 2592x1456

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPictureSizes : 2592x1952

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPictureSizes : 3264x1840

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPictureSizes : 3264x2448

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPictureSizes : 4160x2336

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPictureSizes : 4160x3120

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPictureSizes : 3104x3104

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPreviewSizes : 176x144

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPreviewSizes : 240x160

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPreviewSizes : 352x288

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPreviewSizes : 320x240

05-21 17:43:17.545: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPreviewSizes : 480x320

05-21 17:43:17.550: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPreviewSizes : 640x480

05-21 17:43:17.550: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPreviewSizes : 720x544

05-21 17:43:17.550: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPreviewSizes : 960x544

05-21 17:43:17.550: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPreviewSizes : 960x720

05-21 17:43:17.550: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPreviewSizes : 720x720

05-21 17:43:17.550: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPreviewSizes : 1280x720

05-21 17:43:17.550: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPreviewSizes : 1440x1080

05-21 17:43:17.550: E/FFFFFFFFFFFFFFFFFFFFF(21262): SupportedPreviewSizes : 1920x1080

05-21 17:43:17.550: E/==============(21262): ==w=1920========h=1080  隐藏返回键我手机对应的分辨率

所以这两个方法里面的参数必须是上面可以对应上的。

05-21 17:47:43.575: E/==============(21262): ==w=1794========h=1080  显示返回键的分辨率

我的问题是使用荣耀6手机返回键和home都是在屏幕内导致高的分辨率达不到1920*1080。而实际只有1794*1080而导致错误。

时间: 2024-10-10 20:22:51

android camera setParameters failed 类问题分析总结的相关文章

Android调用camera错误setParameters failed深层解析

1. Camera Camera是Android framework里面支持的,允许你拍照和拍摄视频的设备,那么,在使用camera开发中总是会遇到一些问题,例如以下这样子的: E/AndroidRuntime(1542): java.lang.RuntimeException: setParameters failed E/AndroidRuntime(1542):  at android.hardware.Camera.native_setParameters(Native Method)

Android Camera fw学习(四)-recording流程分析

Android Camera fw学习(四)-recording流程分析 备注:备注:本文是Android5.1学习笔记.博文按照软件启动流程分析.  且行且惜,一步一个脚印,这次学习camera Video.虽然标题是recording流程分析,但这里很多和preview是相似的(包含更新,创建Stream,创建Request),这里主要分析MediaRecorder对象创建.video帧监听对象注册.帧可用事件以及一系列callback流程分析. 一.认识video(mediaRecorde

Android Camera 通过V4L2与kernel driver的完整交互过程

http://blog.chinaunix.net/uid-26215986-id-3552456.html 原文地址:Android Camera 通过V4L2与kernel driver的完整交互过程 作者:xinyuwuxian 之前在 Android Camera 的执行流程 http://blog.chinaunix.net/uid-26765074-id-3499537.html 这篇文章中已经详细介绍了Android Camera app到调用open打开camera 设备的完成过

Android Camera开发之基础知识篇

概述 Android框架支持设备的相机拍照和录像功能,你的应用可以直接调用系统的Camera应用来拍照或者录像(比如微信拍照),当然也可以利用Android系统提供的API开发一个Camera应用来实现相机拍照和录像功能(比如市面上流行的360相机).此篇文章主要记录相机开发有关的基础知识,以及带着自己的理解翻译Camera官方文档,如有翻译不恰当支出,还请指出改正.当然我会开一个有关相机开发的一个系列,该系列主要内容包括如下: 相机基本预览拍照功能. 实现相机的Flash,Hdr,滤镜,前后摄

qcom Android Camera【转】

本文转载自:http://blog.csdn.net/Wilsonboliu/article/details/54949196 1.总体架构 Android Camera 框架从整体上看是一个 client/service 的架构, 有两个进程: client 进程,可以看成是 AP 端,主要包括 Java 代码与一些 native c/c++代码; service 进 程,属于服务端,是 native c/c++代码,主要负责和 Linux kernel 中的 camera driver 交互

Android 上千实例源码分析以及开源分析

Android 上千实例源码分析以及开源分析(百度云分享) 要下载的直接翻到最后吧,项目实例有点多. 首先 介绍几本书籍(下载包中)吧. 01_Android系统概述 02_Android系统的开发综述 03_Android的Linux内核与驱动程序 04_Android的底层库和程序 05_Android的JAVA虚拟机和JAVA环境 06_Android的GUI系统 07_Android的Audio系统 08_Android的Video 输入输出系统 09_Android的多媒体系统 10_

Android Camera 相机程序编写

Android Camera 相机程序编写 要自己写一个相机应用直接使用相机硬件,首先应用需要一个权限设置,在AndroidManifest.xml中加上使用设备相机的权限: <uses-permission android:name="android.permission.CAMERA" /> 为你的应用创建自定义的相机,一般步骤如下: 1.检测相机硬件并获取访问 2.建立一个Preview类:需要一个相机预览的类,继承 SurfaceView 类,并实现SurfaceH

Android Camera探究之路——起步

Android Camera探究之路--起步 Camera在手机中有着举足轻重的地位,无论是二维码还是照片.识别.都离不开摄像头,本文将对Android中的Camera进行全面解析. 权限镇楼: <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE&

【Android】Android Camera原始帧格式转换 —— 获取Camera图像(一)

 概述: 做过Android Camera图像采集和处理的朋友们应该都知道,Android手机相机采集的原始帧(RawFrame)默认是横屏格式的,而官方API有没有提供一个设置Camera采集图像的方向的方法,导致我们拿到原始帧后还需要再次对其进行转换为对应需求的数据,例如YUV的格式,图像的方向等(旋转多少度合适),下面我就粗略的介绍一下大致的流程,理解浅薄,大神请勿喷. 注意:当前还都是基于API<21的内容,如果压根不用android.hardware.Camera的话可能有区别,还没研