监听TextureView第一帧渲染

问题描述

我正在实施相机预览以扫描QR码。使用TextureView渲染预览。 相机和所有事物正在初始化时,会有一个黑屏,因此我想显示一个占位符,直到相机开始在视图上渲染为止。我曾用onSurfaceTextureAvailable要求摄像机开始预览,但是在要求摄像机开始预览之后,这是短暂的延迟,您可以再次看到黑屏,因此我需要一种方法来知道实际何时开始预览。 这可能吗?

谢谢。

解决方法

尝试使用onSurfaceTextureUpdated回调:

@Override
public void onSurfaceTextureUpdated(@NonNull final SurfaceTexture surface) {
    
    if (!this.isRendering) {
        this.isRendering = true;
        ... Remove the place holder
    }
}

请确保使用示例中的标记,因为如果实现是针对摄像头应用程序,则回调将在每个摄像头框架上不断触发,因此请使用该标记避免不断调用占位符的删除代码无-停止。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...