监听TextureView第一帧渲染

时间:2020-09-26 17:56:31

标签: android textureview android-textureview

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

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试使用onSurfaceTextureUpdated回调:

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

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