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


当前回答

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

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

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

其他回答

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

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

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

更新一下,现在的标准是:

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

访问面向环境(后置)的摄像头,和

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

面向用户(前置)摄像头。要访问视频,在名称上将“视频”替换为“图像”。

在iPhone 5c上测试,运行iOS 10.3.3,固件760,工作正常。

https://www.w3.org/TR/html-media-capture/

我不认为你可以——有一个W3C API草案来获取音频或视频,但还没有在任何主要的移动操作系统上实现。

唯一的选择是按照丹尼斯的建议使用PhoneGap。这意味着你需要创造一款原生应用并将其添加到手机应用商店/市场中。

AppMobi HTML5 SDK曾经承诺通过基于HTML5的应用程序访问本机设备功能(包括摄像头),但现在不再属于谷歌所有。相反,试试这篇文章中基于html5的答案。

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

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

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