在我的手机web应用(不是原生应用)中,我想拍一张照片并上传,但我不想使用Adobe Flash。有什么办法可以做到吗?


当前回答

您需要使用getUserMedia来访问摄像机。

本教程概述了从浏览器访问设备摄像机的基础知识:https://medium.com/@aBenjamin765/make-a-camera-web-app-tutorial-part-1-ec284af8dddf

注意:此功能适用于大多数Android设备,仅适用于iOS Safari。

其他回答

在iPhone iOS6和Android ICS之后,HTML5有以下标签,允许你从你的设备上拍照:

 <input type="file" accept="image/*" capture="camera">

Capture可以取相机、摄像机和音频等值。

我觉得这个标签在iOS5里肯定不行,我不确定。

您需要使用getUserMedia来访问摄像机。

本教程概述了从浏览器访问设备摄像机的基础知识:https://medium.com/@aBenjamin765/make-a-camera-web-app-tutorial-part-1-ec284af8dddf

注意:此功能适用于大多数Android设备,仅适用于iOS Safari。

你可以使用WEBRTC,但不幸的是并非所有的浏览器都支持它。下面是显示哪些浏览器支持它的链接 http://caniuse.com/stream

这个链接让您了解如何访问它(示例代码)。 http://www.html5rocks.com/en/tutorials/getusermedia/intro/

如果没有一些额外的机制(如Flash或允许访问硬件API的某种类型的容器),我不知道有任何方法可以从web浏览器访问手机的摄像头。

后者可以查看PhoneGap: http://docs.phonegap.com/phonegap_camera_camera.md.html

这样你至少可以在基于iOS和android的设备上访问相机。

应该注意的是,已经实现了安全特性,这些特性要求应用程序在localhost下本地运行,或者通过SSL让GetUserMedia()工作。

我在尝试几个可用的演示时发现了这一点,当它们不起作用时感到失望!参见:新的安全限制