在我的手机web应用(不是原生应用)中,我想拍一张照片并上传,但我不想使用Adobe Flash。有什么办法可以做到吗?
当前回答
我不认为你可以——有一个W3C API草案来获取音频或视频,但还没有在任何主要的移动操作系统上实现。
唯一的选择是按照丹尼斯的建议使用PhoneGap。这意味着你需要创造一款原生应用并将其添加到手机应用商店/市场中。
其他回答
更新一下,现在的标准是:
<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/
你可以使用WEBRTC,但不幸的是并非所有的浏览器都支持它。下面是显示哪些浏览器支持它的链接 http://caniuse.com/stream
这个链接让您了解如何访问它(示例代码)。 http://www.html5rocks.com/en/tutorials/getusermedia/intro/
iOS 6+和Android 2.2+上的Safari和Chrome支持HTML Media Capture,允许您使用设备的相机或选择现有的相机拍照:
<输入类型=“文件” 接受=“图像/*”>
以下是它在iOS 10上的工作原理:
Android 3.0+和iOS10.3+上的Safari也支持capture属性,用于直接跳转到相机。
<输入类型=“文件” 接受=“图像/*” 捕获>
capture="camera" (String)和accept="image/*;capture=camera" (Parameter)是旧规范的一部分,并被capture (Boolean)所取代。
支持文档:这本2013年O'Reilly的书和我的测试
如今,至少有了android,这相对容易。只需使用普通的文件输入标签,当用户点击它时,手机会询问用户是否想使用相机(或文件管理器等)上传文件。只要用相机拍一张照片,它就会自动添加和上传。
对iphone一无所知。也许有人能指点一下。 编辑:Iphone的工作原理类似。
输入标签的示例:
<input type="file" accept="image/*" capture="camera">
AppMobi HTML5 SDK曾经承诺通过基于HTML5的应用程序访问本机设备功能(包括摄像头),但现在不再属于谷歌所有。相反,试试这篇文章中基于html5的答案。
推荐文章
- 防止滚动条增加到Chrome页面的宽度
- 使用图像而不是单选按钮
- 我可以嵌套一个<按钮>元素内< >使用HTML5?
- 设置TextView文本从html格式的字符串资源在XML
- 为什么我的球(物体)没有缩小/消失?
- Twitter Bootstrap 3 Sticky Footer
- CSS在特定的“内联块”项之前/之后换行
- 很好的初学者教程socket.io?
- 点击下载Href图片链接
- HtmlSpecialChars在JavaScript中等价于什么?
- 我如何删除背景图像在css?
- 如何克服HTML表单嵌套的限制?
- 如何使Bootstrap 4卡在卡列相同的高度?
- 使用域集图例引导
- 音频停止功能