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

UpdateAndRelease:GLConsumer未附加到OpenGL ES上下文

葛宪
2023-03-14

当我尝试使用CameraX库打开相机时,我不断地遇到这个错误。相同的代码在其他设备上的运行比Pie少。但不是在馅饼上运行(摄像机未显示)

这是我的代码:我也在我的项目中使用生命数据,它会引起任何问题吗?

  val previewConfig = PreviewConfig.Builder()
            .setLensFacing(CameraX.LensFacing.BACK)
            .build()
    val preview = Preview(previewConfig)
    preview.setOnPreviewOutputUpdateListener { previewOutput ->
        _textureView.surfaceTexture = previewOutput.surfaceTexture
    }
    val imageAnalysisConfig = ImageAnalysisConfig.Builder()
        .build()
    val imageAnalysis = ImageAnalysis(imageAnalysisConfig)
    val qrCodeAnalyzer = QRCodeAnalyzer { qrCodes ->
        qrCodes.forEach {
            Log.d("MainActivity", "QR Code detected: `${it.rawValue}.")`
            val intent = intent.putExtra("RESULT",it.rawValue)
            setResult(Activity.RESULT_OK,intent)
            finish()
        }
    }

    imageAnalysis.analyzer = qrCodeAnalyzer

    // We need to bind preview and imageAnalysis use cases
    CameraX.bindToLifecycle(this as LifecycleOwner , preview, imageAnalysis)

日志:看看我得到的日志

 E/GLConsumer: [SurfaceTexture-0-3196-1] updateAndRelease: GLConsumer is not attached to an OpenGL ES context
E/GLConsumer: [SurfaceTexture-0-3196-1] updateAndRelease: GLConsumer is not attached to an OpenGL ES context
E/GLConsumer: [SurfaceTexture-0-3196-1] updateAndRelease: GLConsumer is not attached to an OpenGL ES context
E/GLConsumer: [SurfaceTexture-0-3196-1] updateAndRelease: GLConsumer is not attached to an OpenGL ES context

共有1个答案

隆芷阳
2023-03-14

我也有类似的问题。我通过删除并重新添加SurfaceTexture来解决这个问题,如https://stackoverflow.com/A/56121351/11977949所建议的。

应将setOnPreviewOutputUpdateListener更改为:

preview.setOnPreviewOutputUpdateListener {
    val parent = viewFinder.parent as ViewGroup
    parent.removeView(viewFinder)
    viewFinder.surfaceTexture = it.surfaceTexture
    parent.addView(viewFinder, 0)
    updateTransform()
}

欲知更多详情,请查看官方样本。

 类似资料:
  • 使用材质组件时无法运行project。 错误日志: Android资源链接输出失败:D:\Android Projects\Ghar3\app\src\main\res\layout\main\u layout。xml:23:错误:未找到fabAttached属性(又名com.reseaction.ghar:fabAttached)。错误:链接文件资源失败。 命令:C:\Users\Abdul Q

  • 代码如下:- 产品片段: 我不知道我错在哪里。我已经搜索了错误,甚至尝试了以下链接的解决方案: Fragment MyFragment not attached to activity 我在SO上提出问题,但没有得到响应/答案。可能有一个小错误、语法/格式问题或重复问题,但我的案例可能与其他人的不同。 因此,请提供帮助并作出答复。 谢谢。 --编辑-- 家庭活动: 致命异常:主进程:com.pis

  • 我的代码: 我添加了部分来模拟下载数据。中的代码是模拟使用。 当我在横向和纵向之间快速旋转屏幕时,我在代码处得到一个异常: java.lang.IllegalStateException:片段MyFragment{410F6060}未附加到活动 我认为这是因为在此期间创建了一个新的,并且在完成之前附加到了活动。中的代码调用未附加的。

  • 我正在尝试运行一些Selenium测试,但将jetty的启动附加到maven的预集成测试阶段是行不通的。因此,我试图调查这个问题,似乎总体而言,Maven没有在我指定的阶段执行我的目标。 我找到了这个例子并复制了它。我创建了一个插件,当我显式调用它时,它运行良好。但是当我尝试将其附加到验证阶段并运行mvn验证时,我没有看到“你好!!!”输出它只是向我展示了构建成功,而没有调用howdy world

  • 我正在启动一个Java程序,如下所示 然后我手动附加调试器,如下所示 我想知道是否有反正我设置jdb,使其自动附加到正在运行的进程(仅)在未捕获的异常情况下? 原因是我希望在出现未捕获的异常之前避免调试器的开销。但我现在面临的问题是,如果没有连接调试器,那么一旦出现未捕获的异常,JVM就会中止。 编辑: 从Oracle文档来看,下面的命令似乎满足了我的需要,但适用于windows机器。 有人知道l

  • 我在Minim Developer上发现了一种奇怪的行为;当我在控制台中运行以下代码时: Minium能够填写“描述”字段 但是,当我尝试在步骤定义中运行相同的代码时,出现以下错误: org . Mozilla . JavaScript . Wrapped exception:Wrapped org . open QA . selenium . staleelementreferenceexcep