服务/后台进程中的相机帧

Jon*_*rin 3 android android-service android-camera

对于科学测量,我想从服务访问相机帧.这个想法是在某些条件下实时分析来自摄像机的图像.由于手机可能重新启动或只是锁定,因此应该可以从服务启动该过程.

现在,我对使用a Camera.CallbackonPreviewFrame回调感到满意,但它似乎只有在我的应用程序在前台运行时才有效.更确切地说,相机需要有效SurfaceView才能调用该onPreviewFrame功能.并且SurfaceView在活动创建的活动最小化时被销毁/结束.

我只是找不到从后台进程获取帧的方法.实际上,它适用于a Galaxy Note 10.1,但Galaxy S4需要有效的SurfaceView.

有没有办法实现这个目标?

StackOverflow上有很多关于此的主题,但没有一个对我有用.

fad*_*den 5

您可以将预览发送到SurfaceTexture而不是(setPreviewTexture()).当应用暂停时,这不会消失.需要API 11+.

您可以在Grafika中看到这种技术的各种应用,这通常是视频或GLES操作而不是静止,但这个想法是类似的.