首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用服务访问谷歌眼镜上的本机摄像机事件的策略

使用服务访问谷歌眼镜上的本机摄像机事件的策略
EN

Stack Overflow用户
提问于 2013-11-08 18:32:24
回答 1查看 570关注 0票数 0

背景:

我有一个谷歌眼镜,我正在考虑一个应用程序,它可以抓取用户使用本机摄像头拍摄的任何/所有图像,并将这些图像传递给在线服务(例如Twitter或Google+)。有点像一个生活博客风格的应用程序。

在我的第一个原型中,我实现了一个FileObserver服务,该服务监视玻璃存储其相机预览缩略图的目录中的新文件预览文件总是以t_开始,所以一旦我在那里看到一个新的文件,我就把它上传到我的webservice中。这是很好的工作,但在谷歌眼镜XE11这个缓存文件被移出我的可及范围(/data/私有缓存)。

现在,我正在查看sdcard/DCIM/Camera/文件夹中的新.jpg文件。这是可行的,但相机是存储的全尺寸的图像在那里,所以我必须等待5-8秒,然后图像是可用的上传。

问题是:

是否可以让后台服务在玻璃上运行,可以拦截摄像机事件,并从包中抓取缩略图或完整图像作为字节数组,这样我就不必等待它在访问之前写到磁盘上了吗?

我一直在阅读更多关于android开发的资料,我怀疑答案是在我的服务中实现一个BroadcastReciever,但我想在走错路之前,先与专家们商量一下。

事先非常感谢

里奇

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-24 03:43:30

是。实现一个PreviewCallback。与手机的工作方式相同,例如:http://www.dynamsoft.com/blog/webcam/how-to-implement-a-simple-barcode-scan-application-on-android/

我在谷歌眼镜上做了测试,结果成功了。在这篇文章( http://datawillconfess.blogspot.com.es/2013/11/google-glass-gdk.html )中,我列出了摄像机在做完之后返回的参数(在视频下面):

代码语言:javascript
复制
     Camera m_camera = Camera.open(0);
     m_params = m_camera.getParameters();
     m_params.setPreviewFormat(ImageFormat.NV21);
     m_camera.setParameters(m_params);

     m_params = m_camera.getParameters();
     m_params.setPreviewSize(320,240);

     m_params.set("focus-mode",(String)"infinity");
     m_params.set("autofocus", "false");

     m_params.set("whitebalance",(String)"daylight");
     m_params.set("auto-whitebalance-lock",(String)"true");

     m_camera.setParameters(m_params);

     String s = m_params.flatten();
     Log.i("CAMERA PARAMETERS", "="+s);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19866124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档