前言

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

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

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

过程

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

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

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

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

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

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

结果还是不行
走到这里我已经快崩溃了 一直黑屏 明明有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。

<SurfaceViewandroid:id="@+id/texture_preview"android:layout_width="match_parent"android:layout_height="match_parent" /><com.jk.house.shopping_main.view.face.FaceRectViewandroid:id="@+id/face_rect_view"android:layout_width="match_parent"android:layout_height="match_parent" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="bottom|end"android:onClick="switchCamera"android:text="切换" />

总结

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

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

  1. 解决自己电脑VMware打开虚拟机黑屏问题

    解决自己电脑VMware打开虚拟机黑屏问题 参考文章: (1)解决自己电脑VMware打开虚拟机黑屏问题 (2)https://www.cnblogs.com/cookiewu/p/10363118. ...

  2. python打开摄像头黑屏怎么办_临时解决pygame启动时黑屏问题

    直接上代码: import pygame import sys pygame.init() screen = pygame.display.set_mode((10,10),0) screen = p ...

  3. python打开摄像头黑屏怎么办_python识别视频黑屏或者低清晰度

    第一步:获取视频第一帧图片 第二步:进行识别 import os import numpy as np import cv2 as cv from skimage import filters, io ...

  4. javacv实现人脸识别——打开摄像头

    最近做一个项目,需要用到虹软的JDK实现一个人脸识别的电脑桌面应用系统.本认为是一项很简单的事情,却踩了不少的坑,特此记录一下,方便需要的兄弟借鉴. 打开摄像头是最简单的一步,也是坑最多的一步.jav ...

  5. 【javaCV基于虹软人脸识别demo添加电脑摄像头人脸识别(图片保存,视频保存,摄像头显示等 )(附源码)】

    javaCV基于虹软人脸识别demo添加电脑摄像头人脸识别(图片保存,视频保存,摄像头显示等 )(附源码) 文章目录 javaCV基于虹软人脸识别demo添加电脑摄像头人脸识别(图片保存,视频保存,摄 ...

  6. 虹软java接摄像头_虹软人脸识别SDK(java+linux/window) 初试

    虹软人脸识别全平台demo调用-快速上手之服务端Windows篇 demo名称:ArcFace 2.2 Windows(86) Demo [C++] 一 环境配置: 1) 安装VS2013环境安装包( ...

  7. 虹软java接摄像头_虹软人脸识别SDK在网络摄像头中的实际应用

    目前在人脸识别领域中,网络摄像头的使用很普遍,但接入网络摄像头和人脸识别SDK有一定门槛,在此篇中介绍过虹软人脸识别SDK的接入流程,本文着重介绍网络摄像头获取视频流并处理的流程(红色框内),以下内容 ...

  8. 【云周刊】第139期:阿里年会黑科技全揭秘:IoT手环、人脸识别验票、大屏弹幕互动等“十八般武艺”轮番上阵...

    摘要: 阿里年会黑科技全揭秘:IoT手环.人脸识别验票.大屏弹幕互动等"十八般武艺"轮番上阵,2017上半年无监督特征学习研究成果汇总,CDN最全学习教程,量子计算会带来什么样的革 ...

  9. 腾讯会议摄像头黑屏如何解决?

    在使用腾讯会议摄像头的时候,发现打开是黑屏,这是怎么回事?检查摄像头是正常的,隐私权限也正常,那可能是相机驱动和腾讯会议的适配问题,也可能是其它原因. 方法一: 1.打开[设备管理器] > [图 ...

  10. win7打开仅计算机黑屏,黑屏只剩鼠标指针,详解win7打开电脑黑屏只剩鼠标指针的解决教程...

    今天小编给大家详解win7打开电脑黑屏只剩鼠标指针的解决教程,使用win7系统过程中,开机黑屏是见的故障,当你遇到电脑开机黑屏只剩下鼠标指针的问题时,可参照以下的详细方法进行解决.最近有win7系统用 ...

最新文章

  1. 数字图像处理知识点总结
  2. 中山网络推广浅析网站优化在选择关键词时需要掌握的关键性原则是什么?
  3. CentOS中使用Docker安装SqlServer以及遇到的那些坑
  4. Android Studio之导入别人的module后config.gradle配置文件没有生效
  5. Vue3 --- 在Main.js引入封装的axiosAPI 方法
  6. 谈谈复杂多分类问题上的一些个人理解
  7. Linux下tomcat的服务器自启动配置
  8. 测试面试集-Python接口自动化测试
  9. python chardet_Python - chardet
  10. JZ55 二叉树深度
  11. Linux下mySql的安装和使用
  12. Unity3D GUI笔记
  13. CTF-web题之简单的SQL注入
  14. Python简单实现微博自动点赞
  15. Java——javac.exe、java.exe、javaw.exe的区别及Java运行机制
  16. 大学英语综合教程三 Unit 4 课文内容英译中 中英翻译
  17. ndows movie maker,Windows Movie Maker
  18. mysql 批量执行sql语句_MySQL中批量执行SQL语句
  19. 三种振幅调制AM、DSB、SSB
  20. 海马玩模拟器 v0.7.2 官方版

热门文章

  1. 你觉得成都这类城市,哪方面发展最值得期待?
  2. 成都哪所专科院校有计算机专业,成都哪些高职院校有计算机应用技术
  3. 图解内存的工作原理及时序介绍
  4. 半导体物理 第七章 金属半导体接触整流理论
  5. 【TM1640】STM32 TM1640芯片驱动程序
  6. 逆天的H3C Comware V7 RBAC
  7. 360手机助手电脑版 v2.4.0.1251 官方版
  8. 【window】重启IIS服务
  9. 如何批量打印Word文件
  10. u12无线网卡linux驱动装不上,腾达(U12)USB无线网卡Linux驱动安装笔记