2011-06-13 223 views
143

我们正在为手机创建一个HTML5网站,并且需要通过网络浏览器访问摄像头,而不是原生应用。我们无法在iOS中完成这项工作。有谁知道这个解决方案?通过浏览器访问摄像头

回答

4

Picup应用程序是一种从HTML5页面拍照并将其上传到服务器的方法。它需要一些额外的服务器上的编程,但除了PhoneGap,我还没有找到另一种方式。

+5

在iOS8中,您不再需要Picup。 HTML5支持。在Safari和Chrome中验证。 – rakensi 2015-05-12 08:43:40

9

我认为这一个工作。 录制视频或音频;

<input type="file" accept="video/*;capture=camcorder"> 
<input type="file" accept="audio/*;capture=microphone"> 

或(新方法)

<device type="media" onchange="update(this.data)"></device> 
<video autoplay></video> 
<script> 
    function update(stream) { 
    document.querySelector('video').src = stream.url; 
    } 
</script> 

如果不是,可能会在iOS6的工作,更多的细节可以在get user media

117

你可以试试这个:

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

必须是iOS的6 +工作。这将会给你一个很好的对话,供您选择要么拍照或从您的相册上传一个即

Screenhot

一个例子可以在这里找到: Capturing camera/picture data without PhoneGap

+4

这真是太棒了! – Matt 2013-10-02 03:30:07

+1

上传到服务器的好演示。任何人都知道如何修改它以将图片保存到设备上的本地相册中? – 2013-10-04 17:16:11

+2

唯一的问题是,至少在iphone(ios 7.0.4)上至少现在会创建一个名为always''image.jpg''的临时图像。因此,如果您以相同的形式上传几张图片,除非您重新命名它们,否则它们会因相同的名称而相互覆盖,请注意! – aleation 2014-01-30 16:34:22

23

截至2015年,它现在只是工作

<input type="file"> 

这将要求用户上传任何文件。在iOS 8.x上,这可以是相机视频,相机照片或Photo Library中的照片/视频。

iOS/iPhone photo/video/file upload

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

这是如上述,但限制了上传至照片只从相机或库,没有影片。

+1

有什么办法可以限制用户从照片库中选择一个文件吗?我只想接受一个新拍摄的图像。 – Daryl 2016-05-09 16:59:53

+0

@Daryl不在iOS上。 Android支持'capture'属性就是这样。请参见[HTML媒体捕获的正确语法](https://addpipe.com/blog/correct-syntax-html-media-capture/) – 2016-11-09 16:36:07

+0

我应该关闭此功能吗?在用户未过一段时间后弹出照片或视频和照片库弹出窗口点击它。 – Pritish 2017-02-07 08:21:46