我一直在尝试使用AVCaptureDevice
'subjectAreaChangeMonitoringEnabled
属性来监视具有潜在运动检测应用程序的运动。
对于 iPhone 4S 和 iPad 2 的后置摄像头,我会AVCaptureDeviceSubjectAreaDidChangeNotification
在我期望的时候收到 s,但是在这两种设备上,当我尝试在前置摄像头上启用它时,我根本没有收到任何通知。
为什么这在前置摄像头上不起作用?
我一直在尝试使用AVCaptureDevice
'subjectAreaChangeMonitoringEnabled
属性来监视具有潜在运动检测应用程序的运动。
对于 iPhone 4S 和 iPad 2 的后置摄像头,我会AVCaptureDeviceSubjectAreaDidChangeNotification
在我期望的时候收到 s,但是在这两种设备上,当我尝试在前置摄像头上启用它时,我根本没有收到任何通知。
为什么这在前置摄像头上不起作用?
根据此开发者论坛响应中的一位 Apple 工程师的说法,这是预期的行为:
subjectAreaChangeMonitoring 旨在告诉您场景是否发生了足够的变化,以至于它可能失焦,因此您应该重新聚焦。因此,该功能仅适用于支持对焦的相机。
所以你不能依赖这个 API 来进行运动检测,至少对于前置摄像头来说是这样。