gpt4 book ai didi

android - 不调用带缓冲区的 PreviewCallback 和 PreviewCallback

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:44:22 26 4
gpt4 key购买 nike

我对 Android 4.0.x 的预览回调有疑问。我设置了一个摄像头,创建了一个表面以在 previewCallback 事件上显示摄像头图像。一切正常。

但在 Android 4.0.x 中,onPreviewCallbackonPreviewCallbackWithBuffer 都不会被调用。这个问题有解决方法吗?

我想截屏,不想使用 takePicture() 方式,因为它会短时间卡住实时图像。

最佳答案

您必须在 surfaceChanged 方法中调用 setPreviewCallback,而不仅仅是在 surfaceCreated 中。

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
if (mHolder.getSurface() == null){
return;
}

try {
mCamera.stopPreview();
} catch (Exception e){
// ignore: tried to stop a non-existent preview
}

try {
mCamera.setPreviewCallback(this);
mCamera.setPreviewDisplay(mHolder);
mCamera.startPreview();

} catch (Exception e){
Log.d(TAG, "Error starting camera preview: " + e.getMessage());
}
}

关于android - 不调用带缓冲区的 PreviewCallback 和 PreviewCallback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13820781/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com