【问题标题】:Embedding camera into activity (live stream)将摄像头嵌入活动(直播)
【发布时间】:2014-04-13 15:44:54
【问题描述】:

我目前正在研究如何将来自相机的实时照片/视频流嵌入到我的应用程序的活动中。理想情况下,会有某种 ImageView 可以直接显示来自相机的流。通过点击此视图,可能会启动通常的相机活动。最终目标是识别此 ImageView 中的 QR 码,这可能会使事情变得更加复杂。

所有这一切都可以通过使用ZXing 库非常容易地完成,但我没有看到以上述方式组合它的方法。这甚至可能吗?你能给我一些关于我应该更详细地研究的提示吗?

【问题讨论】:

  • 嗨,我知道您是否找到了解决方案?我也希望在相同的活动中预览我的相机流以捕获 QR 码。谢谢。

标签: android stream camera android-activity live


【解决方案1】:

理想情况下,会有某种 ImageView 可以直接显示来自相机的流。

这称为the camera preview,通常使用SurfaceViewTextureView

通过点击此视图,可能会启动通常的相机活动。

SurfaceViewTextureView 应该响应 onClick(),或者更糟的是 onTouchEvent()

最终目标是识别此 ImageView 中的 QR 码,这可能会使事情变得更加复杂。

你可能会这么说。 :-)

所有这些都可以通过使用 ZXing 库轻松完成

ZXing 不是图书馆。 ZXing 是一个开源项目,发布了 Barcode Scanner 应用程序、一些帮助您从应用程序启动 Barcode Scanner 应用程序的集成类,以及用于非 Android 环境的代码。

网上有一些把 ZXing 弄进图书馆的食谱,虽然我没试过。还有一些其他条码扫描库可用,虽然我也没有尝试过。原则上,其中之一应该能够让您将支持扫描的预览嵌入到更大的活动中。

【讨论】:

  • 非常感谢您的回答。你介意分享一些关于如何“将预览嵌入到更大的活动中”的细节吗?关于图书馆使用的任何建议?我只对二维码感兴趣,不需要ZXing这么花哨的东西。
  • @KarolBabioch:“您愿意分享一些关于如何“将预览嵌入到更大的活动中”的细节吗?” - 这将取决于图书馆。据推测,他们要么发布自己的View,发布自己的Fragment,或者告诉您如何将他们的库附加到您自己的SurfaceViewTextureView。 “有什么推荐的图书馆使用吗?” -- 抱歉,但正如我在回答中指出的那样,我没有使用任何此类库,因为只需启动 Barcode Scanner 应用程序并让它为我进行扫描,就可以满足我所有的条形码扫描需求。
  • 您确定您对 ZXing 不是图书馆的评论吗?似乎他们已经对代码进行了相当多的重构。现在有一个“核心”组件,它似乎完全实现了我正在寻找的东西。不过,还没有详细研究它,甚至还没有测试过。
  • @KarolBabioch:“现在有一个“核心”组件,它似乎完全实现了我正在寻找的东西”——考虑到它没有明显的 Android 引用,因此不能给出你一个相机预览,我觉得你的评估令人惊讶。该库用于 Android、Java SE 和 JRuby 实现之间的通用代码,它主要关注条形码识别(给定图像)和生成。现在,您当然可以尝试将自己的相机预览帧逻辑粘贴到它们的核心库中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-18
  • 2020-01-09
  • 2010-09-20
  • 2012-08-18
  • 1970-01-01
相关资源
最近更新 更多