当前位置: 首页 > 知识库问答 >
问题:

java.lang.运行时异常:Camera.set参数

姚臻
2023-03-14

我知道以前有人问过这个问题,我也读过所有的解决方案,但我的情况有点奇怪,我一直在开发人员帐户上得到崩溃报告,如下所示:

JAVAlang.RuntimeException:在android上。硬件照相机android上的本机设置参数(本机方法:0)。硬件照相机com上的setParameters(Camera.java:2080)。XXXXXXXXX。果心xxxxxxxx。xxxxxxx。surfaceCreated(BackgroundVideoRecorder.java:119)在android上创建。看法SurfaceView。在android上更新Windows(SurfaceView.java:675)。看法SurfaceView 3美元。android上的onPreDraw(SurfaceView.java:185)。看法ViewTreeObserver。android上的dispatchOnPreDraw(ViewTreeObserver.java:944)。看法ViewRootImpl。android上的performTraversals(ViewRootImpl.java:2050)。看法ViewRootImpl。android上的doTraversal(ViewRootImpl.java:1117)。看法ViewRootImpl$TraversalRunnable。在android上运行(ViewRootImpl.java:6175)。看法编舞$CallbackRecord。在android上运行(Choreographer.java:773)。看法编舞android上的doCallbacks(Choreographer.java:586)。看法编舞android上的doFrame(Choreographer.java:556)。看法Choreographer$FrameDisplayEventReceiver。在android上运行(Choreographer.java:759)。操作系统。处理程序。android上的handleCallback(Handler.java:739)。操作系统。处理程序。android上的dispatchMessage(Handler.java:95)。操作系统。活套。android上的loop(Looper.java:135)。应用程序。活动线程。java上的main(ActivityThread.java:5421)。朗。反思。方法在java上调用(本机方法:0)。朗。反思。方法在com上调用(Method.java:372)。Android内部的操作系统。ZygoteInit$MethodandArgscaler。在com上运行(ZygoteInit.java:914)。Android内部的操作系统。合子体。main(ZygoteInit.java:707)

删除了应用程序名称为了广告,我尝试了多个设备上的应用程序,我无法重现错误,即使我尝试过的设备在崩溃报告中可用,在我的参数生成过程中,我确保检查如果支持每个参数,通过检查摄像机参数,下面的代码:

   if (front) {
            params = camera.getParameters();
            params.setRotation(90);
            List<String> focusModes = params.getSupportedFocusModes();
            if (focusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) {
                params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
                Log.w("VideoTakerFront","Continuous Video Supported");
            }
        } else {
            params = camera.getParameters();
            params.setRotation(270);
            List<String> focusModes = params.getSupportedFocusModes();
            if (focusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) {
                params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
                Log.w("VideoTakerBack","Continuous Video Supported");
            }
        }
        camera.setParameters(params);
                if (android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.JELLY_BEAN_MR1){
                    camera.enableShutterSound(false);
                }
                else{
                    AudioManager audio= (AudioManager)this.getApplicationContext().getSystemService(Context.AUDIO_SERVICE);
                    audio.setStreamVolume(AudioManager.STREAM_SYSTEM, 0,   AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
                }
        Log.w("VideoTaker", "Open Camera");

谢谢你的帮助!

共有1个答案

夏侯兴怀
2023-03-14

我发现了问题。。。报告此问题的用户使用的是较旧版本的应用程序,我没有注意该版本,此问题以前发生在较旧版本中,之前我没有使用获取支持的焦点模式并检查它是否可用,谢谢!

 类似资料:
  • 我得到java.lang.NoSuch方法例外请帮助我在这... 这就是我得到的错误- 错误:java.lang.运行时异常:java.lang.NoSuchmethod异常:com.nielsen.GRFE.processor.mapreduce.占位符$PlaceholderMapper.()在org.apache.hadoop.util.Reflse Utils.new实例(Reflse U

  • 在我的项目中,我有这样一个枚举: 我有这个代码: 我有个例外 myMap由数据库中的数据填充,知道它是SQL Server数据库,并且从数据库返回的myKey在数据库中是tinyint类型。 你能告诉我我做错了什么吗?谢谢 当做

  • 声明运行时异常的方法的指导原则是什么? 假设我调用一个抛出的第三方例程。该例程能够抛出而不声明它这样做是否允许/标准/可接受? 和往常一样,我对我的问题引起的困惑感到惊讶:-D这可能是因为我很困惑。 在下面的代码中,可调用的是一个lambda,它发出一个,这会抛出SQLException。callable.call抛出Exception。 我由此推测,程序员希望抛出一个SQLException。然

  • 问题内容: 运行单元测试时,我遇到了jar hell的问题。 我遇到了上述错误,并通过删除了不必要的jar文件解决了这些错误。 但是我面临以下两个jar的问题,即tomcat-embed-core-8.0.36.jar和hibernate- jpa-2.1-api-1.0.0.Final.jar。这两者之间有一个共同的类,我需要两个jar文件,任何人都可以向我解释如何解决此问题。我都需要jar文件

  • 我试图学习Java FX,所以我使用了一些Oracle Eample代码,但当我试图在Netbean IDE中运行它时,它给了我一个运行时错误。下面是一段代码: 而这是个例外。 Edit:好的,基于rob的回答,我添加了我在示例中遗漏的扩展,现在在我尝试扩展代码后,它甚至给出了更多的异常。下面是该异常的新代码和日志。 这是异常日志: