Phonegap 摄像头控制

Posted

技术标签:

【中文标题】Phonegap 摄像头控制【英文标题】:Phonegap Camera Control 【发布时间】:2013-05-05 23:09:21 【问题描述】:

据我所知,Phonegap API 有几个用于捕获图片的选项,但它们都“启动”手机摄像头,然后返回到带有捕获图像路径的应用程序。

是否可以在应用程序页面上的控件中显示相机流,以便在“应用程序内”捕获图像?例如。与 Instagram 一样,用户不会被带出应用程序来捕捉图像,即 我需要仅在当前应用程序页面的一部分中打开自定义相机。

如果这是通过插件完成的,是否有现有的第三方自定义相机插件或者我需要自己编写?

我真的很喜欢 Phonegap 的整体理念,尤其是 Phonegap Build(太棒了),但如果我无法获得这种功能,我将不得不使用原生 :-(

提前致谢!

【问题讨论】:

Showing camera view inside html in android and then snap a picture的可能重复 【参考方案1】:

我的增强现实 (AR) 应用程序需要相同的“实时摄像机视图”。 Phonegap 确实还没有提供实时摄像头视图。因此,我正在为 Phonegap 使用 Wikiitude 插件。

虽然 Wikiitude 是一个 AR SDK,但它提供的基本功能是精确的相机实时取景。

它是如何工作的? 您定义了一个“世界”,即a basic HTML page。加载后,此网页的背景将是您的相机实时视图。在此网页中,您仍然可以运行 PhoneGap javascript 代码。您可以随时通过 PhoneGap 代码调用这个“世界”。

从哪里开始 您可以从https://github.com/Wikitude/wikitude-phonegap 获取PhoneGap 插件。包括设置说明和示例项目。 Wikitude SDK 可以无限试用,您也需要它。

【讨论】:

看起来是个不错的建议,谢谢 Caroline...一旦我有机会坐下来看看它是否适合我,我就会将其标记为已接受的答案 :-) 【参考方案2】:

您可以在您的 Cordova/phonegap 应用程序中安装 mbppower/CordovaCameraPreview 插件(适用于 android、ios),该插件允许通过 HTML 代码进行相机交互。它是一个非常棒的插件。您可以访问以下功能:

从 HTML 代码开始相机预览。拖动预览框。设置相机颜色效果(Android和iOS),将预览框发送到HTML内容的后面,为相机预览框设置自定义位置,为预览框设置自定义大小并保持HTML交互性。 您还可以在相机预览中绘制网格线。

或者,如果它符合您的要求,您也可以为您的应用程序使用 donaldp24/CanvasCamera 插件。它在 android 和 iOS 平台上均受支持。我观察到,对于 iOS,它工作正常,但在 android 中它不工作。

现在您可以使用 PhoneGap Build 在您的项目中安装 CordovaCameraPreview 插件。因此,无需使用 CLI,您可以通过添加以下内容直接使用它:

<gap:plugin name="com.mbppower.camerapreview" version="0.0.8" source="plugins.cordova.io" />

在您的 config.xml 文件中并创建 ApplicationTemplate.apk/.ipa。 有关这方面的更多信息,你可以问我。乐于助人。

【讨论】:

donaldp24/CanvasCamera 不再维护,目前无法使用最新的 Cordova 版本构建。

以上是关于Phonegap 摄像头控制的主要内容,如果未能解决你的问题,请参考以下文章

使用带有PhoneGap的设备摄像头

phonegap入门--4 Camera 摄像头

使用 Cordova/Phonegap 保存从手机摄像头拍摄的图像 Windows Phone 7

使用 phonegap 连续拍摄图像

嵌入 iframe 中的 phonegap 相机捕获

在 PhoneGap 中读取图像捕获文件