我设置了一个摄像头,创建一个表面来在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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)