我将要开发一个可以在Windows 8.1平板电脑上运行的应用程序。一个重要的功能是能够单击按钮来访问相机拍摄一些照片。理想情况下,由于多种原因(许可证,跨平台,开发时间:没有使用 native 应用程序等),我希望将其创建为 Web应用程序而不是 native 应用程序。
我查看了用于从HTML 5捕获图像的选项,并找到了HTML Media Capture,它允许我编写:
<input type="file" accept="image/*" capture="camera" />
访问摄像机。这在iPad和Android平板电脑上效果很好,但我无法在Windows 8平板电脑上使用。我曾尝试在Windows 8平板电脑上使用Chrome,但仍然没有效果。它所要做的就是打开一个文件对话框,从中可以选择要上传的文件。我想要做的是能够捕获新图像。 IE不支持该标准(显然其他浏览器也无法访问设备的摄像头)。
我也偶然发现了Media Capture and Streams,它似乎与显示例如网络摄像头,但可能可用于捕获图像,Chrome和Firefox在其他浏览器中受支持,但Internet Explorer(甚至IE11)仍不支持。不过,这三种浏览器的实现似乎都无法在我的Windows 8.1测试机上运行。如果有人让getUserMedia可以在任何浏览器中的Windows 8平板电脑上运行,我很想听听它。
无论如何,我的主要问题是:是否可以通过Web应用程序使用HTML5在Windows 8平板电脑上访问相机?我看到的仅有的工作示例依赖于使用Active X的IE原型(prototype)实现或使用Flash的解决方案。
编辑:我非常希望将其保留在HTML5/javascript中,因为它必须脱机工作(使用HTML5应用程序缓存)
最佳答案
我为此解决方案付出了很多努力,最后我找到了一个很好的解决方案。但只能在Windows商店应用中使用,例如chrome Windows 8模式(chrome设置->在Windows 8模式中重新启动chrome),然后可以使用html中的常规文件输入标签。当您点击“选择文件”时,您会看到下面的图像。然后,您可以选择相机以从相机中添加拍摄图像。
如果您在列表中看不到相机,则可以在下面安装应用程序。
https://www.microsoft.com/en-US/store/apps/Camera-File-Open-Picker/9WZDNCRFJQVN