0

我正在实现用于扫描 QR 码的相机预览。使用 TextureView 渲染预览。当相机和一切都在初始化时,有一个黑屏,所以我想显示一个占位符,直到相机开始在视图上渲染。我曾经onSurfaceTextureAvailable要求相机开始预览,但是在要求相机开始预览之后,你会再次看到黑屏,所以我需要一种方法来知道预览何时真正开始。这可能吗?

谢谢你。

4

1 回答 1

0

尝试使用onSurfaceTextureUpdated回调:

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

确保使用示例中的标志,因为如果实现是针对相机应用程序的,则回调将在每个相机帧上不断触发,因此使用标志来避免不断调用占位符的删除代码。

于 2020-09-27T18:37:15.007 回答