2016-11-13 47 views
1

在我的Codename One应用程序中,可以将其视为可以手动微调和锁定焦点的相机应用程序,我需要在其中心区域显示相机当前所看到的内容。我知道如何使用CN1捕捉图片,但我不想启动相机应用程序,只需实时获取相机的输出而不在设备上存储任何图片。使用Codename One可以实时显示摄像机输出吗?

我已阅读Capture API,但无法找到实现我的目标的方法。所以我想我将不得不使用本地接口。如何将UI的中央元素(应该实时显示相机的输出)绑定到本地接口方法,因为本机接口只能将基元类型作为参数,所以不是UI组件?

目前我只针对Android 5或6(应该允许manual focus on capable devices)。

赞赏任何帮助,

回答

1

我们没有这个内置的,但它应该非常有可能与原生接口来做到这一点。

这可以通过类似于GoogleMaps support的方式来完成,该方法使用PeerComponent嵌入本机小部件,以便我们可以获取视图并使用它。这种工作方式是当本地接口生成本地代码时,本地接口返回PeerComponent实例,存根映射到您可以返回的本机操作系统小部件。

您可以使用布局管理器以任何方式定位本地对等体,它的行为将与其他任何具有一定限制的Codename One组件类似。

+0

这是一个很好的例子:在接口中,方法签名将显示一个“PeerComponent”作为返回值,而在实现中,该方法将返回一个真正的Android'SurfaceView'。我应该可以做到,谢谢@Shai! – HelloWorld

+0

是的,当你生成一个本地接口时,它会自动为你生成正确的存根 –