我们以 OpenCV camera_wrapper for android 的方式实现了一个自定义相机包装器(基于 android 源代码中的 android::camera)。我们现在想为 Google Glass 使用这个包装器,但遗憾的是没有收到任何可用预览框架的消息。我们能够追踪到 SurfaceTexture 创建的问题。当我们设置预览时,我们做
android::sp<android::SurfaceTexture> surfaceTexture(new android::SurfaceTexture(0x10));
if(pimpl->camera->setPreviewTexture(surfaceTexture) != 0)
{
LOGE("setPreviewTexture call failed");
return false;
}
似乎一切都很好,但是当稍后使用相机时(例如调用 camera->dumpParameter),应用程序崩溃了。我检查了不是 setPreviewTexture 而是只创建了具有魔术 ID 0x10 的 SurfaceTexture(不知道这是否对 Glass 正确??)当共享指针被释放时,我们直接在函数结束时崩溃。
我们还尝试了 OpenCV 方法(他们的包装器),它具有相同的行为。
我们使用来自 android 源的 android 4.0.4_r2.1 分支。
有人直接使用 android::camera 在 Glass 上工作吗?我将不胜感激在哪里搜索错误或更改它以使其工作的任何提示。
最好的,曼努埃尔