我正在实现用于扫描 QR 码的相机预览。使用 TextureView 渲染预览。当相机和一切都在初始化时,有一个黑屏,所以我想显示一个占位符,直到相机开始在视图上渲染。我曾经onSurfaceTextureAvailable
要求相机开始预览,但是在要求相机开始预览之后,你会再次看到黑屏,所以我需要一种方法来知道预览何时真正开始。这可能吗?
谢谢你。
我正在实现用于扫描 QR 码的相机预览。使用 TextureView 渲染预览。当相机和一切都在初始化时,有一个黑屏,所以我想显示一个占位符,直到相机开始在视图上渲染。我曾经onSurfaceTextureAvailable
要求相机开始预览,但是在要求相机开始预览之后,你会再次看到黑屏,所以我需要一种方法来知道预览何时真正开始。这可能吗?
谢谢你。
尝试使用onSurfaceTextureUpdated回调:
@Override
public void onSurfaceTextureUpdated(@NonNull final SurfaceTexture surface) {
if (!this.isRendering) {
this.isRendering = true;
... Remove the place holder
}
}
确保使用示例中的标志,因为如果实现是针对相机应用程序的,则回调将在每个相机帧上不断触发,因此使用标志来避免不断调用占位符的删除代码。