2013-09-25 53 views
1

我在使用API​​14的脸部检测方法时遇到了问题。我没有null相机对象。我使用setFaceDetectionListener对FaceDecectionListener进行了非常简单的实现,并将其设置为侦听器。脸部检测不能使用API​​14中的方法工作

我下一步我调用camera.startFaceDetection(),但接口方法onFaceDetection(Face[] faces, Camera camera)是从来没有调用...这个简单的方法有什么问题?相机有问题吗?我在SGS3和SGS4上测试了这个功能,并且遇到同样的问题。

回答

2

好家伙,问题解决了。并非所有设备都支持来自相机预览的人脸检测功能它依赖于设备。某些设备可能会崩溃,并显示消息java.lang.IllegalArgumentException: invalid face detection type=0,但某些设备不会执行任何操作,并且侦听器的方法也不会到达。

在这种情况下,需要使用Camera.getMaxNumDetectedFaces()来检查设备是否支持此功能。如果此方法返回0,那么我们可以确定我们的设备不支持来自API14的面部检测方法。

+1

我的设备返回35,仍然抛出错误。 :-(所以要注意你的里程可能会有所不同。 –