当前位置: 首页 > 面试题库 >

W / CameraBase:连接相机时发生错误:0

南宫凯康
2023-03-14
问题内容

有一个类似的问题,但尚未解决:

W /CameraBase:连接相机时发生错误:camera.open()调用为0

我有一个(自然)正在使用相机的应用程序。它一直很好。但是,如果在构建之间没有代码更改,则应用程序开始崩溃(通过Git提交历史记录验证没有代码更改)。

为了进一步验证问题是否出在硬件中,我在另一部手机上运行了相同的代码,并且工作正常。相机以某种方式被锁定,无法打开。

以下是相关代码:

创建一个预览对象

_cameraPreview = new CameraPreview(getActivity(),_camera);

这是它的创建代码

 public CameraPreview(Context context, Camera camera) 
    {
        super(context);
        _camera = camera;
        _surfaceHolder = getHolder();
        _surfaceHolder.addCallback(this);
    }

打开相机:

//默认情况下打开后置摄像头

public static Camera getCameraInstance()
{
    Camera c = null;
    try
    {
        c = Camera.open();
    }catch (Exception e)
    {
       e.printStackTrace();
    }

    return c;
}

这是发生错误的地方,camera.Open使用以下堆栈跟踪引发错误。我的相机对象为空。这段代码来自官方的Android文档,但是他们没有谈论如果从会话外部锁定相机时如何“释放相机”。

完整的注销是

W/CameraBase﹕ An error occurred while connecting to camera: 0
W/System.err﹕ java.lang.RuntimeException: Fail to connect to camera service
W/System.err﹕ at android.hardware.Camera.<init>(Camera.java:497)
W/System.err﹕ at android.hardware.Camera.open(Camera.java:357)
W/System.err﹕ at co.pumpup.app.EditPhotoFragment.getCameraInstance(EditPhotoFragment.java:241)
W/System.err﹕ at co.pumpup.app.EditPhotoFragment.onCreateView(EditPhotoFragment.java:76)
W/System.err﹕ at android.app.Fragment.performCreateView(Fragment.java:2053)
W/System.err﹕ at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:894)
W/System.err﹕ at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
W/System.err﹕ at android.app.BackStackRecord.run(BackStackRecord.java:834)
W/System.err﹕ at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1452)
W/System.err﹕ at android.app.Activity.performStart(Activity.java:6005)
W/System.err﹕ at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2288)
W/System.err﹕ at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
W/System.err﹕ at android.app.ActivityThread.access$800(ActivityThread.java:151)
W/System.err﹕ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err﹕ at android.os.Looper.loop(Looper.java:135)
W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5254)
W/System.err﹕ at java.lang.reflect.Method.invoke(Native Method)
W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:372)
W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

您能建议我如何“解锁”像这样的锁定相机吗?


问题答案:

“无法连接到相机服务”表示您(或其他)相机应用未能正确释放相机。在我开发应用程序时,偶尔也会发生这种情况。我要做的第一件事是从手机随附的默认相机应用程序中打开相机(只需点按“相​​机”按钮)。如果无法打开,则唯一的选择是重启手机。

这是推测,但是您的代码可能仅偶尔出现一个错误,并且只是到现在为止还没有出现。如果仍然存在,请查看与“如何在android中正确释放相机”相关的问题。他们帮助我解决了这个问题。



 类似资料:
  • 问题内容: 我正在编写一个相机应用程序,每当我调用camera.open()时该应用程序崩溃,然后出现此错误: 这是我打开相机的方法: 更新: 如果您正在阅读本文,请注意,这是针对原始相机API的,不再应用最新版本的相机API(camera2)。 从那时起,您应该使用camera2 api,因为它具有更好的功能并且还具有更好的图像处理管道。 注意仅在不包括API 21(Lolipop)时有效,即不

  • 问题内容: 在Windows上安装了Docker,并额外安装了2个Oracle VM VirualBox和Kitematic。我在Windows 10 PC中禁用了Hyper-V。现在的问题是我无法从DockerHub下载任何Docker映像,甚至我都无法以如下方式运行命令 两端都显示以下错误。 尝试连接时发生错误:获取 http:// localhost:2375 / v1.21 / info

  • 我对docker和mysql有一个问题(我对docker很陌生),我正在尝试将Symfony3.4与docker一起使用。 我有这个错误: 在AbstractMysqldriver.php第103行中: 驱动程序中发生异常:SQLSTATE[HY000][2002]PHP_NETWORK_GETADDRE SSS:getaddrinfo失败:名称未解析 在pdoConnection.php第47行

  • 我试图用下面的连接字符串连接到SQL服务器,但它给出了这个"错误连接超时过期" 我已尝试telnet,并且它已成功连接。但是,根据代码,即使我尝试指定默认端口,也无法连接。 我有做错什么吗?提前谢谢你。 Telnet结果

  • 我正在使用mongodb和.NET Core2.2 web API。当我在本地计算机上运行时,我收到以下错误

  • 我正在尝试使用SQLDeveloper远程连接到Oracle 12c数据库。为了从另一台计算机远程连接,在运行Oracle的计算机上,我在Windows 7防火墙中打开了一个端口。这部分工作了,但由于此错误ORA-12505,监听器现在不让我进入。它说它无法识别我在远程计算机中尝试与SQLDeveloper连接时提供的SID。我甚至尝试将服务名称设置为“编辑器”,但仍然一无所获。 以下是远程计算机