Android开发遇到Camera StartPreview Failed 错误

闲来无事想用OpenCV做点东西。2.4.2的OpenCV在Android上推荐使用的Manager需要用户额外从Google Play上下载opencv的manager 。费了好大功夫才找到本地的方法,还得看官方的文档啊,想偷懒来着,结果兄弟们都是东抄西抄啊。。。http://docs.opencv.org/trunk/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html


进入正题,没有使用OpenCV的camera,使用SDK中的camera。加权限,创建SurfaceView绑定holder,一切顺利。在4.1中跑了一下。ok没问题。

昨晚手欠又将defy的4.1刷回2.3了(4.1还是不够稳定)。结果早晨来试了一下,悲剧。错误信息 RuntimeException: startPreview Failed。


找了N多的blog,兄弟们还是总是在抄。终于在stackoverflow中找到答案。

http://stackoverflow.com/questions/7942378/android-camera-will-not-work-startpreview-fails

添加

sufaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);


本来之前也怀疑了一下,但是轻信了Google 的document,结果。。。

这个deprecated的api会在低版本中导致crash。

打完收工。


你可能感兴趣的:(Android)