3

我们正在将 Affdex Android SDK 添加到我们现有的 APP 中,以检测用户的情绪,以此来衡量用户在使用 APP 时的满意度。

我们计划为此使用 CameraDetector,以便我们可以持续监控用户的情绪:http: //developer.affectiva.com/v3/android/analyze-camera/

CameraDetector 需要 SurfaceView 才能工作。据我了解,SurfaceView 与 Activity 相关联。当我们转移到另一个 Activity 时,SurfaceView 将被销毁,我们需要重新初始化它。问题类似于以下内容: Keeping Android camera open across activities

这种用例的最佳实践和建议是什么?有什么解决方法吗?

4

2 回答 2

0

您可以使用通过 affdex 检测器监控用户情绪的 android 服务。所以你需要android服务没有的表面视图。您可以使用叠加布局作为相机预览来使用相机和 affdex 提要。

于 2016-05-21T10:00:41.027 回答
0

您可以使用服务在任何特定 Activity 的上下文之外处理预览帧,然后使用其 FrameDetector 类而不是 CameraDetector 将预览帧提供给 Affdex SDK。CameraDetector 和 FrameDetector 的主要区别在于 CameraDetector 的工作是直接与摄像头集成;而 FrameDetector 可以从任何来源获取帧。通过使用 FrameDetector,您可以控制预览帧的位置。

然后,不要将相机预览输出连接到 SurfaceView(这会带来如何隐藏它的问题),而是将其连接到“虚拟”SurfaceTexture。

有关此方法的示例,请参阅https://github.com/Affectiva/android-sdk-samples/tree/master/ServiceFrameDetectorDemo 。

于 2017-01-02T13:16:54.463 回答