您现在的位置是:首页 > 开发类 > 移动开发移动开发

解决虹软人脸识别打开摄像头黑屏的BUG

2021-06-05 09:10:52移动开发人已围观

简介前言今天一天都在下雨仿佛和我心情对照 早上对接虹软的demo 跑的很顺利结果下午在拉到自己的项目的时候 出现了问题 不管我怎么调试 都不能解决打开摄像头黑屏的问题一直研究到现在20:00终于解决了问题 此时我的心情 如拨云见日再次记录一下解决问题的过程过程首先我排查权限的问题 因为我们的app在登录的时候 会弹出多个权限提示一开始 进入虹软人脸识别获取数据的时候 没有再次 去请求权限 理由是:登录的时候 请求过了因为出现了摄像头黑屏 我以为是权限的问题 结果又请求一遍 CAMERA结果:

前言

今天一天都在下雨
仿佛和我心情对照 早上对接虹软的demo 跑的很顺利
结果下午在拉到自己的项目的时候 出现了问题 不管我怎么调试 都不能解决打开摄像头黑屏的问题

一直研究到现在20:00终于解决了问题 此时我的心情 如拨云见日

再次记录一下解决问题的过程

过程

首先我排查权限的问题 因为我们的app在登录的时候 会弹出多个权限提示
一开始 进入虹软人脸识别获取数据的时候 没有再次 去请求权限 理由是:登录的时候 请求过了

因为出现了摄像头黑屏 我以为是权限的问题 结果又请求一遍 CAMERA

结果:没用! 解决不了问题 白白浪费我的时间

然后我就排查自己的代码 是不是哪里写错了 严格的说是不是抄错了

很多工具类我都是直接copy虹软的 我删除了一遍 重新拉 还是不行 一样打开摄像头黑屏
utils

再获取激活码的时候 我也尝试了 切换摄像头角度
因为虹软的文档中说 如果 看不到人脸 可能是角度不对造成的

结果还是不行
走到这里我已经快崩溃了 一直黑屏 明明有2个摄像头 但没有成像

最后

最后我把问题定位在TextureView这个组件上

组件解读
TextureView

TextureView并没有创建一个单独的Surface用来绘制,这使得它可以像一般的View一样执行一些变换操作,设置透明度等。另外,Textureview必须在硬件加速开启的窗口中。
TextureView的使用非常简单,你唯一要做的就是获取用于渲染内容的SurfaceTexture。

最后我把它换成它的兄弟SurfaceView
问题迎刃而解

SurfaceView

SurfaceView。SurfaceView的工作方式是创建一个置于应用窗口之后的新窗口。这种方式的效率非常高,因为SurfaceView窗口刷新的时候不需要重绘应用程序的窗口(android普通窗口的视图绘制机制是一层一层的,任何一个子元素或者是局部的刷新都会导致整个视图结构全部重绘一次,因此效率非常低下,不过满足普通应用界面的需求还是绰绰有余),但是SurfaceView也有一些非常不便的限制。
因为SurfaceView的内容不在应用窗口上,所以不能使用变换(平移、缩放、旋转等)。也难以放在ListView或者ScrollView中,不能使用UI控件的一些特性比如View.setAlpha()。
为了解决这个问题 Android 4.0中引入了TextureView。

<SurfaceView
        android:id="@+id/texture_preview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <com.jk.house.shopping_main.view.face.FaceRectView
        android:id="@+id/face_rect_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:onClick="switchCamera"
        android:text="切换" />

result

总结

解决bug真的太痛苦了 解决完后 又那么的开心
这就像人生一样 先苦后甜

文章来源:https://blog.csdn.net/Life_s/article/details/117480736

Tags:定位 android bug 人脸识别 

很赞哦! ()

随机图文

文章评论

留言与评论(共有 0 条评论)
   
验证码:

本栏推荐

站点信息

  • 文章统计247968篇文章
  • 浏览统计18356次浏览
  • 评论统计1个评论
  • 标签管理标签云
  • 统计数据:统计代码
  • 微信公众号:扫描二维码,关注我们