如何从网络应用访问移动相机?

夏期劇*_*期劇場 176 mobile html5 camera

在我的手机网络应用程序(不是原生应用程序)中,我想拍照并上传,但我不想使用Adobe Flash.有没有办法做到这一点?

Ash*_*ish 242

在iPhone iOS6和Android ICS以上,HTML5具有以下标签,可让您从设备拍摄照片:

 <input type="file" accept="image/*" capture="camera">
Run Code Online (Sandbox Code Playgroud)

Capture 可以采用相机,摄像机和音频等值.

我认为这个标签肯定不适用于iOS5,不确定.

  • 这是一个很棒的教程:http://www.html5rocks.com/en/tutorials/getusermedia/intro/ (31认同)
  • 我想也许代码应该是`<input type ="file"accept ="image/*; capture = camera">`.[根据MDN的说法,`input`元素没有`capture`属性.](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input) (10认同)
  • `capture ="camera"`(String)和较旧的`accept ="image/*; capture = camera"`在2012年被替换为`capture ="capture"`(布尔).该属性用于强制捕获而不是从库中进行选择.请参阅[规范](https://w3c.github.io/html-media-capture/)和[HTML媒体捕获的正确语法](https://addpipe.com/blog/correct-syntax-html-media -捕获/) (8认同)
  • 这里不需要GetUserMedia. (2认同)

Tux*_*xie 35

现在至少用android来说它相对容易.只需使用普通文件输入标签,当用户点击它时,手机会询问用户是否想要使用相机(或文件管理器等)来上传文件.只需用相机拍照,它就会自动添加和上传.

不知道iPhone.也许有人可以启发.编辑:Iphone的工作原理类似.

输入标签的示例:

<input type="file" accept="image/*" capture="camera">
Run Code Online (Sandbox Code Playgroud)


小智 22

只是为了更新这个,现在的标准是:

<input type="file" name="image" accept="image/*" capture="environment">
Run Code Online (Sandbox Code Playgroud)

访问面向环境(后)的相机,和

<input type="file" name="image" accept="image/*" capture="user">
Run Code Online (Sandbox Code Playgroud)

面向用户(前置)摄像头.要访问视频,请在名称中将"video"替换为"image".

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

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


Oct*_*icu 21

iOS 6+和Android 2.2+上的Safari和Chrome支持HTML Media Capture,可让您使用设备的相机拍摄照片或选择现有相机:

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

以下是它在iOS 10上的工作原理:

在此输入图像描述

Android 3.0+和iOS10.3 +上的Safari也支持capture用于直接跳转到相机的属性.

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

capture="camera"(字符串)和accept="image/*;capture=camera"(参数)是旧规范的一部分,并被capture(布尔)W3C候选推荐项替换.

支持文档:这本2013 O'Reilly书我的测试


Lou*_*uis 5

好了,有一个用于访问本机设备摄像头的新HTML5功能-“ getUserMedia API”

注意:HTML5可以处理Android设备上的网页上的照片捕获(至少在由Honeycomb OS运行的最新版本上;但是在iOS 6上的iPhone上不能处理)。


Aar*_*min 5

您将需要使用getUserMedia来访问相机。

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

注意:这适用于大多数 Android 设备,仅适用于 iOS 的 Safari。