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

android – 不调用带缓冲区的PreviewCallback和PreviewCallback,第1张

概述我对 Android 4.0.x的预览回调有疑问. 我设置了一个摄像头,创建一个表面来在previewCallback-event上显示摄像头图像.一切正常. 但是使用Android 4.0.x既不调用onPreviewCallback也不调用onPreviewCallbackWithBuffer. 这个问题有解决方法吗? 我想拍摄一个屏幕截图并且不想使用takePicture() – 因为它会在 我对 Android 4.0.x的预览回调有疑问.
我设置了一个摄像头,创建一个表面来在prevIEwCallback-event上显示摄像头图像.一切正常.

但是使用AndroID 4.0.x既不调用onPrevIEwCallback也不调用onPrevIEwCallbackWithBuffer.
这个问题有解决方法吗?

我想拍摄一个屏幕截图并且不想使用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全部内容,希望文章能够帮你解决android – 不调用带缓冲区的PreviewCallback和PreviewCallback所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1148909.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存